From: Ian Jackson Date: Sat, 28 Dec 2019 18:36:31 +0000 (+0000) Subject: Warning reporting: Report each warning only once X-Git-Tag: v0.6.0~249^2~24 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;ds=sidebyside;h=d1f413fb1910af153ed54281decab1696c7357b3;p=secnet.git Warning reporting: Report each warning only once In particular, Prefix and Suffix, or conventional &:include's can generate a lot of repeated warnings. Signed-off-by: Ian Jackson --- diff --git a/generate b/generate index 61bbd50..bae0995 100755 --- a/generate +++ b/generate @@ -198,6 +198,8 @@ sub wrncore ($$) { sub wrn ($$) { my ($wk,$m) = @_; + our %warn_dedupe; + return 0 if $warn_dedupe{$err_file,$.,$wk,$m}++; wrncore($wk, "${err_file}:$.: $m"); } diff --git a/tests/filter/Prefix.sd.mk b/tests/filter/Prefix.sd.mk index da3a735..45f1ac0 100644 --- a/tests/filter/Prefix.sd.mk +++ b/tests/filter/Prefix.sd.mk @@ -1 +1,2 @@ # Prefix in &. +&:warn many-requests-for-unknown-warning diff --git a/tests/filter/stderr.expected b/tests/filter/stderr.expected index 11dab74..fe8b3f2 100644 --- a/tests/filter/stderr.expected +++ b/tests/filter/stderr.expected @@ -1,3 +1,4 @@ +subdirmk: warning (unknown-warning): ./Prefix.sd.mk:2: unknown warning many-requests-for-unknown-warning requested subdirmk: warning (single-char-var): ./Dir.sd.mk:8: possibly confusing unbracketed single-char $-expansion subdirmk: warning (local+global): saw both WARN and &WARN saw WARN at ./Dir.sd.mk:6