Several tests in g++.dg use dg-message with a target list and line number but without the comment field, which is required when those additional arguments are used. The local replacement of dg-message silently ignores errors (something I plan to fix), so the checks have been ignored. Unprocessed notes (as opposed to errors and warning) in compiler output are intentionally ignored, so this wasn't noticed before..
This patch adds the required comments, and the tests now pass on i686-pc-linux-gnu. OK for trunk? Janis
2012-06-28 Janis Johnson <jani...@codesourcery.com> * g++.dg/template/error46.C: Add missing comment to dg-message. * g++.dg/template/crash107.C: Likewise. * g++.dg/template/error47.C: Likewise. * g++.dg/template/crash108.C: Likewise. * g++.dg/overload/operator5.C: Likewise. Index: g++.dg/template/error46.C =================================================================== --- g++.dg/template/error46.C (revision 189025) +++ g++.dg/template/error46.C (working copy) @@ -8,4 +8,4 @@ { foo(A<0>(), A<1>()); // { dg-error "no matching" } } -// { dg-message "candidate|parameter 'N' ('0' and '1')" { target *-*-* } 9 } +// { dg-message "candidate|parameter 'N' ('0' and '1')" "" { target *-*-* } 9 } Index: g++.dg/template/crash107.C =================================================================== --- g++.dg/template/crash107.C (revision 189025) +++ g++.dg/template/crash107.C (working copy) @@ -14,7 +14,7 @@ } }; Vec<double> v(3,4,12); // { dg-error "no matching" } -// { dg-message "note" { target *-*-* } 16 } +// { dg-message "note" "note" { target *-*-* } 16 } Vec<double> V(12,4,3); // { dg-error "no matching" } -// { dg-message "note" { target *-*-* } 18 } +// { dg-message "note" "note" { target *-*-* } 18 } Vec<double> c = v^V; // { dg-message "required" } Index: g++.dg/template/error47.C =================================================================== --- g++.dg/template/error47.C (revision 189025) +++ g++.dg/template/error47.C (working copy) @@ -6,4 +6,4 @@ { foo(0, p); // { dg-error "no matching" } } -// { dg-message "candidate|parameter 'T' ('int' and 'void*')" { target *-*-* } 7 } +// { dg-message "candidate|parameter 'T' ('int' and 'void*')" "" { target *-*-* } 7 } Index: g++.dg/template/crash108.C =================================================================== --- g++.dg/template/crash108.C (revision 189025) +++ g++.dg/template/crash108.C (working copy) @@ -2,4 +2,4 @@ template<class T> struct A {A(int b=k(0));}; // { dg-error "arguments" } void f(int k){A<int> a;} // // { dg-error "parameter|declared" } -// { dg-message "note" { target *-*-* } 3 } +// { dg-message "note" "note" { target *-*-* } 3 } Index: g++.dg/overload/operator5.C =================================================================== --- g++.dg/overload/operator5.C (revision 189025) +++ g++.dg/overload/operator5.C (working copy) @@ -13,4 +13,4 @@ const String& b, bool ignoreCase) { return ignoreCase ? equalIgnoringCase(a, b) : (a == b); } // { dg-error "ambiguous" } -// { dg-message "note" { target *-*-* } 15 } +// { dg-message "note" "note" { target *-*-* } 15 }