From d1f413fb1910af153ed54281decab1696c7357b3 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 28 Dec 2019 18:36:31 +0000 Subject: [PATCH] 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 --- generate | 2 ++ tests/filter/Prefix.sd.mk | 1 + tests/filter/stderr.expected | 1 + 3 files changed, 4 insertions(+) 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 -- 2.30.2