diff options
author | Janis Johnson <janis187@us.ibm.com> | 2008-09-18 22:29:39 +0000 |
---|---|---|
committer | Janis Johnson <janis@gcc.gnu.org> | 2008-09-18 22:29:39 +0000 |
commit | 48ca24b27a247da85e83945702b547e5241f14ad (patch) | |
tree | 3f57578e9e6379fbd49d7464a45a2575c8a5cf34 /gcc | |
parent | faae4ae73f955ae9049f540fc7199e583a1d781e (diff) | |
download | gcc-48ca24b27a247da85e83945702b547e5241f14ad.zip gcc-48ca24b27a247da85e83945702b547e5241f14ad.tar.gz gcc-48ca24b27a247da85e83945702b547e5241f14ad.tar.bz2 |
re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings)
PR testsuite/25241
* lib/g++.exp (g++_init): Enable overrides of dg-error, dg-warning
for C++ tests.
* g++.dg/conversion/ambig1.C: Clean up dg-error/dg-warning; use
dg-message for notes.
* g++.dg/conversion/simd1.C: Ditto.
* g++.dg/conversion/simd3.C: Ditto.
* g++.dg/cpp0x/rv2n.C: Ditto.
* g++.dg/cpp0x/rv3n.C: Ditto.
* g++.dg/cpp0x/rv4n.C: Ditto.
* g++.dg/cpp0x/rv5n.C: Ditto.
* g++.dg/cpp0x/rv6n.C: Ditto.
* g++.dg/cpp0x/rv7n.C: Ditto.
* g++.dg/cpp0x/variadic36.C: Ditto.
* g++.dg/cpp0x/variadic59.C: Ditto.
* g++.dg/cpp0x/variadic71.C: Ditto.
* g++.dg/cpp0x/variadic-ex13.C: Ditto.
* g++.dg/expr/cond9.C: Ditto.
* g++.dg/expr/pmf-1.C: Ditto.
* g++.dg/ext/case-range2.C: Ditto.
* g++.dg/ext/case-range3.C: Ditto.
* g++.dg/ext/is_class_error2.C: Ditto.
* g++.dg/ext/label5.C: Ditto.
* g++.dg/ext/pr27019.C: Ditto.
* g++.dg/gomp/pr26690-1.C: Ditto.
* g++.dg/gomp/pr26690-2.C: Ditto.
* g++.dg/gomp/pr34694.C: Ditto.
* g++.dg/gomp/tpl-parallel-2.C: Ditto.
* g++.dg/inherit/base3.C: Ditto.
* g++.dg/inherit/using6.C: Ditto.
* g++.dg/init/brace6.C: Ditto.
* g++.dg/init/ctor4.C: Ditto.
* g++.dg/lookup/conv-1.C: Ditto.
* g++.dg/lookup/new1.C: Ditto.
* g++.dg/lookup/scoped6.C: Ditto.
* g++.dg/lookup/using7.C: Ditto.
* g++.dg/lookup/using9.C: Ditto.
* g++.dg/other/abstract1.C: Ditto.
* g++.dg/other/abstract2.C: Ditto.
* g++.dg/other/anon5.C: Ditto.
* g++.dg/other/crash-4.C: Ditto.
* g++.dg/other/error10.C: Ditto.
* g++.dg/other/error13.C: Ditto.
* g++.dg/other/error20.C: Ditto.
* g++.dg/other/error5.C: Ditto.
* g++.dg/other/field1.C: Ditto.
* g++.dg/other/offsetof5.C: Ditto.
* g++.dg/other/semicolon.C: Ditto.
* g++.dg/overload/ambig1.C: Ditto.
* g++.dg/overload/arg3.C: Ditto.
* g++.dg/overload/builtin1.C: Ditto.
* g++.dg/overload/copy1.C: Ditto.
* g++.dg/overload/new1.C: Ditto.
* g++.dg/overload/template4.C: Ditto.
* g++.dg/overload/using2.C: Ditto.
* g++.dg/parse/bitfield2.C: Ditto.
* g++.dg/parse/constant4.C: Ditto.
* g++.dg/parse/crash20.C: Ditto.
* g++.dg/parse/crash36.C: Ditto.
* g++.dg/parse/crash5.C: Ditto.
* g++.dg/parse/error11.C: Ditto.
* g++.dg/parse/error12.C: Ditto.
* g++.dg/parse/error19.C: Ditto.
* g++.dg/parse/error28.C: Ditto.
* g++.dg/parse/friend5.C: Ditto.
* g++.dg/parse/invalid-op1.C: Ditto.
* g++.dg/parse/missing-template1.C: Ditto.
* g++.dg/parse/non-dependent2.C: Ditto.
* g++.dg/parse/ret-type2.C: Ditto.
* g++.dg/parse/specialization1.C: Ditto.
* g++.dg/parse/template18.C: Ditto.
* g++.dg/parse/template3.C: Ditto.
* g++.dg/parse/template9.C: Ditto.
* g++.dg/tc1/dr108.C: Ditto.
* g++.dg/tc1/dr152.C: Ditto.
* g++.dg/tc1/dr166.C: Ditto.
* g++.dg/template/access11.C: Ditto.
* g++.dg/template/access2.C: Ditto.
* g++.dg/template/access3.C: Ditto.
* g++.dg/template/access7.C: Ditto.
* g++.dg/template/copy1.C: Ditto.
* g++.dg/template/crash13.C: Ditto.
* g++.dg/template/crash37.C: Ditto.
* g++.dg/template/crash40.C: Ditto.
* g++.dg/template/crash58.C: Ditto.
* g++.dg/template/ctor5.C: Ditto.
* g++.dg/template/dependent-expr5.C: Ditto.
* g++.dg/template/eh2.C: Ditto.
* g++.dg/template/error2.C: Ditto.
* g++.dg/template/error33.C: Ditto.
* g++.dg/template/error4.C: Ditto.
* g++.dg/template/friend31.C: Ditto.
* g++.dg/template/friend32.C: Ditto.
* g++.dg/template/instantiate1.C: Ditto.
* g++.dg/template/instantiate3.C: Ditto.
* g++.dg/template/instantiate5.C: Ditto.
* g++.dg/template/instantiate7.C: Ditto.
* g++.dg/template/local6.C: Ditto.
* g++.dg/template/lookup2.C: Ditto.
* g++.dg/template/member5.C: Ditto.
* g++.dg/template/memfriend15.C: Ditto.
* g++.dg/template/memfriend16.C: Ditto.
* g++.dg/template/memfriend17.C: Ditto.
* g++.dg/template/memfriend7.C: Ditto.
* g++.dg/template/meminit1.C: Ditto.
* g++.dg/template/nested3.C: Ditto.
* g++.dg/template/new3.C: Ditto.
* g++.dg/template/nontype12.C: Ditto.
* g++.dg/template/nontype13.C: Ditto.
* g++.dg/template/nontype6.C: Ditto.
* g++.dg/template/non-type-template-argument-1.C: Ditto.
* g++.dg/template/overload9.C: Ditto.
* g++.dg/template/ptrmem15.C: Ditto.
* g++.dg/template/ptrmem17.C: Ditto.
* g++.dg/template/ptrmem4.C: Ditto.
* g++.dg/template/ptrmem6.C: Ditto.
* g++.dg/template/ptrmem8.C: Ditto.
* g++.dg/template/qualified-id1.C: Ditto.
* g++.dg/template/qualttp20.C: Ditto.
* g++.dg/template/qualttp3.C: Ditto.
* g++.dg/template/qualttp4.C: Ditto.
* g++.dg/template/qualttp5.C: Ditto.
* g++.dg/template/qualttp6.C: Ditto.
* g++.dg/template/qualttp7.C: Ditto.
* g++.dg/template/qualttp8.C: Ditto.
* g++.dg/template/recurse.C: Ditto.
* g++.dg/template/sfinae10.C: Ditto.
* g++.dg/template/sfinae3.C: Ditto.
* g++.dg/template/spec22.C: Ditto.
* g++.dg/template/spec23.C: Ditto.
* g++.dg/template/static9.C: Ditto.
* g++.dg/template/template-id-2.C: Ditto.
* g++.dg/template/typename2.C: Ditto.
* g++.dg/template/typename4.C: Ditto.
* g++.dg/template/using14.C: Ditto.
* g++.dg/template/using2.C: Ditto.
* g++.dg/template/warn1.C: Ditto.
* g++.dg/warn/incomplete1.C: Ditto.
* g++.dg/warn/noeffect2.C: Ditto.
* g++.dg/warn/noeffect4.C: Ditto.
* g++.dg/warn/pr8570.C: Ditto.
* g++.dg/warn/Wparentheses-13.C: Ditto.
* g++.dg/warn/Wparentheses-15.C: Ditto.
* g++.dg/warn/Wparentheses-16.C: Ditto.
* g++.dg/warn/Wparentheses-17.C: Ditto.
* g++.dg/warn/Wparentheses-18.C: Ditto.
* g++.dg/warn/Wparentheses-19.C: Ditto.
* g++.dg/warn/Wparentheses-20.C: Ditto.
* g++.dg/warn/Wparentheses-23.C: Ditto.
* g++.dg/warn/Wstrict-aliasing-3.C: Ditto.
* g++.old-deja/g++.benjamin/15799.C: Ditto.
* g++.old-deja/g++.benjamin/15800-1.C: Ditto.
* g++.old-deja/g++.benjamin/16077.C: Ditto.
* g++.old-deja/g++.bob/inherit2.C: Ditto.
* g++.old-deja/g++.brendan/ambiguity1.C: Ditto.
* g++.old-deja/g++.brendan/crash29.C: Ditto.
* g++.old-deja/g++.brendan/crash48.C: Ditto.
* g++.old-deja/g++.brendan/crash56.C: Ditto.
* g++.old-deja/g++.brendan/cvt3.C: Ditto.
* g++.old-deja/g++.brendan/overload1.C: Ditto.
* g++.old-deja/g++.brendan/overload4.C: Ditto.
* g++.old-deja/g++.brendan/overload9.C: Ditto.
* g++.old-deja/g++.bugs/900127_01.C: Ditto.
* g++.old-deja/g++.bugs/900205_04.C: Ditto.
* g++.old-deja/g++.bugs/900330_02.C: Ditto.
* g++.old-deja/g++.bugs/900404_03.C: Ditto.
* g++.old-deja/g++.bugs/900514_03.C: Ditto.
* g++.old-deja/g++.eh/ctor1.C: Ditto.
* g++.old-deja/g++.eh/spec6.C: Ditto.
* g++.old-deja/g++.ext/overload1.C: Ditto.
* g++.old-deja/g++.jason/conversion11.C: Ditto.
* g++.old-deja/g++.jason/crash3.C: Ditto.
* g++.old-deja/g++.jason/lineno3.C: Ditto.
* g++.old-deja/g++.jason/lineno4.C: Ditto.
* g++.old-deja/g++.jason/opeq3.C: Ditto.
* g++.old-deja/g++.jason/overload16.C: Ditto.
* g++.old-deja/g++.jason/overload28.C: Ditto.
* g++.old-deja/g++.jason/pmf5.C: Ditto.
* g++.old-deja/g++.jason/scoping10.C: Ditto.
* g++.old-deja/g++.jason/template30.C: Ditto.
* g++.old-deja/g++.jason/temporary2.C: Ditto.
* g++.old-deja/g++.jason/tredecl4.C: Ditto.
* g++.old-deja/g++.law/arg11.C: Ditto.
* g++.old-deja/g++.law/arg1.C: Ditto.
* g++.old-deja/g++.law/arm9.C: Ditto.
* g++.old-deja/g++.law/ctors11.C: Ditto.
* g++.old-deja/g++.law/ctors17.C: Ditto.
* g++.old-deja/g++.law/ctors5.C: Ditto.
* g++.old-deja/g++.law/ctors9.C: Ditto.
* g++.old-deja/g++.law/enum4.C: Ditto.
* g++.old-deja/g++.law/missed-error2.C: Ditto.
* g++.old-deja/g++.law/operators9.C: Ditto.
* g++.old-deja/g++.mike/net22.C: Ditto.
* g++.old-deja/g++.mike/net2.C: Ditto.
* g++.old-deja/g++.mike/p11110.C: Ditto.
* g++.old-deja/g++.mike/p1989.C: Ditto.
* g++.old-deja/g++.mike/p2431.C: Ditto.
* g++.old-deja/g++.mike/p438.C: Ditto.
* g++.old-deja/g++.mike/p807a.C: Ditto.
* g++.old-deja/g++.mike/p9068.C: Ditto.
* g++.old-deja/g++.niklas/t120.C: Ditto.
* g++.old-deja/g++.niklas/t121.C: Ditto.
* g++.old-deja/g++.niklas/t128.C: Ditto.
* g++.old-deja/g++.ns/overload2.C: Ditto.
* g++.old-deja/g++.ns/template13.C: Ditto.
* g++.old-deja/g++.ns/using12.C: Ditto.
* g++.old-deja/g++.oliva/delete1.C: Ditto.
* g++.old-deja/g++.oliva/overload1.C: Ditto.
* g++.old-deja/g++.other/crash24.C: Ditto.
* g++.old-deja/g++.other/crash25.C: Ditto.
* g++.old-deja/g++.other/decl3.C: Ditto.
* g++.old-deja/g++.other/expr1.C: Ditto.
* g++.old-deja/g++.other/overcnv2.C: Ditto.
* g++.old-deja/g++.other/overload11.C: Ditto.
* g++.old-deja/g++.other/pmf3.C: Ditto.
* g++.old-deja/g++.other/ptrmem7.C: Ditto.
* g++.old-deja/g++.other/vaarg3.C: Ditto.
* g++.old-deja/g++.other/volatile1.C: Ditto.
* g++.old-deja/g++.pt/assign1.C: Ditto.
* g++.old-deja/g++.pt/auto_ptr.C: Ditto.
* g++.old-deja/g++.pt/const2.C: Ditto.
* g++.old-deja/g++.pt/crash10.C: Ditto.
* g++.old-deja/g++.pt/crash20.C: Ditto.
* g++.old-deja/g++.pt/crash36.C: Ditto.
* g++.old-deja/g++.pt/crash38.C: Ditto.
* g++.old-deja/g++.pt/derived3.C: Ditto.
* g++.old-deja/g++.pt/error2.C: Ditto.
* g++.old-deja/g++.pt/explicit34.C: Ditto.
* g++.old-deja/g++.pt/explicit70.C: Ditto.
* g++.old-deja/g++.pt/friend23.C: Ditto.
* g++.old-deja/g++.pt/ptrmem10.C: Ditto.
* g++.old-deja/g++.pt/redecl1.C: Ditto.
* g++.old-deja/g++.pt/spec35.C: Ditto.
* g++.old-deja/g++.pt/t05.C: Ditto.
* g++.old-deja/g++.pt/typename3.C: Ditto.
* g++.old-deja/g++.pt/typename6.C: Ditto.
* g++.old-deja/g++.pt/unify8.C: Ditto.
* g++.old-deja/g++.pt/vaarg3.C: Ditto.
* g++.old-deja/g++.robertl/eb109.C: Ditto.
* g++.old-deja/g++.robertl/eb131.C: Ditto.
* g++.old-deja/g++.robertl/eb22.C: Ditto.
* g++.old-deja/g++.robertl/eb44.C: Ditto.
* g++.old-deja/g++.robertl/eb4.C: Ditto.
* g++.old-deja/g++.robertl/eb69.C: Ditto.
* g++.dg/parse/constructor1.C: Remove "error" from dg-error, preserving
column number.
* g++.dg/parse/error10.C: Ditto.
* g++.dg/parse/error13.C: Ditto.
* g++.dg/parse/error14.C: Ditto.
* g++.dg/parse/error15.C: Ditto.
* g++.dg/parse/error16.C: Ditto.
* g++.dg/parse/error17.C: Ditto.
* g++.dg/parse/error18.C: Ditto.
* g++.dg/parse/error1.C: Ditto.
* g++.dg/parse/error20.C: Ditto.
* g++.dg/parse/error21.C: Ditto.
* g++.dg/parse/error22.C: Ditto.
* g++.dg/parse/error23.C: Ditto.
* g++.dg/parse/error24.C: Ditto.
* g++.dg/parse/error25.C: Ditto.
* g++.dg/parse/error26.C: Ditto.
* g++.dg/parse/error27.C: Ditto.
* g++.dg/parse/error29.C: Ditto.
* g++.dg/parse/error2.C: Ditto.
* g++.dg/parse/error30.C: Ditto.
* g++.dg/parse/error31.C: Ditto.
* g++.dg/parse/error3.C: Ditto.
* g++.dg/parse/error4.C: Ditto.
* g++.dg/parse/error5.C: Ditto.
* g++.dg/parse/error6.C: Ditto.
* g++.dg/parse/error7.C: Ditto.
* g++.dg/parse/error8.C: Ditto.
* g++.dg/parse/error9.C: Ditto.
* g++.dg/parse/error-column.C: Ditto.
* g++.dg/template/crash80.C: Ditto.
* g++.dg/template/friend44.C: Ditto.
* g++.dg/warn/pr26785.C: Ditto.
* g++.old-deja/g++.brendan/crash16.C: Ditto.
From-SVN: r140476
Diffstat (limited to 'gcc')
275 files changed, 1599 insertions, 1209 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 66f16b1..47885fe 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,284 @@ +2008-09-18 Janis Johnson <janis187@us.ibm.com> + + PR testsuite/25241 + * lib/g++.exp (g++_init): Enable overrides of dg-error, dg-warning + for C++ tests. + * g++.dg/conversion/ambig1.C: Clean up dg-error/dg-warning; use + dg-message for notes. + * g++.dg/conversion/simd1.C: Ditto. + * g++.dg/conversion/simd3.C: Ditto. + * g++.dg/cpp0x/rv2n.C: Ditto. + * g++.dg/cpp0x/rv3n.C: Ditto. + * g++.dg/cpp0x/rv4n.C: Ditto. + * g++.dg/cpp0x/rv5n.C: Ditto. + * g++.dg/cpp0x/rv6n.C: Ditto. + * g++.dg/cpp0x/rv7n.C: Ditto. + * g++.dg/cpp0x/variadic36.C: Ditto. + * g++.dg/cpp0x/variadic59.C: Ditto. + * g++.dg/cpp0x/variadic71.C: Ditto. + * g++.dg/cpp0x/variadic-ex13.C: Ditto. + * g++.dg/expr/cond9.C: Ditto. + * g++.dg/expr/pmf-1.C: Ditto. + * g++.dg/ext/case-range2.C: Ditto. + * g++.dg/ext/case-range3.C: Ditto. + * g++.dg/ext/is_class_error2.C: Ditto. + * g++.dg/ext/label5.C: Ditto. + * g++.dg/ext/pr27019.C: Ditto. + * g++.dg/gomp/pr26690-1.C: Ditto. + * g++.dg/gomp/pr26690-2.C: Ditto. + * g++.dg/gomp/pr34694.C: Ditto. + * g++.dg/gomp/tpl-parallel-2.C: Ditto. + * g++.dg/inherit/base3.C: Ditto. + * g++.dg/inherit/using6.C: Ditto. + * g++.dg/init/brace6.C: Ditto. + * g++.dg/init/ctor4.C: Ditto. + * g++.dg/lookup/conv-1.C: Ditto. + * g++.dg/lookup/new1.C: Ditto. + * g++.dg/lookup/scoped6.C: Ditto. + * g++.dg/lookup/using7.C: Ditto. + * g++.dg/lookup/using9.C: Ditto. + * g++.dg/other/abstract1.C: Ditto. + * g++.dg/other/abstract2.C: Ditto. + * g++.dg/other/anon5.C: Ditto. + * g++.dg/other/crash-4.C: Ditto. + * g++.dg/other/error10.C: Ditto. + * g++.dg/other/error13.C: Ditto. + * g++.dg/other/error20.C: Ditto. + * g++.dg/other/error5.C: Ditto. + * g++.dg/other/field1.C: Ditto. + * g++.dg/other/offsetof5.C: Ditto. + * g++.dg/other/semicolon.C: Ditto. + * g++.dg/overload/ambig1.C: Ditto. + * g++.dg/overload/arg3.C: Ditto. + * g++.dg/overload/builtin1.C: Ditto. + * g++.dg/overload/copy1.C: Ditto. + * g++.dg/overload/new1.C: Ditto. + * g++.dg/overload/template4.C: Ditto. + * g++.dg/overload/using2.C: Ditto. + * g++.dg/parse/bitfield2.C: Ditto. + * g++.dg/parse/constant4.C: Ditto. + * g++.dg/parse/crash20.C: Ditto. + * g++.dg/parse/crash36.C: Ditto. + * g++.dg/parse/crash5.C: Ditto. + * g++.dg/parse/error11.C: Ditto. + * g++.dg/parse/error12.C: Ditto. + * g++.dg/parse/error19.C: Ditto. + * g++.dg/parse/error28.C: Ditto. + * g++.dg/parse/friend5.C: Ditto. + * g++.dg/parse/invalid-op1.C: Ditto. + * g++.dg/parse/missing-template1.C: Ditto. + * g++.dg/parse/non-dependent2.C: Ditto. + * g++.dg/parse/ret-type2.C: Ditto. + * g++.dg/parse/specialization1.C: Ditto. + * g++.dg/parse/template18.C: Ditto. + * g++.dg/parse/template3.C: Ditto. + * g++.dg/parse/template9.C: Ditto. + * g++.dg/tc1/dr108.C: Ditto. + * g++.dg/tc1/dr152.C: Ditto. + * g++.dg/tc1/dr166.C: Ditto. + * g++.dg/template/access11.C: Ditto. + * g++.dg/template/access2.C: Ditto. + * g++.dg/template/access3.C: Ditto. + * g++.dg/template/access7.C: Ditto. + * g++.dg/template/copy1.C: Ditto. + * g++.dg/template/crash13.C: Ditto. + * g++.dg/template/crash37.C: Ditto. + * g++.dg/template/crash40.C: Ditto. + * g++.dg/template/crash58.C: Ditto. + * g++.dg/template/ctor5.C: Ditto. + * g++.dg/template/dependent-expr5.C: Ditto. + * g++.dg/template/eh2.C: Ditto. + * g++.dg/template/error2.C: Ditto. + * g++.dg/template/error33.C: Ditto. + * g++.dg/template/error4.C: Ditto. + * g++.dg/template/friend31.C: Ditto. + * g++.dg/template/friend32.C: Ditto. + * g++.dg/template/instantiate1.C: Ditto. + * g++.dg/template/instantiate3.C: Ditto. + * g++.dg/template/instantiate5.C: Ditto. + * g++.dg/template/instantiate7.C: Ditto. + * g++.dg/template/local6.C: Ditto. + * g++.dg/template/lookup2.C: Ditto. + * g++.dg/template/member5.C: Ditto. + * g++.dg/template/memfriend15.C: Ditto. + * g++.dg/template/memfriend16.C: Ditto. + * g++.dg/template/memfriend17.C: Ditto. + * g++.dg/template/memfriend7.C: Ditto. + * g++.dg/template/meminit1.C: Ditto. + * g++.dg/template/nested3.C: Ditto. + * g++.dg/template/new3.C: Ditto. + * g++.dg/template/nontype12.C: Ditto. + * g++.dg/template/nontype13.C: Ditto. + * g++.dg/template/nontype6.C: Ditto. + * g++.dg/template/non-type-template-argument-1.C: Ditto. + * g++.dg/template/overload9.C: Ditto. + * g++.dg/template/ptrmem15.C: Ditto. + * g++.dg/template/ptrmem17.C: Ditto. + * g++.dg/template/ptrmem4.C: Ditto. + * g++.dg/template/ptrmem6.C: Ditto. + * g++.dg/template/ptrmem8.C: Ditto. + * g++.dg/template/qualified-id1.C: Ditto. + * g++.dg/template/qualttp20.C: Ditto. + * g++.dg/template/qualttp3.C: Ditto. + * g++.dg/template/qualttp4.C: Ditto. + * g++.dg/template/qualttp5.C: Ditto. + * g++.dg/template/qualttp6.C: Ditto. + * g++.dg/template/qualttp7.C: Ditto. + * g++.dg/template/qualttp8.C: Ditto. + * g++.dg/template/recurse.C: Ditto. + * g++.dg/template/sfinae10.C: Ditto. + * g++.dg/template/sfinae3.C: Ditto. + * g++.dg/template/spec22.C: Ditto. + * g++.dg/template/spec23.C: Ditto. + * g++.dg/template/static9.C: Ditto. + * g++.dg/template/template-id-2.C: Ditto. + * g++.dg/template/typename2.C: Ditto. + * g++.dg/template/typename4.C: Ditto. + * g++.dg/template/using14.C: Ditto. + * g++.dg/template/using2.C: Ditto. + * g++.dg/template/warn1.C: Ditto. + * g++.dg/warn/incomplete1.C: Ditto. + * g++.dg/warn/noeffect2.C: Ditto. + * g++.dg/warn/noeffect4.C: Ditto. + * g++.dg/warn/pr8570.C: Ditto. + * g++.dg/warn/Wparentheses-13.C: Ditto. + * g++.dg/warn/Wparentheses-15.C: Ditto. + * g++.dg/warn/Wparentheses-16.C: Ditto. + * g++.dg/warn/Wparentheses-17.C: Ditto. + * g++.dg/warn/Wparentheses-18.C: Ditto. + * g++.dg/warn/Wparentheses-19.C: Ditto. + * g++.dg/warn/Wparentheses-20.C: Ditto. + * g++.dg/warn/Wparentheses-23.C: Ditto. + * g++.dg/warn/Wstrict-aliasing-3.C: Ditto. + * g++.old-deja/g++.benjamin/15799.C: Ditto. + * g++.old-deja/g++.benjamin/15800-1.C: Ditto. + * g++.old-deja/g++.benjamin/16077.C: Ditto. + * g++.old-deja/g++.bob/inherit2.C: Ditto. + * g++.old-deja/g++.brendan/ambiguity1.C: Ditto. + * g++.old-deja/g++.brendan/crash29.C: Ditto. + * g++.old-deja/g++.brendan/crash48.C: Ditto. + * g++.old-deja/g++.brendan/crash56.C: Ditto. + * g++.old-deja/g++.brendan/cvt3.C: Ditto. + * g++.old-deja/g++.brendan/overload1.C: Ditto. + * g++.old-deja/g++.brendan/overload4.C: Ditto. + * g++.old-deja/g++.brendan/overload9.C: Ditto. + * g++.old-deja/g++.bugs/900127_01.C: Ditto. + * g++.old-deja/g++.bugs/900205_04.C: Ditto. + * g++.old-deja/g++.bugs/900330_02.C: Ditto. + * g++.old-deja/g++.bugs/900404_03.C: Ditto. + * g++.old-deja/g++.bugs/900514_03.C: Ditto. + * g++.old-deja/g++.eh/ctor1.C: Ditto. + * g++.old-deja/g++.eh/spec6.C: Ditto. + * g++.old-deja/g++.ext/overload1.C: Ditto. + * g++.old-deja/g++.jason/conversion11.C: Ditto. + * g++.old-deja/g++.jason/crash3.C: Ditto. + * g++.old-deja/g++.jason/lineno3.C: Ditto. + * g++.old-deja/g++.jason/lineno4.C: Ditto. + * g++.old-deja/g++.jason/opeq3.C: Ditto. + * g++.old-deja/g++.jason/overload16.C: Ditto. + * g++.old-deja/g++.jason/overload28.C: Ditto. + * g++.old-deja/g++.jason/pmf5.C: Ditto. + * g++.old-deja/g++.jason/scoping10.C: Ditto. + * g++.old-deja/g++.jason/template30.C: Ditto. + * g++.old-deja/g++.jason/temporary2.C: Ditto. + * g++.old-deja/g++.jason/tredecl4.C: Ditto. + * g++.old-deja/g++.law/arg11.C: Ditto. + * g++.old-deja/g++.law/arg1.C: Ditto. + * g++.old-deja/g++.law/arm9.C: Ditto. + * g++.old-deja/g++.law/ctors11.C: Ditto. + * g++.old-deja/g++.law/ctors17.C: Ditto. + * g++.old-deja/g++.law/ctors5.C: Ditto. + * g++.old-deja/g++.law/ctors9.C: Ditto. + * g++.old-deja/g++.law/enum4.C: Ditto. + * g++.old-deja/g++.law/missed-error2.C: Ditto. + * g++.old-deja/g++.law/operators9.C: Ditto. + * g++.old-deja/g++.mike/net22.C: Ditto. + * g++.old-deja/g++.mike/net2.C: Ditto. + * g++.old-deja/g++.mike/p11110.C: Ditto. + * g++.old-deja/g++.mike/p1989.C: Ditto. + * g++.old-deja/g++.mike/p2431.C: Ditto. + * g++.old-deja/g++.mike/p438.C: Ditto. + * g++.old-deja/g++.mike/p807a.C: Ditto. + * g++.old-deja/g++.mike/p9068.C: Ditto. + * g++.old-deja/g++.niklas/t120.C: Ditto. + * g++.old-deja/g++.niklas/t121.C: Ditto. + * g++.old-deja/g++.niklas/t128.C: Ditto. + * g++.old-deja/g++.ns/overload2.C: Ditto. + * g++.old-deja/g++.ns/template13.C: Ditto. + * g++.old-deja/g++.ns/using12.C: Ditto. + * g++.old-deja/g++.oliva/delete1.C: Ditto. + * g++.old-deja/g++.oliva/overload1.C: Ditto. + * g++.old-deja/g++.other/crash24.C: Ditto. + * g++.old-deja/g++.other/crash25.C: Ditto. + * g++.old-deja/g++.other/decl3.C: Ditto. + * g++.old-deja/g++.other/expr1.C: Ditto. + * g++.old-deja/g++.other/overcnv2.C: Ditto. + * g++.old-deja/g++.other/overload11.C: Ditto. + * g++.old-deja/g++.other/pmf3.C: Ditto. + * g++.old-deja/g++.other/ptrmem7.C: Ditto. + * g++.old-deja/g++.other/vaarg3.C: Ditto. + * g++.old-deja/g++.other/volatile1.C: Ditto. + * g++.old-deja/g++.pt/assign1.C: Ditto. + * g++.old-deja/g++.pt/auto_ptr.C: Ditto. + * g++.old-deja/g++.pt/const2.C: Ditto. + * g++.old-deja/g++.pt/crash10.C: Ditto. + * g++.old-deja/g++.pt/crash20.C: Ditto. + * g++.old-deja/g++.pt/crash36.C: Ditto. + * g++.old-deja/g++.pt/crash38.C: Ditto. + * g++.old-deja/g++.pt/derived3.C: Ditto. + * g++.old-deja/g++.pt/error2.C: Ditto. + * g++.old-deja/g++.pt/explicit34.C: Ditto. + * g++.old-deja/g++.pt/explicit70.C: Ditto. + * g++.old-deja/g++.pt/friend23.C: Ditto. + * g++.old-deja/g++.pt/ptrmem10.C: Ditto. + * g++.old-deja/g++.pt/redecl1.C: Ditto. + * g++.old-deja/g++.pt/spec35.C: Ditto. + * g++.old-deja/g++.pt/t05.C: Ditto. + * g++.old-deja/g++.pt/typename3.C: Ditto. + * g++.old-deja/g++.pt/typename6.C: Ditto. + * g++.old-deja/g++.pt/unify8.C: Ditto. + * g++.old-deja/g++.pt/vaarg3.C: Ditto. + * g++.old-deja/g++.robertl/eb109.C: Ditto. + * g++.old-deja/g++.robertl/eb131.C: Ditto. + * g++.old-deja/g++.robertl/eb22.C: Ditto. + * g++.old-deja/g++.robertl/eb44.C: Ditto. + * g++.old-deja/g++.robertl/eb4.C: Ditto. + * g++.old-deja/g++.robertl/eb69.C: Ditto. + * g++.dg/parse/constructor1.C: Remove "error" from dg-error, preserving + column number. + * g++.dg/parse/error10.C: Ditto. + * g++.dg/parse/error13.C: Ditto. + * g++.dg/parse/error14.C: Ditto. + * g++.dg/parse/error15.C: Ditto. + * g++.dg/parse/error16.C: Ditto. + * g++.dg/parse/error17.C: Ditto. + * g++.dg/parse/error18.C: Ditto. + * g++.dg/parse/error1.C: Ditto. + * g++.dg/parse/error20.C: Ditto. + * g++.dg/parse/error21.C: Ditto. + * g++.dg/parse/error22.C: Ditto. + * g++.dg/parse/error23.C: Ditto. + * g++.dg/parse/error24.C: Ditto. + * g++.dg/parse/error25.C: Ditto. + * g++.dg/parse/error26.C: Ditto. + * g++.dg/parse/error27.C: Ditto. + * g++.dg/parse/error29.C: Ditto. + * g++.dg/parse/error2.C: Ditto. + * g++.dg/parse/error30.C: Ditto. + * g++.dg/parse/error31.C: Ditto. + * g++.dg/parse/error3.C: Ditto. + * g++.dg/parse/error4.C: Ditto. + * g++.dg/parse/error5.C: Ditto. + * g++.dg/parse/error6.C: Ditto. + * g++.dg/parse/error7.C: Ditto. + * g++.dg/parse/error8.C: Ditto. + * g++.dg/parse/error9.C: Ditto. + * g++.dg/parse/error-column.C: Ditto. + * g++.dg/template/crash80.C: Ditto. + * g++.dg/template/friend44.C: Ditto. + * g++.dg/warn/pr26785.C: Ditto. + * g++.old-deja/g++.brendan/crash16.C: Ditto. + 2008-09-18 H.J. Lu <hongjiu.lu@intel.com> PR target/37394 diff --git a/gcc/testsuite/g++.dg/conversion/ambig1.C b/gcc/testsuite/g++.dg/conversion/ambig1.C index 42ac403..1db1667 100644 --- a/gcc/testsuite/g++.dg/conversion/ambig1.C +++ b/gcc/testsuite/g++.dg/conversion/ambig1.C @@ -1,8 +1,8 @@ // PR c++/19787 struct H { - operator char(); // { dg-error "" } - operator short(); // { dg-error "" } + operator char(); // { dg-message "note" } + operator short(); // { dg-message "note" } }; -int const& ref = H(); // { dg-error "" } +int const& ref = H(); // { dg-error "ambiguous" } diff --git a/gcc/testsuite/g++.dg/conversion/simd1.C b/gcc/testsuite/g++.dg/conversion/simd1.C index 0a5302d..06cdc1a 100644 --- a/gcc/testsuite/g++.dg/conversion/simd1.C +++ b/gcc/testsuite/g++.dg/conversion/simd1.C @@ -5,9 +5,9 @@ #define vector __attribute__((vector_size(16))) -vector signed int vld (int a1, const vector signed int *a2) { return *a2; } /* { dg-error "vld" } */ +vector signed int vld (int a1, const vector signed int *a2) { return *a2; } /* { dg-message "vld" } */ /* { dg-warning "vector returned by ref" "" { target { powerpc*-*-linux* && ilp32 } } 8 } */ -vector signed short vld (int a1, const vector signed short *a2) { return *a2; } /* { dg-error "vld" } */ +vector signed short vld (int a1, const vector signed short *a2) { return *a2; } /* { dg-message "vld" } */ extern int i; extern vector signed short vss; diff --git a/gcc/testsuite/g++.dg/conversion/simd3.C b/gcc/testsuite/g++.dg/conversion/simd3.C index cdc2ed6..7aea544 100644 --- a/gcc/testsuite/g++.dg/conversion/simd3.C +++ b/gcc/testsuite/g++.dg/conversion/simd3.C @@ -10,6 +10,6 @@ unsigned int __attribute__((vector_size(16))) e; void foo() { b + d; /* { dg-error "invalid operands to binary" } */ - d += e; /* { dg-error "use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts.*cannot convert 'unsigned int __vector__' to 'int __vector__' in assignment" } */ + d += e; /* { dg-message "use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts.*cannot convert 'unsigned int __vector__' to 'int __vector__' in assignment" } */ d2 += d; } diff --git a/gcc/testsuite/g++.dg/cpp0x/rv2n.C b/gcc/testsuite/g++.dg/cpp0x/rv2n.C index df35358..a4c11c6 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv2n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv2n.C @@ -30,8 +30,8 @@ const volatile A cv_source(); // 2 at a time -one sink_2_12( A&); // { dg-error "" } -two sink_2_12(const A&); // { dg-error "" } +one sink_2_12( A&); // { dg-message "candidates" } +two sink_2_12(const A&); // { dg-message "note" } int test2_12() { @@ -46,8 +46,8 @@ int test2_12() return 0; } -one sink_2_13( A&); // { dg-error "" } -three sink_2_13(volatile A&); // { dg-error "" } +one sink_2_13( A&); // { dg-message "candidates" } +three sink_2_13(volatile A&); // { dg-message "note" } int test2_13() { @@ -64,8 +64,8 @@ int test2_13() return 0; } -one sink_2_14( A&); // { dg-error "" } -four sink_2_14(const volatile A&); // { dg-error "" } +one sink_2_14( A&); // { dg-message "candidates" } +four sink_2_14(const volatile A&); // { dg-message "note" } int test2_14() { @@ -80,8 +80,8 @@ int test2_14() return 0; } -one sink_2_15( A&); // { dg-error "" } -five sink_2_15( A&&); // { dg-error "" } +one sink_2_15( A&); // { dg-message "candidates" } +five sink_2_15( A&&); // { dg-message "note" } int test2_15() { @@ -98,8 +98,8 @@ int test2_15() return 0; } -one sink_2_16( A&); // { dg-error "" } -six sink_2_16(const A&&); // { dg-error "" } +one sink_2_16( A&); // { dg-message "candidates" } +six sink_2_16(const A&&); // { dg-message "note" } int test2_16() { @@ -114,8 +114,8 @@ int test2_16() return 0; } -one sink_2_17( A&); // { dg-error "" } -seven sink_2_17(volatile A&&); // { dg-error "" } +one sink_2_17( A&); // { dg-message "candidates" } +seven sink_2_17(volatile A&&); // { dg-message "note" } int test2_17() { @@ -130,8 +130,8 @@ int test2_17() return 0; } -two sink_2_23(const A&); // { dg-error "" } -three sink_2_23(volatile A&); // { dg-error "" } +two sink_2_23(const A&); // { dg-message "candidates" } +three sink_2_23(volatile A&); // { dg-message "note" } int test2_23() { @@ -146,8 +146,8 @@ int test2_23() return 0; } -two sink_2_24(const A&); // { dg-error "" } -four sink_2_24(const volatile A&); // { dg-error "" } +two sink_2_24(const A&); // { dg-message "candidates" } +four sink_2_24(const volatile A&); // { dg-message "note" } int test2_24() { @@ -160,8 +160,8 @@ int test2_24() return 0; } -three sink_2_34(volatile A&); // { dg-error "" } -four sink_2_34(const volatile A&); // { dg-error "" } +three sink_2_34(volatile A&); // { dg-message "candidate" } +four sink_2_34(const volatile A&); // { dg-message "note" } int test2_34() { @@ -176,8 +176,8 @@ int test2_34() return 0; } -two sink_2_25(const A&); // { dg-error "" } -five sink_2_25( A&&); // { dg-error "" } +two sink_2_25(const A&); // { dg-message "candidate" } +five sink_2_25( A&&); // { dg-message "note" } int test2_25() { @@ -192,8 +192,8 @@ int test2_25() return 0; } -two sink_2_26(const A&); // { dg-error "" } -six sink_2_26(const A&&); // { dg-error "" } +two sink_2_26(const A&); // { dg-message "candidate" } +six sink_2_26(const A&&); // { dg-message "note" } int test2_26() { @@ -208,8 +208,8 @@ int test2_26() return 0; } -two sink_2_27(const A&); // { dg-error "" } -seven sink_2_27(volatile A&&); // { dg-error "" } +two sink_2_27(const A&); // { dg-message "candidate" } +seven sink_2_27(volatile A&&); // { dg-message "note" } int test2_27() { @@ -222,8 +222,8 @@ int test2_27() return 0; } -three sink_2_35(volatile A&); // { dg-error "" } -five sink_2_35( A&&); // { dg-error "" } +three sink_2_35(volatile A&); // { dg-message "candidate" } +five sink_2_35( A&&); // { dg-message "note" } int test2_35() { @@ -239,8 +239,8 @@ int test2_35() return 0; } -three sink_2_36(volatile A&); // { dg-error "" } -six sink_2_36(const A&&); // { dg-error "" } +three sink_2_36(volatile A&); // { dg-message "candidate" } +six sink_2_36(const A&&); // { dg-message "note" } int test2_36() { @@ -254,8 +254,8 @@ int test2_36() return 0; } -three sink_2_37(volatile A&); // { dg-error "" } -seven sink_2_37(volatile A&&); // { dg-error "" } +three sink_2_37(volatile A&); // { dg-message "candidate" } +seven sink_2_37(volatile A&&); // { dg-message "note" } int test2_37() { @@ -270,8 +270,8 @@ int test2_37() return 0; } -four sink_2_45(const volatile A&); // { dg-error "" } -five sink_2_45( A&&); // { dg-error "" } +four sink_2_45(const volatile A&); // { dg-message "candidate" } +five sink_2_45( A&&); // { dg-message "note" } int test2_45() { @@ -285,8 +285,8 @@ int test2_45() return 0; } -four sink_2_46(const volatile A&); // { dg-error "" } -six sink_2_46(const A&&); // { dg-error "" } +four sink_2_46(const volatile A&); // { dg-message "candidate" } +six sink_2_46(const A&&); // { dg-message "note" } int test2_46() { @@ -299,8 +299,8 @@ int test2_46() return 0; } -four sink_2_47(const volatile A&); // { dg-error "" } -seven sink_2_47(volatile A&&); // { dg-error "" } +four sink_2_47(const volatile A&); // { dg-message "candidate" } +seven sink_2_47(volatile A&&); // { dg-message "note" } int test2_47() { @@ -313,8 +313,8 @@ int test2_47() return 0; } -five sink_2_56( A&&); // { dg-error "" } -six sink_2_56(const A&&); // { dg-error "" } +five sink_2_56( A&&); // { dg-message "candidate" } +six sink_2_56(const A&&); // { dg-message "note" } int test2_56() { @@ -329,8 +329,8 @@ int test2_56() return 0; } -five sink_2_57( A&&); // { dg-error "" } -seven sink_2_57(volatile A&&); // { dg-error "" } +five sink_2_57( A&&); // { dg-message "candidate" } +seven sink_2_57(volatile A&&); // { dg-message "note" } int test2_57() { @@ -345,8 +345,8 @@ int test2_57() return 0; } -six sink_2_67(const A&&); // { dg-error "" } -seven sink_2_67(volatile A&&); // { dg-error "" } +six sink_2_67(const A&&); // { dg-message "candidate" } +seven sink_2_67(volatile A&&); // { dg-message "note" } int test2_67() { diff --git a/gcc/testsuite/g++.dg/cpp0x/rv3n.C b/gcc/testsuite/g++.dg/cpp0x/rv3n.C index e04ef4f..84675b3 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv3n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv3n.C @@ -30,9 +30,9 @@ const volatile A cv_source(); // 3 at a time -one sink_3_123( A&); // { dg-error "" } -two sink_3_123(const A&); // { dg-error "" } -three sink_3_123(volatile A&); // { dg-error "" } +one sink_3_123( A&); // { dg-message "candidates" } +two sink_3_123(const A&); // { dg-message "note" } +three sink_3_123(volatile A&); // { dg-message "note" } int test3_123() { @@ -46,13 +46,13 @@ int test3_123() return 0; } -one sink_3_125( A&); // { dg-error "" } -two sink_3_125(const A&); // { dg-error "" } -five sink_3_125( A&&); // { dg-error "" } +one sink_3_125( A&); // { dg-message "candidates" } +two sink_3_125(const A&); // { dg-message "note" } +five sink_3_125( A&&); // { dg-message "note" } -one sink_3_124( A&); // { dg-error "" } -two sink_3_124(const A&); // { dg-error "" } -four sink_3_124(const volatile A&); // { dg-error "" } +one sink_3_124( A&); // { dg-message "candidates" } +two sink_3_124(const A&); // { dg-message "note" } +four sink_3_124(const volatile A&); // { dg-message "note" } int test3_124() { @@ -78,9 +78,9 @@ int test3_125() return 0; } -one sink_3_126( A&); // { dg-error "" } -two sink_3_126(const A&); // { dg-error "" } -six sink_3_126(const A&&); // { dg-error "" } +one sink_3_126( A&); // { dg-message "candidates" } +two sink_3_126(const A&); // { dg-message "note" } +six sink_3_126(const A&&); // { dg-message "note" } int test3_126() { @@ -95,9 +95,9 @@ int test3_126() return 0; } -one sink_3_127( A&); // { dg-error "" } -two sink_3_127(const A&); // { dg-error "" } -seven sink_3_127(volatile A&&); // { dg-error "" } +one sink_3_127( A&); // { dg-message "candidates" } +two sink_3_127(const A&); // { dg-message "note" } +seven sink_3_127(volatile A&&); // { dg-message "note" } int test3_127() { @@ -110,9 +110,9 @@ int test3_127() return 0; } -one sink_3_134( A&); // { dg-error "" } -three sink_3_134(volatile A&); // { dg-error "" } -four sink_3_134(const volatile A&); // { dg-error "" } +one sink_3_134( A&); // { dg-message "candidates" } +three sink_3_134(volatile A&); // { dg-message "note" } +four sink_3_134(const volatile A&); // { dg-message "note" } int test3_134() { @@ -127,9 +127,9 @@ int test3_134() return 0; } -one sink_3_135( A&); // { dg-error "" } -three sink_3_135(volatile A&); // { dg-error "" } -five sink_3_135( A&&); // { dg-error "" } +one sink_3_135( A&); // { dg-message "candidates" } +three sink_3_135(volatile A&); // { dg-message "note" } +five sink_3_135( A&&); // { dg-message "note" } int test3_135() { @@ -145,9 +145,9 @@ int test3_135() return 0; } -one sink_3_136( A&); // { dg-error "" } -three sink_3_136(volatile A&); // { dg-error "" } -six sink_3_136(const A&&); // { dg-error "" } +one sink_3_136( A&); // { dg-message "candidates" } +three sink_3_136(volatile A&); // { dg-message "note" } +six sink_3_136(const A&&); // { dg-message "note" } int test3_136() { @@ -161,9 +161,9 @@ int test3_136() return 0; } -one sink_3_137( A&); // { dg-error "" } -three sink_3_137(volatile A&); // { dg-error "" } -seven sink_3_137(volatile A&&); // { dg-error "" } +one sink_3_137( A&); // { dg-message "candidates" } +three sink_3_137(volatile A&); // { dg-message "note" } +seven sink_3_137(volatile A&&); // { dg-message "note" } int test3_137() { @@ -178,9 +178,9 @@ int test3_137() return 0; } -one sink_3_145( A&); // { dg-error "" } -four sink_3_145(const volatile A&); // { dg-error "" } -five sink_3_145( A&&); // { dg-error "" } +one sink_3_145( A&); // { dg-message "candidates" } +four sink_3_145(const volatile A&); // { dg-message "note" } +five sink_3_145( A&&); // { dg-message "note" } int test3_145() { @@ -194,9 +194,9 @@ int test3_145() return 0; } -one sink_3_146( A&); // { dg-error "" } -four sink_3_146(const volatile A&); // { dg-error "" } -six sink_3_146(const A&&); // { dg-error "" } +one sink_3_146( A&); // { dg-message "candidates" } +four sink_3_146(const volatile A&); // { dg-message "note" } +six sink_3_146(const A&&); // { dg-message "note" } int test3_146() { @@ -209,9 +209,9 @@ int test3_146() return 0; } -one sink_3_147( A&); // { dg-error "" } -four sink_3_147(const volatile A&); // { dg-error "" } -seven sink_3_147(volatile A&&); // { dg-error "" } +one sink_3_147( A&); // { dg-message "candidates" } +four sink_3_147(const volatile A&); // { dg-message "note" } +seven sink_3_147(volatile A&&); // { dg-message "note" } int test3_147() { @@ -224,9 +224,9 @@ int test3_147() return 0; } -one sink_3_156( A&); // { dg-error "" } -five sink_3_156( A&&); // { dg-error "" } -six sink_3_156(const A&&); // { dg-error "" } +one sink_3_156( A&); // { dg-message "candidates" } +five sink_3_156( A&&); // { dg-message "note" } +six sink_3_156(const A&&); // { dg-message "note" } int test3_156() { @@ -241,9 +241,9 @@ int test3_156() return 0; } -one sink_3_157( A&); // { dg-error "" } -five sink_3_157( A&&); // { dg-error "" } -seven sink_3_157(volatile A&&); // { dg-error "" } +one sink_3_157( A&); // { dg-message "candidates" } +five sink_3_157( A&&); // { dg-message "note" } +seven sink_3_157(volatile A&&); // { dg-message "note" } int test3_157() { @@ -258,9 +258,9 @@ int test3_157() return 0; } -one sink_3_167( A&); // { dg-error "" } -six sink_3_167(const A&&); // { dg-error "" } -seven sink_3_167(volatile A&&); // { dg-error "" } +one sink_3_167( A&); // { dg-message "candidates" } +six sink_3_167(const A&&); // { dg-message "note" } +seven sink_3_167(volatile A&&); // { dg-message "note" } int test3_167() { @@ -274,9 +274,9 @@ int test3_167() return 0; } -two sink_3_234(const A&); // { dg-error "" } -three sink_3_234(volatile A&); // { dg-error "" } -four sink_3_234(const volatile A&); // { dg-error "" } +two sink_3_234(const A&); // { dg-message "candidates" } +three sink_3_234(volatile A&); // { dg-message "note" } +four sink_3_234(const volatile A&); // { dg-message "note" } int test3_234() { @@ -290,9 +290,9 @@ int test3_234() return 0; } -two sink_3_235(const A&); // { dg-error "" } -three sink_3_235(volatile A&); // { dg-error "" } -five sink_3_235( A&&); // { dg-error "" } +two sink_3_235(const A&); // { dg-message "candidates" } +three sink_3_235(volatile A&); // { dg-message "note" } +five sink_3_235( A&&); // { dg-message "note" } int test3_235() { @@ -307,9 +307,9 @@ int test3_235() return 0; } -two sink_3_236(const A&); // { dg-error "" } -three sink_3_236(volatile A&); // { dg-error "" } -six sink_3_236(const A&&); // { dg-error "" } +two sink_3_236(const A&); // { dg-message "candidates" } +three sink_3_236(volatile A&); // { dg-message "note" } +six sink_3_236(const A&&); // { dg-message "note" } int test3_236() { @@ -324,9 +324,9 @@ int test3_236() return 0; } -two sink_3_237(const A&); // { dg-error "" } -three sink_3_237(volatile A&); // { dg-error "" } -seven sink_3_237(volatile A&&); // { dg-error "" } +two sink_3_237(const A&); // { dg-message "candidates" } +three sink_3_237(volatile A&); // { dg-message "note" } +seven sink_3_237(volatile A&&); // { dg-message "note" } int test3_237() { @@ -340,9 +340,9 @@ int test3_237() return 0; } -two sink_3_238(const A&); // { dg-error "" } -three sink_3_238(volatile A&); // { dg-error "" } -eight sink_3_238(const volatile A&&); // { dg-error "" } +two sink_3_238(const A&); // { dg-message "candidates" } +three sink_3_238(volatile A&); // { dg-message "note" } +eight sink_3_238(const volatile A&&); // { dg-message "note" } int test3_238() { @@ -354,9 +354,9 @@ int test3_238() return 0; } -two sink_3_245(const A&); // { dg-error "" } -four sink_3_245(const volatile A&); // { dg-error "" } -five sink_3_245( A&&); // { dg-error "" } +two sink_3_245(const A&); // { dg-message "candidates" } +four sink_3_245(const volatile A&); // { dg-message "note" } +five sink_3_245( A&&); // { dg-message "note" } int test3_245() { @@ -369,9 +369,9 @@ int test3_245() return 0; } -two sink_3_246(const A&); // { dg-error "" } -four sink_3_246(const volatile A&); // { dg-error "" } -six sink_3_246(const A&&); // { dg-error "" } +two sink_3_246(const A&); // { dg-message "candidates" } +four sink_3_246(const volatile A&); // { dg-message "note" } +six sink_3_246(const A&&); // { dg-message "note" } int test3_246() { @@ -384,9 +384,9 @@ int test3_246() return 0; } -two sink_3_247(const A&); // { dg-error "" } -four sink_3_247(const volatile A&); // { dg-error "" } -seven sink_3_247(volatile A&&); // { dg-error "" } +two sink_3_247(const A&); // { dg-message "candidates" } +four sink_3_247(const volatile A&); // { dg-message "note" } +seven sink_3_247(volatile A&&); // { dg-message "note" } int test3_247() { @@ -398,9 +398,9 @@ int test3_247() return 0; } -two sink_3_256(const A&); // { dg-error "" } -five sink_3_256( A&&); // { dg-error "" } -six sink_3_256(const A&&); // { dg-error "" } +two sink_3_256(const A&); // { dg-message "candidates" } +five sink_3_256( A&&); // { dg-message "note" } +six sink_3_256(const A&&); // { dg-message "note" } int test3_256() { @@ -415,9 +415,9 @@ int test3_256() return 0; } -two sink_3_257(const A&); // { dg-error "" } -five sink_3_257( A&&); // { dg-error "" } -seven sink_3_257(volatile A&&); // { dg-error "" } +two sink_3_257(const A&); // { dg-message "candidates" } +five sink_3_257( A&&); // { dg-message "note" } +seven sink_3_257(volatile A&&); // { dg-message "note" } int test3_257() { @@ -430,9 +430,9 @@ int test3_257() return 0; } -two sink_3_267(const A&); // { dg-error "" } -six sink_3_267(const A&&); // { dg-error "" } -seven sink_3_267(volatile A&&); // { dg-error "" } +two sink_3_267(const A&); // { dg-message "candidates" } +six sink_3_267(const A&&); // { dg-message "note" } +seven sink_3_267(volatile A&&); // { dg-message "note" } int test3_267() { @@ -446,9 +446,9 @@ int test3_267() return 0; } -three sink_3_345(volatile A&); // { dg-error "" } -four sink_3_345(const volatile A&); // { dg-error "" } -five sink_3_345( A&&); // { dg-error "" } +three sink_3_345(volatile A&); // { dg-message "candidates" } +four sink_3_345(const volatile A&); // { dg-message "note" } +five sink_3_345( A&&); // { dg-message "note" } int test3_345() { @@ -462,9 +462,9 @@ int test3_345() return 0; } -three sink_3_346(volatile A&); // { dg-error "" } -four sink_3_346(const volatile A&); // { dg-error "" } -six sink_3_346(const A&&); // { dg-error "" } +three sink_3_346(volatile A&); // { dg-message "candidates" } +four sink_3_346(const volatile A&); // { dg-message "note" } +six sink_3_346(const A&&); // { dg-message "note" } int test3_346() { @@ -477,9 +477,9 @@ int test3_346() return 0; } -three sink_3_347(volatile A&); // { dg-error "" } -four sink_3_347(const volatile A&); // { dg-error "" } -seven sink_3_347(volatile A&&); // { dg-error "" } +three sink_3_347(volatile A&); // { dg-message "candidates" } +four sink_3_347(const volatile A&); // { dg-message "note" } +seven sink_3_347(volatile A&&); // { dg-message "note" } int test3_347() { @@ -492,9 +492,9 @@ int test3_347() return 0; } -three sink_3_356(volatile A&); // { dg-error "" } -five sink_3_356( A&&); // { dg-error "" } -six sink_3_356(const A&&); // { dg-error "" } +three sink_3_356(volatile A&); // { dg-message "candidates" } +five sink_3_356( A&&); // { dg-message "note" } +six sink_3_356(const A&&); // { dg-message "note" } int test3_356() { @@ -508,9 +508,9 @@ int test3_356() return 0; } -three sink_3_357(volatile A&); // { dg-error "" } -five sink_3_357( A&&); // { dg-error "" } -seven sink_3_357(volatile A&&); // { dg-error "" } +three sink_3_357(volatile A&); // { dg-message "candidates" } +five sink_3_357( A&&); // { dg-message "note" } +seven sink_3_357(volatile A&&); // { dg-message "note" } int test3_357() { @@ -525,9 +525,9 @@ int test3_357() return 0; } -three sink_3_367(volatile A&); // { dg-error "" } -six sink_3_367(const A&&); // { dg-error "" } -seven sink_3_367(volatile A&&); // { dg-error "" } +three sink_3_367(volatile A&); // { dg-message "candidates" } +six sink_3_367(const A&&); // { dg-message "note" } +seven sink_3_367(volatile A&&); // { dg-message "note" } int test3_367() { @@ -541,9 +541,9 @@ int test3_367() return 0; } -four sink_3_456(const volatile A&); // { dg-error "" } -five sink_3_456( A&&); // { dg-error "" } -six sink_3_456(const A&&); // { dg-error "" } +four sink_3_456(const volatile A&); // { dg-message "candidates" } +five sink_3_456( A&&); // { dg-message "note" } +six sink_3_456(const A&&); // { dg-message "note" } int test3_456() { @@ -556,9 +556,9 @@ int test3_456() return 0; } -four sink_3_457(const volatile A&); // { dg-error "" } -five sink_3_457( A&&); // { dg-error "" } -seven sink_3_457(volatile A&&); // { dg-error "" } +four sink_3_457(const volatile A&); // { dg-message "candidates" } +five sink_3_457( A&&); // { dg-message "note" } +seven sink_3_457(volatile A&&); // { dg-message "note" } int test3_457() { @@ -571,9 +571,9 @@ int test3_457() return 0; } -four sink_3_467(const volatile A&); // { dg-error "" } -six sink_3_467(const A&&); // { dg-error "" } -seven sink_3_467(volatile A&&); // { dg-error "" } +four sink_3_467(const volatile A&); // { dg-message "candidates" } +six sink_3_467(const A&&); // { dg-message "note" } +seven sink_3_467(volatile A&&); // { dg-message "note" } int test3_467() { @@ -586,9 +586,9 @@ int test3_467() return 0; } -five sink_3_567( A&&); // { dg-error "" } -six sink_3_567(const A&&); // { dg-error "" } -seven sink_3_567(volatile A&&); // { dg-error "" } +five sink_3_567( A&&); // { dg-message "candidates" } +six sink_3_567(const A&&); // { dg-message "note" } +seven sink_3_567(volatile A&&); // { dg-message "note" } int test3_567() { @@ -601,9 +601,9 @@ int test3_567() return 0; } -six sink_3_678(const A&&); // { dg-error "" } -seven sink_3_678(volatile A&&); // { dg-error "" } -eight sink_3_678(const volatile A&&); // { dg-error "" } +six sink_3_678(const A&&); // { dg-message "candidates" } +seven sink_3_678(volatile A&&); // { dg-message "note" } +eight sink_3_678(const volatile A&&); // { dg-message "note" } int test3_678() { diff --git a/gcc/testsuite/g++.dg/cpp0x/rv4n.C b/gcc/testsuite/g++.dg/cpp0x/rv4n.C index 302ab8e..b88e3f7 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv4n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv4n.C @@ -30,10 +30,10 @@ const volatile A cv_source(); // 4 at a time -one sink_4_1234( A&); // { dg-error "" } -two sink_4_1234(const A&); // { dg-error "" } -three sink_4_1234(volatile A&); // { dg-error "" } -four sink_4_1234(const volatile A&); // { dg-error "" } +one sink_4_1234( A&); // { dg-message "candidates" } +two sink_4_1234(const A&); // { dg-message "note" } +three sink_4_1234(volatile A&); // { dg-message "note" } +four sink_4_1234(const volatile A&); // { dg-message "note" } int test4_1234() { @@ -46,10 +46,10 @@ int test4_1234() return 0; } -one sink_4_1235( A&); // { dg-error "" } -two sink_4_1235(const A&); // { dg-error "" } -three sink_4_1235(volatile A&); // { dg-error "" } -five sink_4_1235( A&&); // { dg-error "" } +one sink_4_1235( A&); // { dg-message "candidates" } +two sink_4_1235(const A&); // { dg-message "note" } +three sink_4_1235(volatile A&); // { dg-message "note" } +five sink_4_1235( A&&); // { dg-message "note" } int test4_1235() { @@ -63,10 +63,10 @@ int test4_1235() return 0; } -one sink_4_1236( A&); // { dg-error "" } -two sink_4_1236(const A&); // { dg-error "" } -three sink_4_1236(volatile A&); // { dg-error "" } -six sink_4_1236(const A&&); // { dg-error "" } +one sink_4_1236( A&); // { dg-message "candidates" } +two sink_4_1236(const A&); // { dg-message "note" } +three sink_4_1236(volatile A&); // { dg-message "note" } +six sink_4_1236(const A&&); // { dg-message "note" } int test4_1236() { @@ -80,10 +80,10 @@ int test4_1236() return 0; } -one sink_4_1237( A&); // { dg-error "" } -two sink_4_1237(const A&); // { dg-error "" } -three sink_4_1237(volatile A&); // { dg-error "" } -seven sink_4_1237(volatile A&&); // { dg-error "" } +one sink_4_1237( A&); // { dg-message "candidates" } +two sink_4_1237(const A&); // { dg-message "note" } +three sink_4_1237(volatile A&); // { dg-message "note" } +seven sink_4_1237(volatile A&&); // { dg-message "note" } int test4_1237() { @@ -96,10 +96,10 @@ int test4_1237() return 0; } -one sink_4_1245( A&); // { dg-error "" } -two sink_4_1245(const A&); // { dg-error "" } -four sink_4_1245(const volatile A&); // { dg-error "" } -five sink_4_1245( A&&); // { dg-error "" } +one sink_4_1245( A&); // { dg-message "candidates" } +two sink_4_1245(const A&); // { dg-message "note" } +four sink_4_1245(const volatile A&); // { dg-message "note" } +five sink_4_1245( A&&); // { dg-message "note" } int test4_1245() { @@ -112,10 +112,10 @@ int test4_1245() return 0; } -one sink_4_1246( A&); // { dg-error "" } -two sink_4_1246(const A&); // { dg-error "" } -four sink_4_1246(const volatile A&); // { dg-error "" } -six sink_4_1246(const A&&); // { dg-error "" } +one sink_4_1246( A&); // { dg-message "candidates" } +two sink_4_1246(const A&); // { dg-message "note" } +four sink_4_1246(const volatile A&); // { dg-message "note" } +six sink_4_1246(const A&&); // { dg-message "note" } int test4_1246() { @@ -128,10 +128,10 @@ int test4_1246() return 0; } -one sink_4_1247( A&); // { dg-error "" } -two sink_4_1247(const A&); // { dg-error "" } -four sink_4_1247(const volatile A&); // { dg-error "" } -seven sink_4_1247(volatile A&&); // { dg-error "" } +one sink_4_1247( A&); // { dg-message "candidates" } +two sink_4_1247(const A&); // { dg-message "note" } +four sink_4_1247(const volatile A&); // { dg-message "note" } +seven sink_4_1247(volatile A&&); // { dg-message "note" } int test4_1247() { @@ -143,10 +143,10 @@ int test4_1247() return 0; } -one sink_4_1256( A&); // { dg-error "" } -two sink_4_1256(const A&); // { dg-error "" } -five sink_4_1256( A&&); // { dg-error "" } -six sink_4_1256(const A&&); // { dg-error "" } +one sink_4_1256( A&); // { dg-message "candidates" } +two sink_4_1256(const A&); // { dg-message "note" } +five sink_4_1256( A&&); // { dg-message "note" } +six sink_4_1256(const A&&); // { dg-message "note" } int test4_1256() { @@ -161,10 +161,10 @@ int test4_1256() return 0; } -one sink_4_1257( A&); // { dg-error "" } -two sink_4_1257(const A&); // { dg-error "" } -five sink_4_1257( A&&); // { dg-error "" } -seven sink_4_1257(volatile A&&); // { dg-error "" } +one sink_4_1257( A&); // { dg-message "candidates" } +two sink_4_1257(const A&); // { dg-message "note" } +five sink_4_1257( A&&); // { dg-message "note" } +seven sink_4_1257(volatile A&&); // { dg-message "note" } int test4_1257() { @@ -177,10 +177,10 @@ int test4_1257() return 0; } -one sink_4_1267( A&); // { dg-error "" } -two sink_4_1267(const A&); // { dg-error "" } -six sink_4_1267(const A&&); // { dg-error "" } -seven sink_4_1267(volatile A&&); // { dg-error "" } +one sink_4_1267( A&); // { dg-message "candidates" } +two sink_4_1267(const A&); // { dg-message "note" } +six sink_4_1267(const A&&); // { dg-message "note" } +seven sink_4_1267(volatile A&&); // { dg-message "note" } int test4_1267() { @@ -194,10 +194,10 @@ int test4_1267() return 0; } -one sink_4_1345( A&); // { dg-error "" } -three sink_4_1345(volatile A&); // { dg-error "" } -four sink_4_1345(const volatile A&); // { dg-error "" } -five sink_4_1345( A&&); // { dg-error "" } +one sink_4_1345( A&); // { dg-message "candidates" } +three sink_4_1345(volatile A&); // { dg-message "note" } +four sink_4_1345(const volatile A&); // { dg-message "note" } +five sink_4_1345( A&&); // { dg-message "note" } int test4_1345() { @@ -211,10 +211,10 @@ int test4_1345() return 0; } -one sink_4_1346( A&); // { dg-error "" } -three sink_4_1346(volatile A&); // { dg-error "" } -four sink_4_1346(const volatile A&); // { dg-error "" } -six sink_4_1346(const A&&); // { dg-error "" } +one sink_4_1346( A&); // { dg-message "candidates" } +three sink_4_1346(volatile A&); // { dg-message "note" } +four sink_4_1346(const volatile A&); // { dg-message "note" } +six sink_4_1346(const A&&); // { dg-message "note" } int test4_1346() { @@ -227,10 +227,10 @@ int test4_1346() return 0; } -one sink_4_1347( A&); // { dg-error "" } -three sink_4_1347(volatile A&); // { dg-error "" } -four sink_4_1347(const volatile A&); // { dg-error "" } -seven sink_4_1347(volatile A&&); // { dg-error "" } +one sink_4_1347( A&); // { dg-message "candidates" } +three sink_4_1347(volatile A&); // { dg-message "note" } +four sink_4_1347(const volatile A&); // { dg-message "note" } +seven sink_4_1347(volatile A&&); // { dg-message "note" } int test4_1347() { @@ -243,10 +243,10 @@ int test4_1347() return 0; } -one sink_4_1356( A&); // { dg-error "" } -three sink_4_1356(volatile A&); // { dg-error "" } -five sink_4_1356( A&&); // { dg-error "" } -six sink_4_1356(const A&&); // { dg-error "" } +one sink_4_1356( A&); // { dg-message "candidates" } +three sink_4_1356(volatile A&); // { dg-message "note" } +five sink_4_1356( A&&); // { dg-message "note" } +six sink_4_1356(const A&&); // { dg-message "note" } int test4_1356() { @@ -260,10 +260,10 @@ int test4_1356() return 0; } -one sink_4_1357( A&); // { dg-error "" } -three sink_4_1357(volatile A&); // { dg-error "" } -five sink_4_1357( A&&); // { dg-error "" } -seven sink_4_1357(volatile A&&); // { dg-error "" } +one sink_4_1357( A&); // { dg-message "candidates" } +three sink_4_1357(volatile A&); // { dg-message "note" } +five sink_4_1357( A&&); // { dg-message "note" } +seven sink_4_1357(volatile A&&); // { dg-message "note" } int test4_1357() { @@ -278,10 +278,10 @@ int test4_1357() return 0; } -one sink_4_1367( A&); // { dg-error "" } -three sink_4_1367(volatile A&); // { dg-error "" } -six sink_4_1367(const A&&); // { dg-error "" } -seven sink_4_1367(volatile A&&); // { dg-error "" } +one sink_4_1367( A&); // { dg-message "candidates" } +three sink_4_1367(volatile A&); // { dg-message "note" } +six sink_4_1367(const A&&); // { dg-message "note" } +seven sink_4_1367(volatile A&&); // { dg-message "note" } int test4_1367() { @@ -295,10 +295,10 @@ int test4_1367() return 0; } -one sink_4_1456( A&); // { dg-error "" } -four sink_4_1456(const volatile A&); // { dg-error "" } -five sink_4_1456( A&&); // { dg-error "" } -six sink_4_1456(const A&&); // { dg-error "" } +one sink_4_1456( A&); // { dg-message "candidates" } +four sink_4_1456(const volatile A&); // { dg-message "note" } +five sink_4_1456( A&&); // { dg-message "note" } +six sink_4_1456(const A&&); // { dg-message "note" } int test4_1456() { @@ -311,10 +311,10 @@ int test4_1456() return 0; } -one sink_4_1457( A&); // { dg-error "" } -four sink_4_1457(const volatile A&); // { dg-error "" } -five sink_4_1457( A&&); // { dg-error "" } -seven sink_4_1457(volatile A&&); // { dg-error "" } +one sink_4_1457( A&); // { dg-message "candidates" } +four sink_4_1457(const volatile A&); // { dg-message "note" } +five sink_4_1457( A&&); // { dg-message "note" } +seven sink_4_1457(volatile A&&); // { dg-message "note" } int test4_1457() { @@ -327,10 +327,10 @@ int test4_1457() return 0; } -one sink_4_1467( A&); // { dg-error "" } -four sink_4_1467(const volatile A&); // { dg-error "" } -six sink_4_1467(const A&&); // { dg-error "" } -seven sink_4_1467(volatile A&&); // { dg-error "" } +one sink_4_1467( A&); // { dg-message "candidates" } +four sink_4_1467(const volatile A&); // { dg-message "note" } +six sink_4_1467(const A&&); // { dg-message "note" } +seven sink_4_1467(volatile A&&); // { dg-message "note" } int test4_1467() { @@ -343,10 +343,10 @@ int test4_1467() return 0; } -one sink_4_1567( A&); // { dg-error "" } -five sink_4_1567( A&&); // { dg-error "" } -six sink_4_1567(const A&&); // { dg-error "" } -seven sink_4_1567(volatile A&&); // { dg-error "" } +one sink_4_1567( A&); // { dg-message "candidates" } +five sink_4_1567( A&&); // { dg-message "note" } +six sink_4_1567(const A&&); // { dg-message "note" } +seven sink_4_1567(volatile A&&); // { dg-message "note" } int test4_1567() { @@ -360,9 +360,9 @@ int test4_1567() } one sink_4_1678( A&); -six sink_4_1678(const A&&); // { dg-error "" } -seven sink_4_1678(volatile A&&); // { dg-error "" } -eight sink_4_1678(const volatile A&&); // { dg-error "" } +six sink_4_1678(const A&&); // { dg-message "candidates" } +seven sink_4_1678(volatile A&&); // { dg-message "note" } +eight sink_4_1678(const volatile A&&); // { dg-message "note" } int test4_1678() { @@ -374,10 +374,10 @@ int test4_1678() return 0; } -two sink_4_2345(const A&); // { dg-error "" } -three sink_4_2345(volatile A&); // { dg-error "" } -four sink_4_2345(const volatile A&); // { dg-error "" } -five sink_4_2345( A&&); // { dg-error "" } +two sink_4_2345(const A&); // { dg-message "candidates" } +three sink_4_2345(volatile A&); // { dg-message "note" } +four sink_4_2345(const volatile A&); // { dg-message "note" } +five sink_4_2345( A&&); // { dg-message "note" } int test4_2345() { @@ -391,10 +391,10 @@ int test4_2345() return 0; } -two sink_4_2346(const A&); // { dg-error "" } -three sink_4_2346(volatile A&); // { dg-error "" } -four sink_4_2346(const volatile A&); // { dg-error "" } -six sink_4_2346(const A&&); // { dg-error "" } +two sink_4_2346(const A&); // { dg-message "candidates" } +three sink_4_2346(volatile A&); // { dg-message "note" } +four sink_4_2346(const volatile A&); // { dg-message "note" } +six sink_4_2346(const A&&); // { dg-message "note" } int test4_2346() { @@ -408,10 +408,10 @@ int test4_2346() return 0; } -two sink_4_2347(const A&); // { dg-error "" } -three sink_4_2347(volatile A&); // { dg-error "" } -four sink_4_2347(const volatile A&); // { dg-error "" } -seven sink_4_2347(volatile A&&); // { dg-error "" } +two sink_4_2347(const A&); // { dg-message "candidates" } +three sink_4_2347(volatile A&); // { dg-message "note" } +four sink_4_2347(const volatile A&); // { dg-message "note" } +seven sink_4_2347(volatile A&&); // { dg-message "note" } int test4_2347() { @@ -424,10 +424,10 @@ int test4_2347() return 0; } -two sink_4_2348(const A&); // { dg-error "" } -three sink_4_2348(volatile A&); // { dg-error "" } -four sink_4_2348(const volatile A&); // { dg-error "" } -eight sink_4_2348(const volatile A&&); // { dg-error "" } +two sink_4_2348(const A&); // { dg-message "candidates" } +three sink_4_2348(volatile A&); // { dg-message "note" } +four sink_4_2348(const volatile A&); // { dg-message "note" } +eight sink_4_2348(const volatile A&&); // { dg-message "note" } int test4_2348() { @@ -439,10 +439,10 @@ int test4_2348() return 0; } -two sink_4_2356(const A&); // { dg-error "" } -three sink_4_2356(volatile A&); // { dg-error "" } -five sink_4_2356( A&&); // { dg-error "" } -six sink_4_2356(const A&&); // { dg-error "" } +two sink_4_2356(const A&); // { dg-message "candidates" } +three sink_4_2356(volatile A&); // { dg-message "note" } +five sink_4_2356( A&&); // { dg-message "note" } +six sink_4_2356(const A&&); // { dg-message "note" } int test4_2356() { @@ -457,10 +457,10 @@ int test4_2356() return 0; } -two sink_4_2357(const A&); // { dg-error "" } -three sink_4_2357(volatile A&); // { dg-error "" } -five sink_4_2357( A&&); // { dg-error "" } -seven sink_4_2357(volatile A&&); // { dg-error "" } +two sink_4_2357(const A&); // { dg-message "candidates" } +three sink_4_2357(volatile A&); // { dg-message "note" } +five sink_4_2357( A&&); // { dg-message "note" } +seven sink_4_2357(volatile A&&); // { dg-message "note" } int test4_2357() { @@ -474,10 +474,10 @@ int test4_2357() return 0; } -two sink_4_2358(const A&); // { dg-error "" } -three sink_4_2358(volatile A&); // { dg-error "" } -five sink_4_2358( A&&); // { dg-error "" } -eight sink_4_2358(const volatile A&&); // { dg-error "" } +two sink_4_2358(const A&); // { dg-message "candidates" } +three sink_4_2358(volatile A&); // { dg-message "note" } +five sink_4_2358( A&&); // { dg-message "note" } +eight sink_4_2358(const volatile A&&); // { dg-message "note" } int test4_2358() { @@ -489,10 +489,10 @@ int test4_2358() return 0; } -two sink_4_2367(const A&); // { dg-error "" } -three sink_4_2367(volatile A&); // { dg-error "" } -six sink_4_2367(const A&&); // { dg-error "" } -seven sink_4_2367(volatile A&&); // { dg-error "" } +two sink_4_2367(const A&); // { dg-message "candidates" } +three sink_4_2367(volatile A&); // { dg-message "note" } +six sink_4_2367(const A&&); // { dg-message "note" } +seven sink_4_2367(volatile A&&); // { dg-message "note" } int test4_2367() { @@ -507,10 +507,10 @@ int test4_2367() return 0; } -two sink_4_2368(const A&); // { dg-error "" } -three sink_4_2368(volatile A&); // { dg-error "" } -six sink_4_2368(const A&&); // { dg-error "" } -eight sink_4_2368(const volatile A&&); // { dg-error "" } +two sink_4_2368(const A&); // { dg-message "candidates" } +three sink_4_2368(volatile A&); // { dg-message "note" } +six sink_4_2368(const A&&); // { dg-message "note" } +eight sink_4_2368(const volatile A&&); // { dg-message "note" } int test4_2368() { @@ -522,10 +522,10 @@ int test4_2368() return 0; } -two sink_4_2378(const A&); // { dg-error "" } -three sink_4_2378(volatile A&); // { dg-error "" } -seven sink_4_2378(volatile A&&); // { dg-error "" } -eight sink_4_2378(const volatile A&&); // { dg-error "" } +two sink_4_2378(const A&); // { dg-message "candidates" } +three sink_4_2378(volatile A&); // { dg-message "note" } +seven sink_4_2378(volatile A&&); // { dg-message "note" } +eight sink_4_2378(const volatile A&&); // { dg-message "note" } int test4_2378() { @@ -537,10 +537,10 @@ int test4_2378() return 0; } -two sink_4_2456(const A&); // { dg-error "" } -four sink_4_2456(const volatile A&); // { dg-error "" } -five sink_4_2456( A&&); // { dg-error "" } -six sink_4_2456(const A&&); // { dg-error "" } +two sink_4_2456(const A&); // { dg-message "candidates" } +four sink_4_2456(const volatile A&); // { dg-message "note" } +five sink_4_2456( A&&); // { dg-message "note" } +six sink_4_2456(const A&&); // { dg-message "note" } int test4_2456() { @@ -553,10 +553,10 @@ int test4_2456() return 0; } -two sink_4_2457(const A&); // { dg-error "" } -four sink_4_2457(const volatile A&); // { dg-error "" } -five sink_4_2457( A&&); // { dg-error "" } -seven sink_4_2457(volatile A&&); // { dg-error "" } +two sink_4_2457(const A&); // { dg-message "candidates" } +four sink_4_2457(const volatile A&); // { dg-message "note" } +five sink_4_2457( A&&); // { dg-message "note" } +seven sink_4_2457(volatile A&&); // { dg-message "note" } int test4_2457() { @@ -568,10 +568,10 @@ int test4_2457() return 0; } -two sink_4_2467(const A&); // { dg-error "" } -four sink_4_2467(const volatile A&); // { dg-error "" } -six sink_4_2467(const A&&); // { dg-error "" } -seven sink_4_2467(volatile A&&); // { dg-error "" } +two sink_4_2467(const A&); // { dg-message "candidates" } +four sink_4_2467(const volatile A&); // { dg-message "note" } +six sink_4_2467(const A&&); // { dg-message "note" } +seven sink_4_2467(volatile A&&); // { dg-message "note" } int test4_2467() { @@ -584,10 +584,10 @@ int test4_2467() return 0; } -two sink_4_2567(const A&); // { dg-error "" } -five sink_4_2567( A&&); // { dg-error "" } -six sink_4_2567(const A&&); // { dg-error "" } -seven sink_4_2567(volatile A&&); // { dg-error "" } +two sink_4_2567(const A&); // { dg-message "candidates" } +five sink_4_2567( A&&); // { dg-message "note" } +six sink_4_2567(const A&&); // { dg-message "note" } +seven sink_4_2567(volatile A&&); // { dg-message "note" } int test4_2567() { @@ -600,10 +600,10 @@ int test4_2567() return 0; } -two sink_4_2678(const A&); // { dg-error "" } -six sink_4_2678(const A&&); // { dg-error "" } -seven sink_4_2678(volatile A&&); // { dg-error "" } -eight sink_4_2678(const volatile A&&); // { dg-error "" } +two sink_4_2678(const A&); // { dg-message "candidates" } +six sink_4_2678(const A&&); // { dg-message "note" } +seven sink_4_2678(volatile A&&); // { dg-message "note" } +eight sink_4_2678(const volatile A&&); // { dg-message "note" } int test4_2678() { @@ -615,10 +615,10 @@ int test4_2678() return 0; } -three sink_4_3456(volatile A&); // { dg-error "" } -four sink_4_3456(const volatile A&); // { dg-error "" } -five sink_4_3456( A&&); // { dg-error "" } -six sink_4_3456(const A&&); // { dg-error "" } +three sink_4_3456(volatile A&); // { dg-message "candidates" } +four sink_4_3456(const volatile A&); // { dg-message "note" } +five sink_4_3456( A&&); // { dg-message "note" } +six sink_4_3456(const A&&); // { dg-message "note" } int test4_3456() { @@ -631,10 +631,10 @@ int test4_3456() return 0; } -three sink_4_3457(volatile A&); // { dg-error "" } -four sink_4_3457(const volatile A&); // { dg-error "" } -five sink_4_3457( A&&); // { dg-error "" } -seven sink_4_3457(volatile A&&); // { dg-error "" } +three sink_4_3457(volatile A&); // { dg-message "candidates" } +four sink_4_3457(const volatile A&); // { dg-message "note" } +five sink_4_3457( A&&); // { dg-message "note" } +seven sink_4_3457(volatile A&&); // { dg-message "note" } int test4_3457() { @@ -647,10 +647,10 @@ int test4_3457() return 0; } -three sink_4_3467(volatile A&); // { dg-error "" } -four sink_4_3467(const volatile A&); // { dg-error "" } -six sink_4_3467(const A&&); // { dg-error "" } -seven sink_4_3467(volatile A&&); // { dg-error "" } +three sink_4_3467(volatile A&); // { dg-message "candidates" } +four sink_4_3467(const volatile A&); // { dg-message "note" } +six sink_4_3467(const A&&); // { dg-message "note" } +seven sink_4_3467(volatile A&&); // { dg-message "note" } int test4_3467() { @@ -663,10 +663,10 @@ int test4_3467() return 0; } -three sink_4_3567(volatile A&); // { dg-error "" } -five sink_4_3567( A&&); // { dg-error "" } -six sink_4_3567(const A&&); // { dg-error "" } -seven sink_4_3567(volatile A&&); // { dg-error "" } +three sink_4_3567(volatile A&); // { dg-message "candidates" } +five sink_4_3567( A&&); // { dg-message "note" } +six sink_4_3567(const A&&); // { dg-message "note" } +seven sink_4_3567(volatile A&&); // { dg-message "note" } int test4_3567() { @@ -680,9 +680,9 @@ int test4_3567() } three sink_4_3678(volatile A&); -six sink_4_3678(const A&&); // { dg-error "" } -seven sink_4_3678(volatile A&&); // { dg-error "" } -eight sink_4_3678(const volatile A&&); // { dg-error "" } +six sink_4_3678(const A&&); // { dg-message "candidates" } +seven sink_4_3678(volatile A&&); // { dg-message "note" } +eight sink_4_3678(const volatile A&&); // { dg-message "note" } int test4_3678() { @@ -694,10 +694,10 @@ int test4_3678() return 0; } -four sink_4_4567(const volatile A&); // { dg-error "" } -five sink_4_4567( A&&); // { dg-error "" } -six sink_4_4567(const A&&); // { dg-error "" } -seven sink_4_4567(volatile A&&); // { dg-error "" } +four sink_4_4567(const volatile A&); // { dg-message "candidates" } +five sink_4_4567( A&&); // { dg-message "note" } +six sink_4_4567(const A&&); // { dg-message "note" } +seven sink_4_4567(volatile A&&); // { dg-message "note" } int test4_4567() { @@ -710,9 +710,9 @@ int test4_4567() } four sink_4_4678(const volatile A&); -six sink_4_4678(const A&&); // { dg-error "" } -seven sink_4_4678(volatile A&&); // { dg-error "" } -eight sink_4_4678(const volatile A&&); // { dg-error "" } +six sink_4_4678(const A&&); // { dg-message "candidates" } +seven sink_4_4678(volatile A&&); // { dg-message "note" } +eight sink_4_4678(const volatile A&&); // { dg-message "note" } int test4_4678() { diff --git a/gcc/testsuite/g++.dg/cpp0x/rv5n.C b/gcc/testsuite/g++.dg/cpp0x/rv5n.C index 715716e..14128b2 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv5n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv5n.C @@ -30,11 +30,11 @@ const volatile A cv_source(); // 5 at a time -one sink_5_12345( A&); // { dg-error "" } -two sink_5_12345(const A&); // { dg-error "" } -three sink_5_12345(volatile A&); // { dg-error "" } -four sink_5_12345(const volatile A&); // { dg-error "" } -five sink_5_12345( A&&); // { dg-error "" } +one sink_5_12345( A&); // { dg-message "candidates" } +two sink_5_12345(const A&); // { dg-message "note" } +three sink_5_12345(volatile A&); // { dg-message "note" } +four sink_5_12345(const volatile A&); // { dg-message "note" } +five sink_5_12345( A&&); // { dg-message "note" } int test5_12345() { @@ -47,11 +47,11 @@ int test5_12345() return 0; } -one sink_5_12346( A&); // { dg-error "" } -two sink_5_12346(const A&); // { dg-error "" } -three sink_5_12346(volatile A&); // { dg-error "" } -four sink_5_12346(const volatile A&); // { dg-error "" } -six sink_5_12346(const A&&); // { dg-error "" } +one sink_5_12346( A&); // { dg-message "candidates" } +two sink_5_12346(const A&); // { dg-message "note" } +three sink_5_12346(volatile A&); // { dg-message "note" } +four sink_5_12346(const volatile A&); // { dg-message "note" } +six sink_5_12346(const A&&); // { dg-message "note" } int test5_12346() { @@ -64,11 +64,11 @@ int test5_12346() return 0; } -one sink_5_12347( A&); // { dg-error "" } -two sink_5_12347(const A&); // { dg-error "" } -three sink_5_12347(volatile A&); // { dg-error "" } -four sink_5_12347(const volatile A&); // { dg-error "" } -seven sink_5_12347(volatile A&&); // { dg-error "" } +one sink_5_12347( A&); // { dg-message "candidates" } +two sink_5_12347(const A&); // { dg-message "note" } +three sink_5_12347(volatile A&); // { dg-message "note" } +four sink_5_12347(const volatile A&); // { dg-message "note" } +seven sink_5_12347(volatile A&&); // { dg-message "note" } int test5_12347() { @@ -80,11 +80,11 @@ int test5_12347() return 0; } -one sink_5_12356( A&); // { dg-error "" } -two sink_5_12356(const A&); // { dg-error "" } -three sink_5_12356(volatile A&); // { dg-error "" } -five sink_5_12356( A&&); // { dg-error "" } -six sink_5_12356(const A&&); // { dg-error "" } +one sink_5_12356( A&); // { dg-message "candidates" } +two sink_5_12356(const A&); // { dg-message "note" } +three sink_5_12356(volatile A&); // { dg-message "note" } +five sink_5_12356( A&&); // { dg-message "note" } +six sink_5_12356(const A&&); // { dg-message "note" } int test5_12356() { @@ -98,11 +98,11 @@ int test5_12356() return 0; } -one sink_5_12357( A&); // { dg-error "" } -two sink_5_12357(const A&); // { dg-error "" } -three sink_5_12357(volatile A&); // { dg-error "" } -five sink_5_12357( A&&); // { dg-error "" } -seven sink_5_12357(volatile A&&); // { dg-error "" } +one sink_5_12357( A&); // { dg-message "candidates" } +two sink_5_12357(const A&); // { dg-message "note" } +three sink_5_12357(volatile A&); // { dg-message "note" } +five sink_5_12357( A&&); // { dg-message "note" } +seven sink_5_12357(volatile A&&); // { dg-message "note" } int test5_12357() { @@ -115,11 +115,11 @@ int test5_12357() return 0; } -one sink_5_12367( A&); // { dg-error "" } -two sink_5_12367(const A&); // { dg-error "" } -three sink_5_12367(volatile A&); // { dg-error "" } -six sink_5_12367(const A&&); // { dg-error "" } -seven sink_5_12367(volatile A&&); // { dg-error "" } +one sink_5_12367( A&); // { dg-message "candidates" } +two sink_5_12367(const A&); // { dg-message "note" } +three sink_5_12367(volatile A&); // { dg-message "note" } +six sink_5_12367(const A&&); // { dg-message "note" } +seven sink_5_12367(volatile A&&); // { dg-message "note" } int test5_12367() { @@ -133,11 +133,11 @@ int test5_12367() return 0; } -one sink_5_12456( A&); // { dg-error "" } -two sink_5_12456(const A&); // { dg-error "" } -four sink_5_12456(const volatile A&); // { dg-error "" } -five sink_5_12456( A&&); // { dg-error "" } -six sink_5_12456(const A&&); // { dg-error "" } +one sink_5_12456( A&); // { dg-message "candidates" } +two sink_5_12456(const A&); // { dg-message "note" } +four sink_5_12456(const volatile A&); // { dg-message "note" } +five sink_5_12456( A&&); // { dg-message "note" } +six sink_5_12456(const A&&); // { dg-message "note" } int test5_12456() { @@ -150,11 +150,11 @@ int test5_12456() return 0; } -one sink_5_12457( A&); // { dg-error "" } -two sink_5_12457(const A&); // { dg-error "" } -four sink_5_12457(const volatile A&); // { dg-error "" } -five sink_5_12457( A&&); // { dg-error "" } -seven sink_5_12457(volatile A&&); // { dg-error "" } +one sink_5_12457( A&); // { dg-message "candidates" } +two sink_5_12457(const A&); // { dg-message "note" } +four sink_5_12457(const volatile A&); // { dg-message "note" } +five sink_5_12457( A&&); // { dg-message "note" } +seven sink_5_12457(volatile A&&); // { dg-message "note" } int test5_12457() { @@ -166,11 +166,11 @@ int test5_12457() return 0; } -one sink_5_12467( A&); // { dg-error "" } -two sink_5_12467(const A&); // { dg-error "" } -four sink_5_12467(const volatile A&); // { dg-error "" } -six sink_5_12467(const A&&); // { dg-error "" } -seven sink_5_12467(volatile A&&); // { dg-error "" } +one sink_5_12467( A&); // { dg-message "candidates" } +two sink_5_12467(const A&); // { dg-message "note" } +four sink_5_12467(const volatile A&); // { dg-message "note" } +six sink_5_12467(const A&&); // { dg-message "note" } +seven sink_5_12467(volatile A&&); // { dg-message "note" } int test5_12467() { @@ -183,11 +183,11 @@ int test5_12467() return 0; } -one sink_5_12567( A&); // { dg-error "" } -two sink_5_12567(const A&); // { dg-error "" } -five sink_5_12567( A&&); // { dg-error "" } -six sink_5_12567(const A&&); // { dg-error "" } -seven sink_5_12567(volatile A&&); // { dg-error "" } +one sink_5_12567( A&); // { dg-message "candidates" } +two sink_5_12567(const A&); // { dg-message "note" } +five sink_5_12567( A&&); // { dg-message "note" } +six sink_5_12567(const A&&); // { dg-message "note" } +seven sink_5_12567(volatile A&&); // { dg-message "note" } int test5_12567() { @@ -201,10 +201,10 @@ int test5_12567() } one sink_5_12678( A&); -two sink_5_12678(const A&); // { dg-error "" } -six sink_5_12678(const A&&); // { dg-error "" } -seven sink_5_12678(volatile A&&); // { dg-error "" } -eight sink_5_12678(const volatile A&&); // { dg-error "" } +two sink_5_12678(const A&); // { dg-message "candidates" } +six sink_5_12678(const A&&); // { dg-message "note" } +seven sink_5_12678(volatile A&&); // { dg-message "note" } +eight sink_5_12678(const volatile A&&); // { dg-message "note" } int test5_12678() { @@ -216,11 +216,11 @@ int test5_12678() return 0; } -one sink_5_13456( A&); // { dg-error "" } -three sink_5_13456(volatile A&); // { dg-error "" } -four sink_5_13456(const volatile A&); // { dg-error "" } -five sink_5_13456( A&&); // { dg-error "" } -six sink_5_13456(const A&&); // { dg-error "" } +one sink_5_13456( A&); // { dg-message "candidates" } +three sink_5_13456(volatile A&); // { dg-message "note" } +four sink_5_13456(const volatile A&); // { dg-message "note" } +five sink_5_13456( A&&); // { dg-message "note" } +six sink_5_13456(const A&&); // { dg-message "note" } int test5_13456() { @@ -233,11 +233,11 @@ int test5_13456() return 0; } -one sink_5_13457( A&); // { dg-error "" } -three sink_5_13457(volatile A&); // { dg-error "" } -four sink_5_13457(const volatile A&); // { dg-error "" } -five sink_5_13457( A&&); // { dg-error "" } -seven sink_5_13457(volatile A&&); // { dg-error "" } +one sink_5_13457( A&); // { dg-message "candidates" } +three sink_5_13457(volatile A&); // { dg-message "note" } +four sink_5_13457(const volatile A&); // { dg-message "note" } +five sink_5_13457( A&&); // { dg-message "note" } +seven sink_5_13457(volatile A&&); // { dg-message "note" } int test5_13457() { @@ -250,11 +250,11 @@ int test5_13457() return 0; } -one sink_5_13467( A&); // { dg-error "" } -three sink_5_13467(volatile A&); // { dg-error "" } -four sink_5_13467(const volatile A&); // { dg-error "" } -six sink_5_13467(const A&&); // { dg-error "" } -seven sink_5_13467(volatile A&&); // { dg-error "" } +one sink_5_13467( A&); // { dg-message "candidates" } +three sink_5_13467(volatile A&); // { dg-message "note" } +four sink_5_13467(const volatile A&); // { dg-message "note" } +six sink_5_13467(const A&&); // { dg-message "note" } +seven sink_5_13467(volatile A&&); // { dg-message "note" } int test5_13467() { @@ -267,11 +267,11 @@ int test5_13467() return 0; } -one sink_5_13567( A&); // { dg-error "" } -three sink_5_13567(volatile A&); // { dg-error "" } -five sink_5_13567( A&&); // { dg-error "" } -six sink_5_13567(const A&&); // { dg-error "" } -seven sink_5_13567(volatile A&&); // { dg-error "" } +one sink_5_13567( A&); // { dg-message "candidates" } +three sink_5_13567(volatile A&); // { dg-message "note" } +five sink_5_13567( A&&); // { dg-message "note" } +six sink_5_13567(const A&&); // { dg-message "note" } +seven sink_5_13567(volatile A&&); // { dg-message "note" } int test5_13567() { @@ -286,9 +286,9 @@ int test5_13567() one sink_5_13678( A&); three sink_5_13678(volatile A&); -six sink_5_13678(const A&&); // { dg-error "" } -seven sink_5_13678(volatile A&&); // { dg-error "" } -eight sink_5_13678(const volatile A&&); // { dg-error "" } +six sink_5_13678(const A&&); // { dg-message "candidates" } +seven sink_5_13678(volatile A&&); // { dg-message "note" } +eight sink_5_13678(const volatile A&&); // { dg-message "note" } int test5_13678() { @@ -300,11 +300,11 @@ int test5_13678() return 0; } -one sink_5_14567( A&); // { dg-error "" } -four sink_5_14567(const volatile A&); // { dg-error "" } -five sink_5_14567( A&&); // { dg-error "" } -six sink_5_14567(const A&&); // { dg-error "" } -seven sink_5_14567(volatile A&&); // { dg-error "" } +one sink_5_14567( A&); // { dg-message "candidates" } +four sink_5_14567(const volatile A&); // { dg-message "note" } +five sink_5_14567( A&&); // { dg-message "note" } +six sink_5_14567(const A&&); // { dg-message "note" } +seven sink_5_14567(volatile A&&); // { dg-message "note" } int test5_14567() { @@ -318,9 +318,9 @@ int test5_14567() one sink_5_14678( A&); four sink_5_14678(const volatile A&); -six sink_5_14678(const A&&); // { dg-error "" } -seven sink_5_14678(volatile A&&); // { dg-error "" } -eight sink_5_14678(const volatile A&&); // { dg-error "" } +six sink_5_14678(const A&&); // { dg-message "candidates" } +seven sink_5_14678(volatile A&&); // { dg-message "note" } +eight sink_5_14678(const volatile A&&); // { dg-message "note" } int test5_14678() { @@ -332,11 +332,11 @@ int test5_14678() return 0; } -two sink_5_23456(const A&); // { dg-error "" } -three sink_5_23456(volatile A&); // { dg-error "" } -four sink_5_23456(const volatile A&); // { dg-error "" } -five sink_5_23456( A&&); // { dg-error "" } -six sink_5_23456(const A&&); // { dg-error "" } +two sink_5_23456(const A&); // { dg-message "candidates" } +three sink_5_23456(volatile A&); // { dg-message "note" } +four sink_5_23456(const volatile A&); // { dg-message "note" } +five sink_5_23456( A&&); // { dg-message "note" } +six sink_5_23456(const A&&); // { dg-message "note" } int test5_23456() { @@ -350,11 +350,11 @@ int test5_23456() return 0; } -two sink_5_23457(const A&); // { dg-error "" } -three sink_5_23457(volatile A&); // { dg-error "" } -four sink_5_23457(const volatile A&); // { dg-error "" } -five sink_5_23457( A&&); // { dg-error "" } -seven sink_5_23457(volatile A&&); // { dg-error "" } +two sink_5_23457(const A&); // { dg-message "candidates" } +three sink_5_23457(volatile A&); // { dg-message "note" } +four sink_5_23457(const volatile A&); // { dg-message "note" } +five sink_5_23457( A&&); // { dg-message "note" } +seven sink_5_23457(volatile A&&); // { dg-message "note" } int test5_23457() { @@ -367,11 +367,11 @@ int test5_23457() return 0; } -two sink_5_23458(const A&); // { dg-error "" } -three sink_5_23458(volatile A&); // { dg-error "" } -four sink_5_23458(const volatile A&); // { dg-error "" } -five sink_5_23458( A&&); // { dg-error "" } -eight sink_5_23458(const volatile A&&); // { dg-error "" } +two sink_5_23458(const A&); // { dg-message "candidates" } +three sink_5_23458(volatile A&); // { dg-message "note" } +four sink_5_23458(const volatile A&); // { dg-message "note" } +five sink_5_23458( A&&); // { dg-message "note" } +eight sink_5_23458(const volatile A&&); // { dg-message "note" } int test5_23458() { @@ -383,11 +383,11 @@ int test5_23458() return 0; } -two sink_5_23467(const A&); // { dg-error "" } -three sink_5_23467(volatile A&); // { dg-error "" } -four sink_5_23467(const volatile A&); // { dg-error "" } -six sink_5_23467(const A&&); // { dg-error "" } -seven sink_5_23467(volatile A&&); // { dg-error "" } +two sink_5_23467(const A&); // { dg-message "candidates" } +three sink_5_23467(volatile A&); // { dg-message "note" } +four sink_5_23467(const volatile A&); // { dg-message "note" } +six sink_5_23467(const A&&); // { dg-message "note" } +seven sink_5_23467(volatile A&&); // { dg-message "note" } int test5_23467() { @@ -401,11 +401,11 @@ int test5_23467() return 0; } -two sink_5_23468(const A&); // { dg-error "" } -three sink_5_23468(volatile A&); // { dg-error "" } -four sink_5_23468(const volatile A&); // { dg-error "" } -six sink_5_23468(const A&&); // { dg-error "" } -eight sink_5_23468(const volatile A&&); // { dg-error "" } +two sink_5_23468(const A&); // { dg-message "candidates" } +three sink_5_23468(volatile A&); // { dg-message "note" } +four sink_5_23468(const volatile A&); // { dg-message "note" } +six sink_5_23468(const A&&); // { dg-message "note" } +eight sink_5_23468(const volatile A&&); // { dg-message "note" } int test5_23468() { @@ -417,11 +417,11 @@ int test5_23468() return 0; } -two sink_5_23478(const A&); // { dg-error "" } -three sink_5_23478(volatile A&); // { dg-error "" } -four sink_5_23478(const volatile A&); // { dg-error "" } -seven sink_5_23478(volatile A&&); // { dg-error "" } -eight sink_5_23478(const volatile A&&); // { dg-error "" } +two sink_5_23478(const A&); // { dg-message "candidates" } +three sink_5_23478(volatile A&); // { dg-message "note" } +four sink_5_23478(const volatile A&); // { dg-message "note" } +seven sink_5_23478(volatile A&&); // { dg-message "note" } +eight sink_5_23478(const volatile A&&); // { dg-message "note" } int test5_23478() { @@ -433,11 +433,11 @@ int test5_23478() return 0; } -two sink_5_23567(const A&); // { dg-error "" } -three sink_5_23567(volatile A&); // { dg-error "" } -five sink_5_23567( A&&); // { dg-error "" } -six sink_5_23567(const A&&); // { dg-error "" } -seven sink_5_23567(volatile A&&); // { dg-error "" } +two sink_5_23567(const A&); // { dg-message "candidates" } +three sink_5_23567(volatile A&); // { dg-message "note" } +five sink_5_23567( A&&); // { dg-message "note" } +six sink_5_23567(const A&&); // { dg-message "note" } +seven sink_5_23567(volatile A&&); // { dg-message "note" } int test5_23567() { @@ -451,11 +451,11 @@ int test5_23567() return 0; } -two sink_5_23568(const A&); // { dg-error "" } -three sink_5_23568(volatile A&); // { dg-error "" } -five sink_5_23568( A&&); // { dg-error "" } -six sink_5_23568(const A&&); // { dg-error "" } -eight sink_5_23568(const volatile A&&); // { dg-error "" } +two sink_5_23568(const A&); // { dg-message "candidates" } +three sink_5_23568(volatile A&); // { dg-message "note" } +five sink_5_23568( A&&); // { dg-message "note" } +six sink_5_23568(const A&&); // { dg-message "note" } +eight sink_5_23568(const volatile A&&); // { dg-message "note" } int test5_23568() { @@ -467,11 +467,11 @@ int test5_23568() return 0; } -two sink_5_23578(const A&); // { dg-error "" } -three sink_5_23578(volatile A&); // { dg-error "" } -five sink_5_23578( A&&); // { dg-error "" } -seven sink_5_23578(volatile A&&); // { dg-error "" } -eight sink_5_23578(const volatile A&&); // { dg-error "" } +two sink_5_23578(const A&); // { dg-message "candidates" } +three sink_5_23578(volatile A&); // { dg-message "note" } +five sink_5_23578( A&&); // { dg-message "note" } +seven sink_5_23578(volatile A&&); // { dg-message "note" } +eight sink_5_23578(const volatile A&&); // { dg-message "note" } int test5_23578() { @@ -483,11 +483,11 @@ int test5_23578() return 0; } -two sink_5_23678(const A&); // { dg-error "" } -three sink_5_23678(volatile A&); // { dg-error "" } -six sink_5_23678(const A&&); // { dg-error "" } -seven sink_5_23678(volatile A&&); // { dg-error "" } -eight sink_5_23678(const volatile A&&); // { dg-error "" } +two sink_5_23678(const A&); // { dg-message "candidates" } +three sink_5_23678(volatile A&); // { dg-message "note" } +six sink_5_23678(const A&&); // { dg-message "note" } +seven sink_5_23678(volatile A&&); // { dg-message "note" } +eight sink_5_23678(const volatile A&&); // { dg-message "note" } int test5_23678() { @@ -500,11 +500,11 @@ int test5_23678() return 0; } -two sink_5_24567(const A&); // { dg-error "" } -four sink_5_24567(const volatile A&); // { dg-error "" } -five sink_5_24567( A&&); // { dg-error "" } -six sink_5_24567(const A&&); // { dg-error "" } -seven sink_5_24567(volatile A&&); // { dg-error "" } +two sink_5_24567(const A&); // { dg-message "candidates" } +four sink_5_24567(const volatile A&); // { dg-message "note" } +five sink_5_24567( A&&); // { dg-message "note" } +six sink_5_24567(const A&&); // { dg-message "note" } +seven sink_5_24567(volatile A&&); // { dg-message "note" } int test5_24567() { @@ -516,11 +516,11 @@ int test5_24567() return 0; } -two sink_5_24678(const A&); // { dg-error "" } +two sink_5_24678(const A&); // { dg-message "candidates" } four sink_5_24678(const volatile A&); -six sink_5_24678(const A&&); // { dg-error "" } -seven sink_5_24678(volatile A&&); // { dg-error "" } -eight sink_5_24678(const volatile A&&); // { dg-error "" } +six sink_5_24678(const A&&); // { dg-message "note" } +seven sink_5_24678(volatile A&&); // { dg-message "note" } +eight sink_5_24678(const volatile A&&); // { dg-message "note" } int test5_24678() { @@ -532,11 +532,11 @@ int test5_24678() return 0; } -three sink_5_34567(volatile A&); // { dg-error "" } -four sink_5_34567(const volatile A&); // { dg-error "" } -five sink_5_34567( A&&); // { dg-error "" } -six sink_5_34567(const A&&); // { dg-error "" } -seven sink_5_34567(volatile A&&); // { dg-error "" } +three sink_5_34567(volatile A&); // { dg-message "candidates" } +four sink_5_34567(const volatile A&); // { dg-message "note" } +five sink_5_34567( A&&); // { dg-message "note" } +six sink_5_34567(const A&&); // { dg-message "note" } +seven sink_5_34567(volatile A&&); // { dg-message "note" } int test5_34567() { @@ -550,9 +550,9 @@ int test5_34567() three sink_5_34678(volatile A&); four sink_5_34678(const volatile A&); -six sink_5_34678(const A&&); // { dg-error "" } -seven sink_5_34678(volatile A&&); // { dg-error "" } -eight sink_5_34678(const volatile A&&); // { dg-error "" } +six sink_5_34678(const A&&); // { dg-message "candidates" } +seven sink_5_34678(volatile A&&); // { dg-message "note" } +eight sink_5_34678(const volatile A&&); // { dg-message "note" } int test5_34678() { diff --git a/gcc/testsuite/g++.dg/cpp0x/rv6n.C b/gcc/testsuite/g++.dg/cpp0x/rv6n.C index 9a925ef..040c0f6 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv6n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv6n.C @@ -30,12 +30,12 @@ const volatile A cv_source(); // 6 at a time -one sink_6_123456( A&); // { dg-error "" } -two sink_6_123456(const A&); // { dg-error "" } -three sink_6_123456(volatile A&); // { dg-error "" } -four sink_6_123456(const volatile A&); // { dg-error "" } -five sink_6_123456( A&&); // { dg-error "" } -six sink_6_123456(const A&&); // { dg-error "" } +one sink_6_123456( A&); // { dg-message "candidates" } +two sink_6_123456(const A&); // { dg-message "note" } +three sink_6_123456(volatile A&); // { dg-message "note" } +four sink_6_123456(const volatile A&); // { dg-message "note" } +five sink_6_123456( A&&); // { dg-message "note" } +six sink_6_123456(const A&&); // { dg-message "note" } int test6_123456() { @@ -48,12 +48,12 @@ int test6_123456() return 0; } -one sink_6_123457( A&); // { dg-error "" } -two sink_6_123457(const A&); // { dg-error "" } -three sink_6_123457(volatile A&); // { dg-error "" } -four sink_6_123457(const volatile A&); // { dg-error "" } -five sink_6_123457( A&&); // { dg-error "" } -seven sink_6_123457(volatile A&&); // { dg-error "" } +one sink_6_123457( A&); // { dg-message "candidates" } +two sink_6_123457(const A&); // { dg-message "note" } +three sink_6_123457(volatile A&); // { dg-message "note" } +four sink_6_123457(const volatile A&); // { dg-message "note" } +five sink_6_123457( A&&); // { dg-message "note" } +seven sink_6_123457(volatile A&&); // { dg-message "note" } int test6_123457() { @@ -65,12 +65,12 @@ int test6_123457() return 0; } -two sink_6_235678(const A&); // { dg-error "" } -three sink_6_235678(volatile A&); // { dg-error "" } -five sink_6_235678( A&&); // { dg-error "" } -six sink_6_235678(const A&&); // { dg-error "" } -seven sink_6_235678(volatile A&&); // { dg-error "" } -eight sink_6_235678(const volatile A&&); // { dg-error "" } +two sink_6_235678(const A&); // { dg-message "candidates" } +three sink_6_235678(volatile A&); // { dg-message "note" } +five sink_6_235678( A&&); // { dg-message "note" } +six sink_6_235678(const A&&); // { dg-message "note" } +seven sink_6_235678(volatile A&&); // { dg-message "note" } +eight sink_6_235678(const volatile A&&); // { dg-message "note" } int test6_235678() { @@ -82,12 +82,12 @@ int test6_235678() return 0; } -two sink_6_234678(const A&); // { dg-error "" } -three sink_6_234678(volatile A&); // { dg-error "" } -four sink_6_234678(const volatile A&); // { dg-error "" } -six sink_6_234678(const A&&); // { dg-error "" } -seven sink_6_234678(volatile A&&); // { dg-error "" } -eight sink_6_234678(const volatile A&&); // { dg-error "" } +two sink_6_234678(const A&); // { dg-message "candidates" } +three sink_6_234678(volatile A&); // { dg-message "note" } +four sink_6_234678(const volatile A&); // { dg-message "note" } +six sink_6_234678(const A&&); // { dg-message "note" } +seven sink_6_234678(volatile A&&); // { dg-message "note" } +eight sink_6_234678(const volatile A&&); // { dg-message "note" } int test6_234678() { @@ -100,12 +100,12 @@ int test6_234678() return 0; } -two sink_6_234578(const A&); // { dg-error "" } -three sink_6_234578(volatile A&); // { dg-error "" } -four sink_6_234578(const volatile A&); // { dg-error "" } -five sink_6_234578( A&&); // { dg-error "" } -seven sink_6_234578(volatile A&&); // { dg-error "" } -eight sink_6_234578(const volatile A&&); // { dg-error "" } +two sink_6_234578(const A&); // { dg-message "candidates" } +three sink_6_234578(volatile A&); // { dg-message "note" } +four sink_6_234578(const volatile A&); // { dg-message "note" } +five sink_6_234578( A&&); // { dg-message "note" } +seven sink_6_234578(volatile A&&); // { dg-message "note" } +eight sink_6_234578(const volatile A&&); // { dg-message "note" } int test6_234578() { @@ -117,12 +117,12 @@ int test6_234578() return 0; } -two sink_6_234568(const A&); // { dg-error "" } -three sink_6_234568(volatile A&); // { dg-error "" } -four sink_6_234568(const volatile A&); // { dg-error "" } -five sink_6_234568( A&&); // { dg-error "" } -six sink_6_234568(const A&&); // { dg-error "" } -eight sink_6_234568(const volatile A&&); // { dg-error "" } +two sink_6_234568(const A&); // { dg-message "candidates" } +three sink_6_234568(volatile A&); // { dg-message "note" } +four sink_6_234568(const volatile A&); // { dg-message "note" } +five sink_6_234568( A&&); // { dg-message "note" } +six sink_6_234568(const A&&); // { dg-message "note" } +eight sink_6_234568(const volatile A&&); // { dg-message "note" } int test6_234568() { @@ -134,12 +134,12 @@ int test6_234568() return 0; } -two sink_6_234567(const A&); // { dg-error "" } -three sink_6_234567(volatile A&); // { dg-error "" } -four sink_6_234567(const volatile A&); // { dg-error "" } -five sink_6_234567( A&&); // { dg-error "" } -six sink_6_234567(const A&&); // { dg-error "" } -seven sink_6_234567(volatile A&&); // { dg-error "" } +two sink_6_234567(const A&); // { dg-message "candidates" } +three sink_6_234567(volatile A&); // { dg-message "note" } +four sink_6_234567(const volatile A&); // { dg-message "note" } +five sink_6_234567( A&&); // { dg-message "note" } +six sink_6_234567(const A&&); // { dg-message "note" } +seven sink_6_234567(volatile A&&); // { dg-message "note" } int test6_234567() { @@ -155,9 +155,9 @@ int test6_234567() one sink_6_134678( A&); three sink_6_134678(volatile A&); four sink_6_134678(const volatile A&); -six sink_6_134678(const A&&); // { dg-error "" } -seven sink_6_134678(volatile A&&); // { dg-error "" } -eight sink_6_134678(const volatile A&&); // { dg-error "" } +six sink_6_134678(const A&&); // { dg-message "candidates" } +seven sink_6_134678(volatile A&&); // { dg-message "note" } +eight sink_6_134678(const volatile A&&); // { dg-message "note" } int test6_134678() { @@ -170,11 +170,11 @@ int test6_134678() } one sink_6_124678( A&); -two sink_6_124678(const A&); // { dg-error "" } +two sink_6_124678(const A&); // { dg-message "candidates" } four sink_6_124678(const volatile A&); -six sink_6_124678(const A&&); // { dg-error "" } -seven sink_6_124678(volatile A&&); // { dg-error "" } -eight sink_6_124678(const volatile A&&); // { dg-error "" } +six sink_6_124678(const A&&); // { dg-message "note" } +seven sink_6_124678(volatile A&&); // { dg-message "note" } +eight sink_6_124678(const volatile A&&); // { dg-message "note" } int test6_124678() { @@ -187,11 +187,11 @@ int test6_124678() } one sink_6_123678( A&); -two sink_6_123678(const A&); // { dg-error "" } +two sink_6_123678(const A&); // { dg-message "candidates" } three sink_6_123678(volatile A&); -six sink_6_123678(const A&&); // { dg-error "" } -seven sink_6_123678(volatile A&&); // { dg-error "" } -eight sink_6_123678(const volatile A&&); // { dg-error "" } +six sink_6_123678(const A&&); // { dg-message "note" } +seven sink_6_123678(volatile A&&); // { dg-message "note" } +eight sink_6_123678(const volatile A&&); // { dg-message "note" } int test6_123678() { @@ -203,12 +203,12 @@ int test6_123678() return 0; } -one sink_6_123567( A&); // { dg-error "" } -two sink_6_123567(const A&); // { dg-error "" } -three sink_6_123567(volatile A&); // { dg-error "" } -five sink_6_123567( A&&); // { dg-error "" } -six sink_6_123567(const A&&); // { dg-error "" } -seven sink_6_123567(volatile A&&); // { dg-error "" } +one sink_6_123567( A&); // { dg-message "candidates" } +two sink_6_123567(const A&); // { dg-message "note" } +three sink_6_123567(volatile A&); // { dg-message "note" } +five sink_6_123567( A&&); // { dg-message "note" } +six sink_6_123567(const A&&); // { dg-message "note" } +seven sink_6_123567(volatile A&&); // { dg-message "note" } int test6_123567() { @@ -221,12 +221,12 @@ int test6_123567() return 0; } -one sink_6_123467( A&); // { dg-error "" } -two sink_6_123467(const A&); // { dg-error "" } -three sink_6_123467(volatile A&); // { dg-error "" } -four sink_6_123467(const volatile A&); // { dg-error "" } -six sink_6_123467(const A&&); // { dg-error "" } -seven sink_6_123467(volatile A&&); // { dg-error "" } +one sink_6_123467( A&); // { dg-message "candidates" } +two sink_6_123467(const A&); // { dg-message "note" } +three sink_6_123467(volatile A&); // { dg-message "note" } +four sink_6_123467(const volatile A&); // { dg-message "note" } +six sink_6_123467(const A&&); // { dg-message "note" } +seven sink_6_123467(volatile A&&); // { dg-message "note" } int test6_123467() { @@ -239,12 +239,12 @@ int test6_123467() return 0; } -one sink_6_124567( A&); // { dg-error "" } -two sink_6_124567(const A&); // { dg-error "" } -four sink_6_124567(const volatile A&); // { dg-error "" } -five sink_6_124567( A&&); // { dg-error "" } -six sink_6_124567(const A&&); // { dg-error "" } -seven sink_6_124567(volatile A&&); // { dg-error "" } +one sink_6_124567( A&); // { dg-message "candidates" } +two sink_6_124567(const A&); // { dg-message "note" } +four sink_6_124567(const volatile A&); // { dg-message "note" } +five sink_6_124567( A&&); // { dg-message "note" } +six sink_6_124567(const A&&); // { dg-message "note" } +seven sink_6_124567(volatile A&&); // { dg-message "note" } int test6_124567() { @@ -256,12 +256,12 @@ int test6_124567() return 0; } -one sink_6_134567( A&); // { dg-error "" } -three sink_6_134567(volatile A&); // { dg-error "" } -four sink_6_134567(const volatile A&); // { dg-error "" } -five sink_6_134567( A&&); // { dg-error "" } -six sink_6_134567(const A&&); // { dg-error "" } -seven sink_6_134567(volatile A&&); // { dg-error "" } +one sink_6_134567( A&); // { dg-message "candidates" } +three sink_6_134567(volatile A&); // { dg-message "note" } +four sink_6_134567(const volatile A&); // { dg-message "note" } +five sink_6_134567( A&&); // { dg-message "note" } +six sink_6_134567(const A&&); // { dg-message "note" } +seven sink_6_134567(volatile A&&); // { dg-message "note" } int test6_134567() { diff --git a/gcc/testsuite/g++.dg/cpp0x/rv7n.C b/gcc/testsuite/g++.dg/cpp0x/rv7n.C index acd884b..9d81bd5 100644 --- a/gcc/testsuite/g++.dg/cpp0x/rv7n.C +++ b/gcc/testsuite/g++.dg/cpp0x/rv7n.C @@ -1,6 +1,6 @@ // I, Howard Hinnant, hereby place this code in the public domain. -// Test overlaod resolution among referece types +// Test overload resolution among reference types // { dg-do compile } // { dg-options "-std=c++0x" } @@ -30,13 +30,13 @@ const volatile A cv_source(); // 7 at a time -one sink_7_1234567( A&); // { dg-error "" } -two sink_7_1234567(const A&); // { dg-error "" } -three sink_7_1234567(volatile A&); // { dg-error "" } -four sink_7_1234567(const volatile A&); // { dg-error "" } -five sink_7_1234567( A&&); // { dg-error "" } -six sink_7_1234567(const A&&); // { dg-error "" } -seven sink_7_1234567(volatile A&&); // { dg-error "" } +one sink_7_1234567( A&); // { dg-message "candidates" } +two sink_7_1234567(const A&); // { dg-message "note" } +three sink_7_1234567(volatile A&); // { dg-message "note" } +four sink_7_1234567(const volatile A&); // { dg-message "note" } +five sink_7_1234567( A&&); // { dg-message "note" } +six sink_7_1234567(const A&&); // { dg-message "note" } +seven sink_7_1234567(volatile A&&); // { dg-message "note" } int test7_1234567() { @@ -48,13 +48,13 @@ int test7_1234567() return 0; } -two sink_7_2345678(const A&); // { dg-error "" } -three sink_7_2345678(volatile A&); // { dg-error "" } -four sink_7_2345678(const volatile A&); // { dg-error "" } -five sink_7_2345678( A&&); // { dg-error "" } -six sink_7_2345678(const A&&); // { dg-error "" } -seven sink_7_2345678(volatile A&&); // { dg-error "" } -eight sink_7_2345678(const volatile A&&); // { dg-error "" } +two sink_7_2345678(const A&); // { dg-message "candidates" } +three sink_7_2345678(volatile A&); // { dg-message "note" } +four sink_7_2345678(const volatile A&); // { dg-message "note" } +five sink_7_2345678( A&&); // { dg-message "note" } +six sink_7_2345678(const A&&); // { dg-message "note" } +seven sink_7_2345678(volatile A&&); // { dg-message "note" } +eight sink_7_2345678(const volatile A&&); // { dg-message "note" } int test7_2345678() { @@ -67,12 +67,12 @@ int test7_2345678() } one sink_7_1234678( A&); -two sink_7_1234678(const A&); // { dg-error "" } +two sink_7_1234678(const A&); // { dg-message "candidates" } three sink_7_1234678(volatile A&); four sink_7_1234678(const volatile A&); -six sink_7_1234678(const A&&); // { dg-error "" } -seven sink_7_1234678(volatile A&&); // { dg-error "" } -eight sink_7_1234678(const volatile A&&); // { dg-error "" } +six sink_7_1234678(const A&&); // { dg-message "note" } +seven sink_7_1234678(volatile A&&); // { dg-message "note" } +eight sink_7_1234678(const volatile A&&); // { dg-message "note" } int test7_1234678() { diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic-ex13.C b/gcc/testsuite/g++.dg/cpp0x/variadic-ex13.C index f1cce3a..b742cb1 100644 --- a/gcc/testsuite/g++.dg/cpp0x/variadic-ex13.C +++ b/gcc/testsuite/g++.dg/cpp0x/variadic-ex13.C @@ -34,6 +34,6 @@ template<typename... Args> void g(Args... args) f(const_cast<const Args*>(&args)...); // okay: ``Args'' and ``args'' are expanded f(5 ...); // { dg-error "contains no argument packs" } f(args); // { dg-error "parameter packs not expanded" } - // { dg-error "args" "" { target *-*-* } 36 } + // { dg-message "args" "note" { target *-*-* } 36 } f(h(args...) + args...); // okay: first ``args'' expanded within h, second ``args'' expanded within f. } diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic36.C b/gcc/testsuite/g++.dg/cpp0x/variadic36.C index 370d475..9063602 100644 --- a/gcc/testsuite/g++.dg/cpp0x/variadic36.C +++ b/gcc/testsuite/g++.dg/cpp0x/variadic36.C @@ -11,5 +11,5 @@ struct tuple_base { }; template<typename... Values> struct tuple : tuple_base<Values> { }; // { dg-error "packs not expanded" } -// { dg-error "args" "" { target *-*-* } 5 } -// { dg-error "Values" "" { target *-*-* } 12 } +// { dg-message "args" "note" { target *-*-* } 5 } +// { dg-message "Values" "note" { target *-*-* } 12 } diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic59.C b/gcc/testsuite/g++.dg/cpp0x/variadic59.C index f0730d3..6d6e52f 100644 --- a/gcc/testsuite/g++.dg/cpp0x/variadic59.C +++ b/gcc/testsuite/g++.dg/cpp0x/variadic59.C @@ -1,4 +1,4 @@ // { dg-options "-std=gnu++0x" } template<class T, typename... VarArgs> void print(T t, VarArgs args); // { dg-error "packs not expanded" } -// { dg-error "VarArgs" "" { target *-*-* } 3 } +// { dg-message "VarArgs" "note" { target *-*-* } 3 } diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic71.C b/gcc/testsuite/g++.dg/cpp0x/variadic71.C index d4219da..bea3cc3 100644 --- a/gcc/testsuite/g++.dg/cpp0x/variadic71.C +++ b/gcc/testsuite/g++.dg/cpp0x/variadic71.C @@ -9,4 +9,4 @@ struct push_front<list<Elements...>, Head> { typedef list<Head, Elements> type; // { dg-error "parameter packs not expanded" } }; -// { dg-error "Elements" "" { target *-*-* } 9 } +// { dg-message "Elements" "note" { target *-*-* } 9 } diff --git a/gcc/testsuite/g++.dg/expr/cond9.C b/gcc/testsuite/g++.dg/expr/cond9.C index 9e8f08c..e71a84b 100644 --- a/gcc/testsuite/g++.dg/expr/cond9.C +++ b/gcc/testsuite/g++.dg/expr/cond9.C @@ -1,7 +1,7 @@ // PR c++/27666 -struct A { // { dg-error "A" } - A(int); // { dg-error "A" } +struct A { // { dg-message "A" } + A(int); // { dg-message "A" } }; void foo(volatile A a) { diff --git a/gcc/testsuite/g++.dg/expr/pmf-1.C b/gcc/testsuite/g++.dg/expr/pmf-1.C index 9bb8a03..8f6426b 100644 --- a/gcc/testsuite/g++.dg/expr/pmf-1.C +++ b/gcc/testsuite/g++.dg/expr/pmf-1.C @@ -7,13 +7,13 @@ struct A { void f(); - void foo(void (A::*)(int)); // { dg-error "candidate" "" } + void foo(void (A::*)(int)); // { dg-message "candidate" "" } template<typename T> void g(T); void h() { void (A::*p)() = &A::f; void (A::*q)() = &(A::f); // { dg-error "parenthesized" "" } - foo(&g<int>); // { dg-error "" "" } + foo(&g<int>); // { dg-error "no matching" "" } } }; diff --git a/gcc/testsuite/g++.dg/ext/case-range2.C b/gcc/testsuite/g++.dg/ext/case-range2.C index 33befbd..de1f2a7 100644 --- a/gcc/testsuite/g++.dg/ext/case-range2.C +++ b/gcc/testsuite/g++.dg/ext/case-range2.C @@ -11,7 +11,7 @@ T f2 (T i) { switch (i) { - case low ... high : return i + 1; // { dg-error "" } + case low ... high : return i + 1; // { dg-error "previously" } case 5 : return i + 2; // { dg-error "duplicate" } default : return 0; } @@ -20,8 +20,8 @@ T f2 (T i) int f (int i) { switch (i) { - case 1 ... 10: return i + 1; // { dg-error "" } + case 1 ... 10: return i + 1; // { dg-error "first entry" } case 3 ... 5 : return i + 3; // { dg-error "duplicate" } - default: return f2 (i); // { dg-error "" } + default: return f2 (i); // { dg-message "instantiated" } } } diff --git a/gcc/testsuite/g++.dg/ext/case-range3.C b/gcc/testsuite/g++.dg/ext/case-range3.C index 569ce62..5a09c12 100644 --- a/gcc/testsuite/g++.dg/ext/case-range3.C +++ b/gcc/testsuite/g++.dg/ext/case-range3.C @@ -9,7 +9,7 @@ T f2 (T i) { switch (i) { - case low ... high : return i + 1; // { dg-error "non-standard" } + case low ... high : return i + 1; // { dg-warning "non-standard" } default : return 0; } } @@ -17,7 +17,7 @@ T f2 (T i) int f (int i) { switch (i) { - case 1 ... 10: return i + 1; // { dg-error "non-standard" } - default: return f2 (i); // { dg-error "" } + case 1 ... 10: return i + 1; // { dg-warning "non-standard" } + default: return f2 (i); // { dg-message "instantiated" } } } diff --git a/gcc/testsuite/g++.dg/ext/is_class_error2.C b/gcc/testsuite/g++.dg/ext/is_class_error2.C index 9f19d62..8649dc4 100644 --- a/gcc/testsuite/g++.dg/ext/is_class_error2.C +++ b/gcc/testsuite/g++.dg/ext/is_class_error2.C @@ -13,7 +13,7 @@ template<int> void foo() __is_abstract(int)(); // { dg-error "'__is_abstract\\(int\\)' cannot be used" } __is_base_of(int, float)(); // { dg-error "'__is_base_of\\(int, float\\)' cannot be used" } __is_class(int)(); // { dg-error "'__is_class\\(int\\)' cannot be used" } - __is_convertible_to(int, float)(); // { dg-error "unimplemented" } + __is_convertible_to(int, float)(); // { dg-message "unimplemented" } __is_empty(int)(); // { dg-error "'__is_empty\\(int\\)' cannot be used" } __is_enum(int)(); // { dg-error "'__is_enum\\(int\\)' cannot be used" } __is_pod(int)(); // { dg-error "'__is_pod\\(int\\)' cannot be used" } diff --git a/gcc/testsuite/g++.dg/ext/label5.C b/gcc/testsuite/g++.dg/ext/label5.C index 0032b0f..9c5a24e 100644 --- a/gcc/testsuite/g++.dg/ext/label5.C +++ b/gcc/testsuite/g++.dg/ext/label5.C @@ -4,4 +4,4 @@ struct A { }; int main() { b: A() && && b; } // { dg-error "A\\(\\) && && *b" } -// { dg-error "candidate" "additional" { target *-*-* } 5 } +// { dg-message "candidate" "additional" { target *-*-* } 5 } diff --git a/gcc/testsuite/g++.dg/ext/pr27019.C b/gcc/testsuite/g++.dg/ext/pr27019.C index d764418..c96d51c 100644 --- a/gcc/testsuite/g++.dg/ext/pr27019.C +++ b/gcc/testsuite/g++.dg/ext/pr27019.C @@ -8,4 +8,4 @@ struct A int z[1]; }; -A a = { z:{} }; // { dg-error "unimplemented" } +A a = { z:{} }; // { dg-message "unimplemented" } diff --git a/gcc/testsuite/g++.dg/gomp/pr26690-1.C b/gcc/testsuite/g++.dg/gomp/pr26690-1.C index 9efd8d4..3b7a4f8 100644 --- a/gcc/testsuite/g++.dg/gomp/pr26690-1.C +++ b/gcc/testsuite/g++.dg/gomp/pr26690-1.C @@ -2,8 +2,8 @@ // { dg-do compile } struct A -{ // { dg-error "A::A\\(const A&\\)" } - A (int); // { dg-error "candidates" } +{ // { dg-message "A::A\\(const A&\\)" } + A (int); // { dg-message "candidates" } }; void diff --git a/gcc/testsuite/g++.dg/gomp/pr26690-2.C b/gcc/testsuite/g++.dg/gomp/pr26690-2.C index 4ebf677..5d29f32 100644 --- a/gcc/testsuite/g++.dg/gomp/pr26690-2.C +++ b/gcc/testsuite/g++.dg/gomp/pr26690-2.C @@ -3,8 +3,8 @@ struct A { - A (int x = 6); // { dg-error "A::A\\(int\\)" } - A (long long x = 12LL); // { dg-error "candidates" } + A (int x = 6); // { dg-message "A::A\\(int\\)" } + A (long long x = 12LL); // { dg-message "candidates" } }; void diff --git a/gcc/testsuite/g++.dg/gomp/pr34694.C b/gcc/testsuite/g++.dg/gomp/pr34694.C index 5b98bd2..c225e15 100644 --- a/gcc/testsuite/g++.dg/gomp/pr34694.C +++ b/gcc/testsuite/g++.dg/gomp/pr34694.C @@ -9,7 +9,7 @@ foo () { #pragma omp parallel { - int j; // { dg-warning "note: 'j' was declared here" } + int j; // { dg-message "note: 'j' was declared here" } i = j; // { dg-warning "is used uninitialized" } } } diff --git a/gcc/testsuite/g++.dg/gomp/tpl-parallel-2.C b/gcc/testsuite/g++.dg/gomp/tpl-parallel-2.C index 3f2e3bb..2dceb09 100644 --- a/gcc/testsuite/g++.dg/gomp/tpl-parallel-2.C +++ b/gcc/testsuite/g++.dg/gomp/tpl-parallel-2.C @@ -17,4 +17,4 @@ void S<T>::test() template struct S<int>; template struct S<long>; -template struct S<float>; // { dg-error "instantiated from here" } +template struct S<float>; // { dg-message "instantiated from here" } diff --git a/gcc/testsuite/g++.dg/inherit/base3.C b/gcc/testsuite/g++.dg/inherit/base3.C index c586e39..866b290 100644 --- a/gcc/testsuite/g++.dg/inherit/base3.C +++ b/gcc/testsuite/g++.dg/inherit/base3.C @@ -5,4 +5,4 @@ template<typename T> struct A : T {}; // { dg-error "struct or class type" } struct B; -A<void (B::*)()> a; // { dg-error "instantiated" } +A<void (B::*)()> a; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/inherit/using6.C b/gcc/testsuite/g++.dg/inherit/using6.C index 46c23ce..7bdfc340 100644 --- a/gcc/testsuite/g++.dg/inherit/using6.C +++ b/gcc/testsuite/g++.dg/inherit/using6.C @@ -12,4 +12,4 @@ template <typename T> struct TPL : A }; TPL<int> i; -TPL<float> j; // { dg-error "instantiated" } +TPL<float> j; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/init/brace6.C b/gcc/testsuite/g++.dg/init/brace6.C index 066d1ba..bff89da 100644 --- a/gcc/testsuite/g++.dg/init/brace6.C +++ b/gcc/testsuite/g++.dg/init/brace6.C @@ -6,7 +6,7 @@ struct A { }; struct B { - B(const B&); // { dg-error "candidate" } + B(const B&); // { dg-message "candidate" } int b; }; diff --git a/gcc/testsuite/g++.dg/init/ctor4.C b/gcc/testsuite/g++.dg/init/ctor4.C index 70643ec..0671dd8 100644 --- a/gcc/testsuite/g++.dg/init/ctor4.C +++ b/gcc/testsuite/g++.dg/init/ctor4.C @@ -16,5 +16,5 @@ foo::foo() { int main(int argc, char **argv) { - bar x; // { dg-error "synthesized" } + bar x; // { dg-message "synthesized" } } diff --git a/gcc/testsuite/g++.dg/lookup/conv-1.C b/gcc/testsuite/g++.dg/lookup/conv-1.C index 6a595f7..b861c60 100644 --- a/gcc/testsuite/g++.dg/lookup/conv-1.C +++ b/gcc/testsuite/g++.dg/lookup/conv-1.C @@ -7,12 +7,12 @@ struct A1 { - operator int () const; // { dg-error "A1::operator" "" } + operator int () const; // { dg-message "A1::operator" "" } }; struct A2 { - operator int () const; // { dg-error "A2::operator" "" } + operator int () const; // { dg-message "A2::operator" "" } }; struct B : A1, A2 diff --git a/gcc/testsuite/g++.dg/lookup/new1.C b/gcc/testsuite/g++.dg/lookup/new1.C index ae11213..b29aa46 100644 --- a/gcc/testsuite/g++.dg/lookup/new1.C +++ b/gcc/testsuite/g++.dg/lookup/new1.C @@ -10,4 +10,4 @@ int main() { return 0; } -// { dg-error "candidate" "" { target *-*-* } 0 } +// { dg-message "candidate" "" { target *-*-* } 0 } diff --git a/gcc/testsuite/g++.dg/lookup/scoped6.C b/gcc/testsuite/g++.dg/lookup/scoped6.C index d9566a7..b83b08f 100644 --- a/gcc/testsuite/g++.dg/lookup/scoped6.C +++ b/gcc/testsuite/g++.dg/lookup/scoped6.C @@ -10,7 +10,7 @@ public: class Bar { Foo<int> foo_; public: - Bar() {} // { dg-error "instantiated" } + Bar() {} // { dg-message "instantiated" } }; template class Foo<int>; diff --git a/gcc/testsuite/g++.dg/lookup/using7.C b/gcc/testsuite/g++.dg/lookup/using7.C index e62d3f3..b250c58 100644 --- a/gcc/testsuite/g++.dg/lookup/using7.C +++ b/gcc/testsuite/g++.dg/lookup/using7.C @@ -4,8 +4,9 @@ template <typename T, bool=T::X> struct A }; template <typename T> struct B : A<T> -{ // { dg-error "" } - using A<T>::i; // { dg-error "" } +{ // { dg-error "incomplete" } + using A<T>::i; // { dg-error "incomplete" "incomplete" } + // { dg-error "using" "using" { target *-*-* } 8 } }; -B<void> b; // { dg-error "" } +B<void> b; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/lookup/using9.C b/gcc/testsuite/g++.dg/lookup/using9.C index c622675..7c3b30d 100644 --- a/gcc/testsuite/g++.dg/lookup/using9.C +++ b/gcc/testsuite/g++.dg/lookup/using9.C @@ -4,14 +4,14 @@ // an ambiguous overload set to be created. namespace B { - void f(int); // { dg-error "note" } - void f(double); // { dg-error "note" } + void f(int); // { dg-message "candidates" } + void f(double); // { dg-message "note" } } namespace C { - void f(int); // { dg-error "note" } - void f(double); // { dg-error "note" } - void f(char); // { dg-error "note" } + void f(int); // { dg-message "note" } + void f(double); // { dg-message "note" } + void f(char); // { dg-message "note" } } void h() diff --git a/gcc/testsuite/g++.dg/other/abstract1.C b/gcc/testsuite/g++.dg/other/abstract1.C index 86962c7..8406f8a 100644 --- a/gcc/testsuite/g++.dg/other/abstract1.C +++ b/gcc/testsuite/g++.dg/other/abstract1.C @@ -5,7 +5,7 @@ // c++/9256: Make sure that a pointer to an array of abstract elements // cannot be created, not even during template substitution (DR337). -struct Abstract { virtual void f() = 0; }; // { dg-error "" } +struct Abstract { virtual void f() = 0; }; // { dg-message "note" } struct Complete { void f(); }; @@ -35,7 +35,7 @@ template <class T> struct K { T (*a)[2]; // { dg-error "abstract class type" } }; -template struct K<Abstract>; // { dg-error "from here" } +template struct K<Abstract>; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/other/abstract2.C b/gcc/testsuite/g++.dg/other/abstract2.C index d242ffd..b794932 100644 --- a/gcc/testsuite/g++.dg/other/abstract2.C +++ b/gcc/testsuite/g++.dg/other/abstract2.C @@ -19,22 +19,22 @@ namespace N1 { void g(X (*parm6)[2]); // { dg-error "abstract" } }; - struct X { // { dg-error "note" } - virtual void xfunc(void) = 0; // { dg-error "note" } + struct X { // { dg-message "note" } + virtual void xfunc(void) = 0; // { dg-message "note" } }; } namespace N2 { - struct X1 { // { dg-error "note" } - virtual void xfunc(void) = 0; // { dg-error "note" } + struct X1 { // { dg-message "note" } + virtual void xfunc(void) = 0; // { dg-message "note" } void g(X1 parm7); // { dg-error "abstract" } void g(X1 parm8[2]); // { dg-error "abstract" } void g(X1 (*parm9)[2]); // { dg-error "abstract" } }; template <int N> - struct X2 { // { dg-error "note" } - virtual void xfunc(void) = 0; // { dg-error "note" } + struct X2 { // { dg-message "note" } + virtual void xfunc(void) = 0; // { dg-message "note" } void g(X2 parm10); // { dg-error "abstract" } void g(X2 parm11[2]); // { dg-error "abstract" } void g(X2 (*parm12)[2]); // { dg-error "abstract" } @@ -42,8 +42,8 @@ namespace N2 { } namespace N3 { - struct X { // { dg-error "note" "" } - virtual void xfunc(void) = 0; // { dg-error "note" } + struct X { // { dg-message "note" "" } + virtual void xfunc(void) = 0; // { dg-message "note" } }; void g(X parm13); // { dg-error "abstract" } void g(X parm14[2]); // { dg-error "abstract" } diff --git a/gcc/testsuite/g++.dg/other/anon5.C b/gcc/testsuite/g++.dg/other/anon5.C index a82d3f7..53cf9e3 100644 --- a/gcc/testsuite/g++.dg/other/anon5.C +++ b/gcc/testsuite/g++.dg/other/anon5.C @@ -11,7 +11,7 @@ namespace { const bool &f() { - return c::t; // { dg-error "undefined" "undefined" { target *-*-* } 0 } + return c::t; // { dg-message "undefined" "undefined" { target *-*-* } 0 } // Some targets report the error for the previous line, others // don't give line number inforamtion for it, so use line 0. } diff --git a/gcc/testsuite/g++.dg/other/crash-4.C b/gcc/testsuite/g++.dg/other/crash-4.C index a37b8b2..bc2c457 100644 --- a/gcc/testsuite/g++.dg/other/crash-4.C +++ b/gcc/testsuite/g++.dg/other/crash-4.C @@ -22,5 +22,5 @@ struct b struct c { b bb; - c(const b& __a): bb(__a) {} // { dg-error "synthesized" "" { target { ! default_packed } } } + c(const b& __a): bb(__a) {} // { dg-message "synthesized" "" { target { ! default_packed } } } }; diff --git a/gcc/testsuite/g++.dg/other/error10.C b/gcc/testsuite/g++.dg/other/error10.C index d802580..9e6da65 100644 --- a/gcc/testsuite/g++.dg/other/error10.C +++ b/gcc/testsuite/g++.dg/other/error10.C @@ -10,6 +10,6 @@ void foo(const A<N> &a) void bar() { - foo(A<0>()); // { dg-error "instantiated from here" "" } + foo(A<0>()); // { dg-message "instantiated from here" "" } } diff --git a/gcc/testsuite/g++.dg/other/error13.C b/gcc/testsuite/g++.dg/other/error13.C index 037e288..d3b1eab 100644 --- a/gcc/testsuite/g++.dg/other/error13.C +++ b/gcc/testsuite/g++.dg/other/error13.C @@ -1,10 +1,10 @@ //PR c++/28258 struct A -{ // { dg-error "" } +{ // { dg-message "note" } A(void x); // { dg-error "invalid use|incomplete type|candidates" } }; struct B : A {}; // { dg-error "no matching function for call" } -B b; // { dg-error "synthesized method" } +B b; // { dg-message "synthesized method" } diff --git a/gcc/testsuite/g++.dg/other/error20.C b/gcc/testsuite/g++.dg/other/error20.C index 3c8e8f2..50a4495 100644 --- a/gcc/testsuite/g++.dg/other/error20.C +++ b/gcc/testsuite/g++.dg/other/error20.C @@ -2,7 +2,7 @@ // { dg-do compile } struct A -{ // { dg-error "candidates" } +{ // { dg-message "candidates" } virtual A foo (); }; diff --git a/gcc/testsuite/g++.dg/other/error5.C b/gcc/testsuite/g++.dg/other/error5.C index 552f7bf..c7a142f 100644 --- a/gcc/testsuite/g++.dg/other/error5.C +++ b/gcc/testsuite/g++.dg/other/error5.C @@ -10,4 +10,4 @@ template <typename T> struct S2 : S<T> { using S<T>::operator typename S<T>::I*; // { dg-error "operator S\\<int\\>" "" } }; -template struct S2<int>; // { dg-error "instantiated" "" } +template struct S2<int>; // { dg-message "instantiated" "" } diff --git a/gcc/testsuite/g++.dg/other/field1.C b/gcc/testsuite/g++.dg/other/field1.C index 3afe3d90..61a9df6 100644 --- a/gcc/testsuite/g++.dg/other/field1.C +++ b/gcc/testsuite/g++.dg/other/field1.C @@ -22,4 +22,4 @@ template <> struct X<int> { X(); }; -X<float> i; // { dg-error "instantiated from" "" } +X<float> i; // { dg-message "instantiated from" "" } diff --git a/gcc/testsuite/g++.dg/other/offsetof5.C b/gcc/testsuite/g++.dg/other/offsetof5.C index 97dd5e9..3c48433 100644 --- a/gcc/testsuite/g++.dg/other/offsetof5.C +++ b/gcc/testsuite/g++.dg/other/offsetof5.C @@ -19,4 +19,4 @@ struct S static const int j = offsetof (S, i); // { dg-warning "invalid access|offsetof" } }; -int k = S<int>::j; // { dg-warning "instantiated from here" } +int k = S<int>::j; // { dg-message "instantiated from here" } diff --git a/gcc/testsuite/g++.dg/other/semicolon.C b/gcc/testsuite/g++.dg/other/semicolon.C index 542d3b7..efbae8b 100644 --- a/gcc/testsuite/g++.dg/other/semicolon.C +++ b/gcc/testsuite/g++.dg/other/semicolon.C @@ -5,6 +5,7 @@ struct A { - struct B { int i; } // { dg-error "3: error: new types may not be defined in a return type|note: \\(perhaps a semicolon is missing" } - void foo(); // { dg-error "12: error: two or more|return type" } + struct B { int i; } // { dg-error "3:new types may not be defined in a return type" } + // { dg-message "perhaps a semicolon is missing" "note" { target *-*-* } 8 } + void foo(); // { dg-error "12:two or more" } }; diff --git a/gcc/testsuite/g++.dg/overload/ambig1.C b/gcc/testsuite/g++.dg/overload/ambig1.C index 2adc78c..21948bf 100644 --- a/gcc/testsuite/g++.dg/overload/ambig1.C +++ b/gcc/testsuite/g++.dg/overload/ambig1.C @@ -14,8 +14,8 @@ struct B B(int); }; -void f(A); // { dg-error "" "candidate" } -void f(B); // { dg-error "" "candidate" } +void f(A); // { dg-message "note" "candidate" } +void f(B); // { dg-message "note" "candidate" } int main() { diff --git a/gcc/testsuite/g++.dg/overload/arg3.C b/gcc/testsuite/g++.dg/overload/arg3.C index 1778ce5..8ece6a6 100644 --- a/gcc/testsuite/g++.dg/overload/arg3.C +++ b/gcc/testsuite/g++.dg/overload/arg3.C @@ -10,13 +10,14 @@ struct A {}; struct B : A { - B(int); // { dg-error "" "" } - B(B&); // { dg-error "" "" } + B(int); // { dg-message "B::B" "" } + B(B&); // { dg-message "candidates" "" } }; void foo(B); void bar() { - foo(0); // { dg-error "no matching function|initializing" "" } + foo(0); // { dg-error "no matching function" "no matching" } + // { dg-error "initializing" "initializing" { target *-*-* } 21 } } diff --git a/gcc/testsuite/g++.dg/overload/builtin1.C b/gcc/testsuite/g++.dg/overload/builtin1.C index 9f66e33..652b8e1 100644 --- a/gcc/testsuite/g++.dg/overload/builtin1.C +++ b/gcc/testsuite/g++.dg/overload/builtin1.C @@ -7,10 +7,11 @@ struct A { operator B (); }; -void operator+ (B, B); // { dg-error "" "candidate" } +void operator+ (B, B); // { dg-message "operator" "operator" } int main () { A a; - a + a; // { dg-error "" "ambiguous" } + a + a; // { dg-error "ambiguous" "ambiguous" } + // { dg-message "candidates" "candidates" { target *-*-* } 15 } } diff --git a/gcc/testsuite/g++.dg/overload/copy1.C b/gcc/testsuite/g++.dg/overload/copy1.C index 87f8317..6a774c6 100644 --- a/gcc/testsuite/g++.dg/overload/copy1.C +++ b/gcc/testsuite/g++.dg/overload/copy1.C @@ -4,8 +4,8 @@ struct A; struct B { - B (A const &); // { dg-warning "note" } - B (B &); // { dg-warning "note" } + B (A const &); // { dg-message "note" } + B (B &); // { dg-message "note" } }; struct A @@ -16,5 +16,6 @@ struct A B f (B const& b) { - return b; // { dg-error "" } + return b; // { dg-error "matching" "matching" } + // { dg-error "initializing" "initializing" { target *-*-* } 19 } } diff --git a/gcc/testsuite/g++.dg/overload/new1.C b/gcc/testsuite/g++.dg/overload/new1.C index 7f89358..89282fa 100644 --- a/gcc/testsuite/g++.dg/overload/new1.C +++ b/gcc/testsuite/g++.dg/overload/new1.C @@ -16,6 +16,6 @@ void f(X *x = new X[4]); // { dg-error "" } void f(X *x = new (3) X(6)); // { dg-error "" } void f(X *x = new (2) X[10]); // { dg-error "" } -// { dg-error "candidate" "" { target *-*-* } 00 } +// { dg-message "candidate" "" { target *-*-* } 00 } void f(X *x = new X[10][5]); // { dg-error "" } diff --git a/gcc/testsuite/g++.dg/overload/template4.C b/gcc/testsuite/g++.dg/overload/template4.C index 4c3ca05..6638dc9 100644 --- a/gcc/testsuite/g++.dg/overload/template4.C +++ b/gcc/testsuite/g++.dg/overload/template4.C @@ -3,14 +3,14 @@ namespace { - template <int> void foo (...); // { dg-error "" "candidate" } - template <int> void bar (int, ...); // { dg-error "" "candidate" } - void baz (...); // { dg-error "" "candidate" } + template <int> void foo (...); // { dg-message "foo" } + template <int> void bar (int, ...); // { dg-message "bar" } + void baz (...); // { dg-message "baz" } } -template <int> void foo (...); // { dg-error "" "candidate" } -template <int> void bar (int, ...); // { dg-error "" "candidate" } -void baz (...); // { dg-error "" "candidate" } +template <int> void foo (...); // { dg-message "candidate" } +template <int> void bar (int, ...); // { dg-message "candidate" } +void baz (...); // { dg-message "candidate" } void test () diff --git a/gcc/testsuite/g++.dg/overload/using2.C b/gcc/testsuite/g++.dg/overload/using2.C index 2ecb5fa..54b1221 100644 --- a/gcc/testsuite/g++.dg/overload/using2.C +++ b/gcc/testsuite/g++.dg/overload/using2.C @@ -20,21 +20,21 @@ namespace std { extern "C" void *malloc (__SIZE_TYPE__) throw () __attribute__((malloc)); void abort (void) throw (); // these aren't - void _exit (int) throw (); // { dg-error "std::_exit" } + void _exit (int) throw (); // { dg-message "std::_exit" } extern "C" void c1 (void) throw (); - void C1 (void) throw (); // { dg-error "std::C1" } + void C1 (void) throw (); // { dg-message "std::C1" } extern "C" void c2 (void) throw (); void C2 (void) throw (); extern "C" void c3 (void) throw (); - void C3 (void) throw (); // { dg-error "std::C3" } + void C3 (void) throw (); // { dg-message "std::C3" } } namespace other { extern "C" void c3 (void) throw (); - void C3 (void) throw (); // { dg-error "other::C3" } + void C3 (void) throw (); // { dg-message "other::C3" } } using std::exit; @@ -46,10 +46,12 @@ using std::C1; extern "C" void *malloc (__SIZE_TYPE__) throw () __attribute__((malloc)); void abort (void) throw (); - void _exit (int) throw (); // { dg-error "conflicts|void _exit" } + void _exit (int) throw (); // { dg-error "conflicts" "conflicts" } + // { dg-message "void _exit" "_exit" { target *-*-* } 49 } extern "C" void c1 (void) throw (); - void C1 (void) throw (); // { dg-error "conflicts|void C1" } + void C1 (void) throw (); // { dg-error "conflicts" "conflicts" } + // { dg-message "void C1" "C1" { target *-*-* } 53 } extern "C" void c2 (void) throw (); void C2 (void) throw (); diff --git a/gcc/testsuite/g++.dg/parse/bitfield2.C b/gcc/testsuite/g++.dg/parse/bitfield2.C index 49aace1..a04d2ad 100644 --- a/gcc/testsuite/g++.dg/parse/bitfield2.C +++ b/gcc/testsuite/g++.dg/parse/bitfield2.C @@ -22,7 +22,7 @@ struct D T t : 3; // { dg-error "non-integral type" } }; -D<double> d; // { dg-error "instantiated" } +D<double> d; // { dg-message "instantiated" } template <typename T> struct E diff --git a/gcc/testsuite/g++.dg/parse/constant4.C b/gcc/testsuite/g++.dg/parse/constant4.C index 65c84d9..d69f60b 100644 --- a/gcc/testsuite/g++.dg/parse/constant4.C +++ b/gcc/testsuite/g++.dg/parse/constant4.C @@ -34,7 +34,7 @@ template <typename> struct X void Baz () { - Foo<int> (); // { dg-error "instantiated" "" } + Foo<int> (); // { dg-message "instantiated" "" } } diff --git a/gcc/testsuite/g++.dg/parse/constructor1.C b/gcc/testsuite/g++.dg/parse/constructor1.C index 8f222f8..1796531 100644 --- a/gcc/testsuite/g++.dg/parse/constructor1.C +++ b/gcc/testsuite/g++.dg/parse/constructor1.C @@ -1,7 +1,8 @@ // { dg-do compile } // { dg-options "-fshow-column" } -ACE_Process_Descriptor::ACE_Process_Descriptor () : // { dg-error "" } - process_ (0) // { dg-error "3: error: only constructors take base initializers" } +ACE_Process_Descriptor::ACE_Process_Descriptor () : // { dg-error "declared" "declared" } + // { dg-error "no type" "no type" { target *-*-* } 4 } + process_ (0) // { dg-error "3: only constructors take base initializers" } { } diff --git a/gcc/testsuite/g++.dg/parse/crash20.C b/gcc/testsuite/g++.dg/parse/crash20.C index b39e572..d04869f 100644 --- a/gcc/testsuite/g++.dg/parse/crash20.C +++ b/gcc/testsuite/g++.dg/parse/crash20.C @@ -11,4 +11,4 @@ template<typename T> struct A typedef typename T::X Y; // { dg-error "not a class" "" } }; -A<int>::Y y; // { dg-error "instantiated from here" "" } +A<int>::Y y; // { dg-message "instantiated from here" "" } diff --git a/gcc/testsuite/g++.dg/parse/crash36.C b/gcc/testsuite/g++.dg/parse/crash36.C index 1397e87..6f5c867 100644 --- a/gcc/testsuite/g++.dg/parse/crash36.C +++ b/gcc/testsuite/g++.dg/parse/crash36.C @@ -2,9 +2,10 @@ // { dg-do compile } // { dg-options "-std=c++98" } -template <typename... T> struct A // { dg-error "variadic templates" } +template <typename... T> struct A // { dg-warning "variadic templates" } { - static T &t; // { dg-error "not expanded with|T" } + static T &t; // { dg-error "not expanded with" "not expanded" } + // { dg-message "T" "T" { target *-*-* } 7 } static const int i = sizeof (++t); // { dg-error "was not declared in this scope" } }; diff --git a/gcc/testsuite/g++.dg/parse/crash5.C b/gcc/testsuite/g++.dg/parse/crash5.C index 3a4185b..acf9e9d 100644 --- a/gcc/testsuite/g++.dg/parse/crash5.C +++ b/gcc/testsuite/g++.dg/parse/crash5.C @@ -1,13 +1,13 @@ // { dg-options "-w" } -class QString { // { dg-error "" } - QString (const QString & a); // { dg-error "" } +class QString { // { dg-error "previous definition" } + QString (const QString & a); // { dg-message "candidates" } }; -class QString { }; // { dg-error "" } +class QString { }; // { dg-error "redefinition" } const QString q () { - QString z; // { dg-error "" } + QString z; // { dg-error "matching" } int x; - return x ? QString () : QString (); // { dg-error "" } + return x ? QString () : QString (); // { dg-error "matching" } } diff --git a/gcc/testsuite/g++.dg/parse/error-column.C b/gcc/testsuite/g++.dg/parse/error-column.C index 812a499..18dc463 100644 --- a/gcc/testsuite/g++.dg/parse/error-column.C +++ b/gcc/testsuite/g++.dg/parse/error-column.C @@ -5,5 +5,5 @@ void foo () { - cout << "blah"; // { dg-error "3: error: 'cout'" } + cout << "blah"; // { dg-error "3:'cout'" } } diff --git a/gcc/testsuite/g++.dg/parse/error1.C b/gcc/testsuite/g++.dg/parse/error1.C index 60e7d65..1f8bb37 100644 --- a/gcc/testsuite/g++.dg/parse/error1.C +++ b/gcc/testsuite/g++.dg/parse/error1.C @@ -3,5 +3,5 @@ struct INCOMPLETE; template <int> struct X { static INCOMPLETE value; }; -template <> INCOMPLETE X<1>::value = 0; // { dg-error "30: error: variable 'INCOMPLETE X<1>::value' has initializer but incomplete type" } +template <> INCOMPLETE X<1>::value = 0; // { dg-error "30:variable 'INCOMPLETE X<1>::value' has initializer but incomplete type" } diff --git a/gcc/testsuite/g++.dg/parse/error10.C b/gcc/testsuite/g++.dg/parse/error10.C index 6e46922..8301172 100644 --- a/gcc/testsuite/g++.dg/parse/error10.C +++ b/gcc/testsuite/g++.dg/parse/error10.C @@ -15,5 +15,5 @@ template <typename T> void foo() } // Here, columns nums are not very accurate either. Still acceptable though -// { dg-error "30: error: invalid type in declaration before ';' token" "" { target *-*-* } { 14 } } -// { dg-error "30: error: two or more data types in declaration of 'e4'" "" { target *-*-* } { 14 } } +// { dg-error "30:invalid type in declaration before ';' token" "" { target *-*-* } 14 } +// { dg-error "30:two or more data types in declaration of 'e4'" "" { target *-*-* } 14 } diff --git a/gcc/testsuite/g++.dg/parse/error11.C b/gcc/testsuite/g++.dg/parse/error11.C index f7093a8..39039a8 100644 --- a/gcc/testsuite/g++.dg/parse/error11.C +++ b/gcc/testsuite/g++.dg/parse/error11.C @@ -16,45 +16,56 @@ struct Foo }; void method(void) { - typename Foo<::B>::template Nested<::B> n; // { dg-error "17: error: '<::' cannot begin|17: note: '<:' is an alternate spelling|39: error: '<::' cannot begin|39: note: '<:' is an alternate" } + typename Foo<::B>::template Nested<::B> n; // { dg-error "17:'<::' cannot begin" "17-begin" } +// { dg-message "17:'<:' is an alternate spelling" "17-alt" { target *-*-* } 19 } +// { dg-error "39:'<::' cannot begin" "39-begin" { target *-*-* } 19 } +// { dg-message "39:'<:' is an alternate spelling" "39-alt" { target *-*-* } 19 } n.template Nested<B>::method(); - n.template Nested<::B>::method(); // { dg-error "22: error: '<::' cannot begin|22: note: '<:' is an alternate" } + n.template Nested<::B>::method(); // { dg-error "22:'<::' cannot begin" "error" } +// { dg-message "22:'<:' is an alternate" "note" { target *-*-* } 24 } Nested<B>::method(); - Nested<::B>::method(); // { dg-error "11: error: '<::' cannot begin|11: note: '<:' is an alternate" } + Nested<::B>::method(); // { dg-error "11:'<::' cannot begin" "error" } +// { dg-message "11:'<:' is an alternate" "note" { target *-*-* } 27 } } }; template <int N> struct Foo2 {}; -template struct Foo2<::B>; // { dg-error "21: error: '<::' cannot begin|21: note: '<:' is an alternate|25: error: type/value mismatch|25: error: expected a constant" } +template struct Foo2<::B>; // { dg-error "21:'<::' cannot begin" "begin" } +// { dg-message "21:'<:' is an alternate" "alt" { target *-*-* } 33 } +// { dg-message "25:type/value mismatch" "mismatch" { target *-*-* } 33 } +// { dg-error "25:expected a constant" "const" { target *-*-* } 33 } int value = 0; void func(void) { - Foo<::B> f; // { dg-error "cannot begin|alternate spelling" } + Foo<::B> f; // { dg-error "cannot begin" "begin" } +// { dg-message "alternate spelling" "alt" { target *-*-* } 42 } f.Foo<B>::method(); - f.Foo<::B>::method(); // { dg-error "8: error|8: note" } + f.Foo<::B>::method(); // { dg-error "8:cannot begin" "begin" } +// { dg-message "8:alternate spelling" "alt" { target *-*-* } 45 } // Check cases where we the token sequence is the correct one, but there // was no digraph or whitespaces in the middle, so we should not emit // the special error message. Foo<: :B> k2; // { dg-bogus "cannot begin|alternate spelling" "smart error should not be triggered here" } Foo[:B> k1; // { dg-bogus "cannot begin|alternate spelling" "smart error should not be triggered here" } -// { dg-error "6: error: missing template arguments before" "" { target *-*-* } { 41 } } -// { dg-error "9: error: expected primary-expression before ':' token" "" { target *-*-* } 41 } -// { dg-error "9: error: expected '\]' before ':' token" "" { target *-*-* } 41 } -// { dg-error "9: error: expected ';' before ':' token" "" { target *-*-* } 41 } -// { dg-error "6: error: missing template arguments before" "" { target *-*-* } 42 } -// { dg-error "7: error: expected primary-expression before ':' token" "" { target *-*-* } 42 } -// { dg-error "7: error: expected '\]' before ':' token" "" { target *-*-* } 42 } -// { dg-error "7: error: expected ';' before ':' token" "" { target *-*-* } 42 } +// { dg-error "6:missing template arguments before" "template" { target *-*-* } { 51 } } +// { dg-error "9:expected primary-expression before ':' token" "primary" { target *-*-* } 51 } +// { dg-error "9:expected '\]' before ':' token" "backslash" { target *-*-* } 51 } +// { dg-error "9:expected ';' before ':' token" "semicolon" { target *-*-* } 51 } +// { dg-error "6:missing template arguments before" "template" { target *-*-* } 52 } +// { dg-error "7:expected primary-expression before ':' token" "primary" { target *-*-* } 52 } +// { dg-error "7:expected '\]' before ':' token" "backslash" { target *-*-* } 52 } +// { dg-error "7:expected ';' before ':' token" "semicolon" { target *-*-* } 52 } // int Foo[2]; Foo[::value] = 0; } -template struct Foo<::B>; // { dg-error "20: error: '<::' cannot begin|20: note: '<:' is an alternate" } +template struct Foo<::B>; // { dg-error "20:'<::' cannot begin" "begin" } +// { dg-message "20:is an alternate" "alt" { target *-*-* } 66 } // On the first error message, an additional note about the use of // -fpermissive should be present -// { dg-error "17: note: \\(if you use '-fpermissive' G\\+\\+ will accept your code\\)" "-fpermissive" { target *-*-* } 19 } +// { dg-message "17:\\(if you use '-fpermissive' G\\+\\+ will accept your code\\)" "-fpermissive" { target *-*-* } 19 } diff --git a/gcc/testsuite/g++.dg/parse/error12.C b/gcc/testsuite/g++.dg/parse/error12.C index b0025885..3ebcf38 100644 --- a/gcc/testsuite/g++.dg/parse/error12.C +++ b/gcc/testsuite/g++.dg/parse/error12.C @@ -9,5 +9,5 @@ template <class A> struct Foo {}; Foo<::B> foo; // { dg-bogus "error" "error in place of warning" } -// { dg-error "4: warning: '<::' cannot begin a template-argument list" "warning <::" { target *-*-* } 11 } -// { dg-error "4: note: '<:' is an alternate spelling for '.'. Insert whitespace between '<' and '::'" "note <:" { target *-*-* } 11 } +// { dg-warning "4: '<::' cannot begin a template-argument list" "warning <::" { target *-*-* } 11 } +// { dg-message "4:'<:' is an alternate spelling for '.'. Insert whitespace between '<' and '::'" "note <:" { target *-*-* } 11 } diff --git a/gcc/testsuite/g++.dg/parse/error13.C b/gcc/testsuite/g++.dg/parse/error13.C index 94ddae8..9bce98d7 100644 --- a/gcc/testsuite/g++.dg/parse/error13.C +++ b/gcc/testsuite/g++.dg/parse/error13.C @@ -1,14 +1,14 @@ // { dg-options "-fshow-column" } // PR c++/13975 -public: // { dg-error "1: error: expected unqualified-id before 'public'" } +public: // { dg-error "1:expected unqualified-id before 'public'" } int i; -protected: // { dg-error "1: error: expected unqualified-id before 'protected'" } +protected: // { dg-error "1:expected unqualified-id before 'protected'" } int j; -private: // { dg-error "1: error: expected unqualified-id before 'private'" } +private: // { dg-error "1:expected unqualified-id before 'private'" } int k; diff --git a/gcc/testsuite/g++.dg/parse/error14.C b/gcc/testsuite/g++.dg/parse/error14.C index 906b98f8..9e672c2 100644 --- a/gcc/testsuite/g++.dg/parse/error14.C +++ b/gcc/testsuite/g++.dg/parse/error14.C @@ -19,5 +19,8 @@ struct X Zinc<int>( //); // } -}; // { dg-error "2: error: expected '.' at end of input|1: error: expected primary-expression before '.' token|1: error: expected ';' before '.' token|1: error: expected unqualified-id at end of input" } +}; // { dg-error "2:expected '.' at end of input" "at end of input" } + // { dg-error "1:expected primary-expression before '.' token" "primary" { target *-*-* } 22 } + // { dg-error "1:expected ';' before '.' token" "semicolon" { target *-*-* } 22 } + // { dg-error "1:expected unqualified-id at end of input" "unqual" { target *-*-* } 22 } diff --git a/gcc/testsuite/g++.dg/parse/error15.C b/gcc/testsuite/g++.dg/parse/error15.C index 5d30b55..c5d3d3d 100644 --- a/gcc/testsuite/g++.dg/parse/error15.C +++ b/gcc/testsuite/g++.dg/parse/error15.C @@ -10,29 +10,32 @@ namespace N int K; } -N::A f2; // { dg-error "1: error: invalid use of template-name 'N::A' without an argument list" } -N::INVALID f3; // { dg-error "1: error: 'INVALID' in namespace 'N' does not name a type" } -N::C::INVALID f4; // { dg-error "1: error: 'INVALID' in class 'N::C' does not name a type" } -N::K f6; // { dg-error "1: error: 'K' in namespace 'N' does not name a type" } -typename N::A f7; // { dg-error "1: error: using 'typename' outside of template|13: error: invalid use of template-name 'N::A' without an argument list|17: error: invalid type in declaration before ';' token" } +N::A f2; // { dg-error "1:invalid use of template-name 'N::A' without an argument list" } +N::INVALID f3; // { dg-error "1:'INVALID' in namespace 'N' does not name a type" } +N::C::INVALID f4; // { dg-error "1:'INVALID' in class 'N::C' does not name a type" } +N::K f6; // { dg-error "1:'K' in namespace 'N' does not name a type" } +typename N::A f7; // { dg-error "1:using 'typename' outside of template" "1" } +// { dg-error "13:invalid use of template-name 'N::A' without an argument list" "13" { target *-*-* } 17 } +// { dg-error "17:invalid type in declaration before ';' token" "17" { target *-*-* } 17 } struct B { - N::A f2; // { dg-error "3: error: invalid use of template-name 'N::A' without an argument list" } - N::INVALID f3; // { dg-error "3: error: 'INVALID' in namespace 'N' does not name a type" } - N::C::INVALID f4; // { dg-error "3: error: 'INVALID' in class 'N::C' does not name a type" } - N::K f6; // { dg-error "3: error: 'K' in namespace 'N' does not name a type" } - typename N::A f7; // { dg-error "3: error: using 'typename' outside of template|15: error: invalid use of template-name 'N::A' without an argument list" } + N::A f2; // { dg-error "3:invalid use of template-name 'N::A' without an argument list" } + N::INVALID f3; // { dg-error "3:'INVALID' in namespace 'N' does not name a type" } + N::C::INVALID f4; // { dg-error "3:'INVALID' in class 'N::C' does not name a type" } + N::K f6; // { dg-error "3:'K' in namespace 'N' does not name a type" } + typename N::A f7; // { dg-error "3:using 'typename' outside of template" } +// { dg-error "15:invalid use of template-name 'N::A' without an argument list" "15" { target *-*-* } 27 } }; template <int> struct C { - N::A f2; // { dg-error "3: error: invalid use of template-name 'N::A' without an argument list" } - N::INVALID f3; // { dg-error "3: error: 'INVALID' in namespace 'N' does not name a type" } - N::C::INVALID f4; // { dg-error "3: error: 'INVALID' in class 'N::C' does not name a type" } - N::K f6; // { dg-error "3: error: 'K' in namespace 'N' does not name a type" } - typename N::A f7; // { dg-error "15: error: invalid use of template-name 'N::A' without an argument list" } + N::A f2; // { dg-error "3:invalid use of template-name 'N::A' without an argument list" } + N::INVALID f3; // { dg-error "3:'INVALID' in namespace 'N' does not name a type" } + N::C::INVALID f4; // { dg-error "3:'INVALID' in class 'N::C' does not name a type" } + N::K f6; // { dg-error "3:'K' in namespace 'N' does not name a type" } + typename N::A f7; // { dg-error "15:invalid use of template-name 'N::A' without an argument list" } }; // { dg-bogus "bogus excess errors in declaration" "bogus excess errors in declaration" { target *-*-* } 17 } diff --git a/gcc/testsuite/g++.dg/parse/error16.C b/gcc/testsuite/g++.dg/parse/error16.C index ddc302c..ba9aacc 100644 --- a/gcc/testsuite/g++.dg/parse/error16.C +++ b/gcc/testsuite/g++.dg/parse/error16.C @@ -3,7 +3,7 @@ struct A { - struct B {}; // { dg-error "12: error: previous definition of 'struct A::B'" } + struct B {}; // { dg-error "12:previous definition of 'struct A::B'" } }; -struct A::B{}; // { dg-error "11: error: redefinition of 'struct A::B'" } +struct A::B{}; // { dg-error "11:redefinition of 'struct A::B'" } diff --git a/gcc/testsuite/g++.dg/parse/error17.C b/gcc/testsuite/g++.dg/parse/error17.C index defd708..4cd4044 100644 --- a/gcc/testsuite/g++.dg/parse/error17.C +++ b/gcc/testsuite/g++.dg/parse/error17.C @@ -2,8 +2,10 @@ // PR c++/16965 template <typename T> struct B { - static int Bar(T); // { dg-error "14: error: candidates are: |14: error: " } + static int Bar(T); // { dg-error "14:candidates are: " "1" } + // { dg-error "14:with T = int" "2" { target *-*-* } 5 } }; struct D : B<int>, B<char> {}; -int i2 = D::Bar(2); // { dg-error "13: error: reference to 'Bar' is ambiguous|10: error: reference to 'Bar' is ambiguous" } +int i2 = D::Bar(2); // { dg-error "13:reference to 'Bar' is ambiguous" } +// { dg-error "10:reference to 'Bar' is ambiguous" "2" { target *-*-* } 10 } diff --git a/gcc/testsuite/g++.dg/parse/error18.C b/gcc/testsuite/g++.dg/parse/error18.C index 926af11..b5e7222 100644 --- a/gcc/testsuite/g++.dg/parse/error18.C +++ b/gcc/testsuite/g++.dg/parse/error18.C @@ -3,6 +3,6 @@ void f() { - double Q *= 5.0; // { dg-error "12: error: expected initializer before '..' token" } + double Q *= 5.0; // { dg-error "12:expected initializer before '..' token" } } diff --git a/gcc/testsuite/g++.dg/parse/error19.C b/gcc/testsuite/g++.dg/parse/error19.C index b22156a..5582891 100644 --- a/gcc/testsuite/g++.dg/parse/error19.C +++ b/gcc/testsuite/g++.dg/parse/error19.C @@ -2,7 +2,7 @@ // PR C++/17867 struct A -{ // { dg-error "1: note: candidates are:" } +{ // { dg-message "1:candidates are:" } A(int); }; @@ -10,5 +10,5 @@ const A& foo(); void bar() { - foo()=A(0); // { dg-error "12: error: no match for 'operator='" } + foo()=A(0); // { dg-error "12:no match for 'operator='" } } diff --git a/gcc/testsuite/g++.dg/parse/error2.C b/gcc/testsuite/g++.dg/parse/error2.C index 075dcc2..619f894 100644 --- a/gcc/testsuite/g++.dg/parse/error2.C +++ b/gcc/testsuite/g++.dg/parse/error2.C @@ -8,8 +8,8 @@ int func(double); template <int> struct Foo {}; -Foo<func(g)> f; // { dg-error "5: error: 'int func.double.' cannot appear in a constant-expression" "" { target *-*-* } { 11 } } -// { dg-error "10: error: 'g' cannot appear in a constant-expression" "" { target *-*-* } { 11 } } -// { dg-error "11: error: a function call cannot appear in a constant-expression" "" { target *-*-* } { 11 } } -// { dg-error "12: error: template argument 1 is invalid" "" { target *-*-* } { 11 } } -// { dg-error "15: error: invalid type in declaration before ';' token" "" { target *-*-* } { 11 } } +Foo<func(g)> f; // { dg-error "5:'int func.double.' cannot appear in a constant-expression" "" { target *-*-* } 11 } +// { dg-error "10:'g' cannot appear in a constant-expression" "" { target *-*-* } 11 } +// { dg-error "11:a function call cannot appear in a constant-expression" "" { target *-*-* } 11 } +// { dg-error "12:template argument 1 is invalid" "" { target *-*-* } 11 } +// { dg-error "15:invalid type in declaration before ';' token" "" { target *-*-* } 11 } diff --git a/gcc/testsuite/g++.dg/parse/error20.C b/gcc/testsuite/g++.dg/parse/error20.C index 9564fab..d2f9353 100644 --- a/gcc/testsuite/g++.dg/parse/error20.C +++ b/gcc/testsuite/g++.dg/parse/error20.C @@ -12,7 +12,7 @@ struct C { }; int main() { C c; - A(c.p.i); // { dg-error "9: error: request for member 'i' in 'c.C::p', which is of non-class type 'B" } + A(c.p.i); // { dg-error "9:request for member 'i' in 'c.C::p', which is of non-class type 'B" } return 0; } diff --git a/gcc/testsuite/g++.dg/parse/error21.C b/gcc/testsuite/g++.dg/parse/error21.C index f60bf2b..469e5fb 100644 --- a/gcc/testsuite/g++.dg/parse/error21.C +++ b/gcc/testsuite/g++.dg/parse/error21.C @@ -7,6 +7,7 @@ void foo() { // Check that we do not complain about an unused // compiler-generated variable. - A& = a; // { dg-error "6: error: expected unqualified-id before '=' token|8: error: 'a' was not declared in this scope" } + A& = a; // { dg-error "6:expected unqualified-id before '=' token" "6" } + // { dg-error "8:'a' was not declared in this scope" "8" { target *-*-* } 10 } } diff --git a/gcc/testsuite/g++.dg/parse/error22.C b/gcc/testsuite/g++.dg/parse/error22.C index 3014121..29552c6 100644 --- a/gcc/testsuite/g++.dg/parse/error22.C +++ b/gcc/testsuite/g++.dg/parse/error22.C @@ -2,5 +2,5 @@ // PR c++/15786 struct A { - void foo(bar* p); /* { dg-error "12: error: 'bar' has not been declared" } */ + void foo(bar* p); /* { dg-error "12:'bar' has not been declared" } */ }; diff --git a/gcc/testsuite/g++.dg/parse/error23.C b/gcc/testsuite/g++.dg/parse/error23.C index 21b2434..9c19b56 100644 --- a/gcc/testsuite/g++.dg/parse/error23.C +++ b/gcc/testsuite/g++.dg/parse/error23.C @@ -5,5 +5,5 @@ struct QChar { QChar( char c ); QChar( const QChar& c ); //following column number is not accurate enough but will make it for now - static const ; // { dg-error "10: error: declaration does not declare anything" } + static const ; // { dg-error "10:declaration does not declare anything" } }; diff --git a/gcc/testsuite/g++.dg/parse/error24.C b/gcc/testsuite/g++.dg/parse/error24.C index e341c34..c8ab6d9 100644 --- a/gcc/testsuite/g++.dg/parse/error24.C +++ b/gcc/testsuite/g++.dg/parse/error24.C @@ -2,7 +2,7 @@ // PR c++/19395 struct A { - typedef int ::X; // { dg-error "17: error: typedef name may not be a nested-name-specifier" } + typedef int ::X; // { dg-error "17:typedef name may not be a nested-name-specifier" } }; diff --git a/gcc/testsuite/g++.dg/parse/error25.C b/gcc/testsuite/g++.dg/parse/error25.C index b5cb57e..a0fd24c 100644 --- a/gcc/testsuite/g++.dg/parse/error25.C +++ b/gcc/testsuite/g++.dg/parse/error25.C @@ -9,10 +9,10 @@ class foo { virtual void bar1 () = 0; - virtual void bar2 () = __null; // { dg-error "32: error: invalid pure specifier" } - virtual void bar3 () = 4; // { dg-error "27: error: invalid pure specifier" } - virtual void bar4 () = A::f; // { dg-error "27: error: invalid pure specifier" } - virtual void bar5 () = 0l; // { dg-error "28: error: invalid pure specifier" } - virtual void bar6 () = 00; // { dg-error "28: error: invalid pure specifier" } - virtual void bar7 () = 0x0; // { dg-error "29: error: invalid pure specifier" } + virtual void bar2 () = __null; // { dg-error "32:invalid pure specifier" } + virtual void bar3 () = 4; // { dg-error "27:invalid pure specifier" } + virtual void bar4 () = A::f; // { dg-error "27:invalid pure specifier" } + virtual void bar5 () = 0l; // { dg-error "28:invalid pure specifier" } + virtual void bar6 () = 00; // { dg-error "28:invalid pure specifier" } + virtual void bar7 () = 0x0; // { dg-error "29:invalid pure specifier" } }; diff --git a/gcc/testsuite/g++.dg/parse/error26.C b/gcc/testsuite/g++.dg/parse/error26.C index 81f7ba6..befaf3b 100644 --- a/gcc/testsuite/g++.dg/parse/error26.C +++ b/gcc/testsuite/g++.dg/parse/error26.C @@ -3,10 +3,12 @@ void foo() { - if (({int c[2];})) ; // { dg-error "7: error: ISO C.. forbids|20: error: could not convert" } + if (({int c[2];})) ; // { dg-error "7:ISO C.. forbids" "7" } + // { dg-error "20:could not convert" "20" { target *-*-* } 6 } } void bar() { - if (({})); // { dg-error "7: error: ISO C.. forbids|11: error: could not convert" } + if (({})); // { dg-error "7:ISO C.. forbids" "7" } + // { dg-error "11:could not convert" "11" { target *-*-* } 12 } } diff --git a/gcc/testsuite/g++.dg/parse/error27.C b/gcc/testsuite/g++.dg/parse/error27.C index f1fd537..c07d1d3 100644 --- a/gcc/testsuite/g++.dg/parse/error27.C +++ b/gcc/testsuite/g++.dg/parse/error27.C @@ -1,8 +1,8 @@ // { dg-options "-fshow-column -ansi -pedantic-errors -Wno-long-long" } // PR c++/20152 -struct KrSelectionMode { virtual void init() = 0; }; // { dg-error "24: error: previous definition of 'struct KrSelectionMode'" } -struct KrKDESelectionMode : public KrSelectionMode { void init() { } }; // { dg-error "52: error: previous definition of 'struct KrKDESelectionMode'" } -struct KrSelectionMode { virtual void init() = 0; }; // { dg-error "8: error: redefinition of 'struct KrSelectionMode'" } -struct KrKDESelectionMode : public KrSelectionMode { void init() { } }; // { dg-error "8: error: redefinition of 'struct KrKDESelectionMode'" } +struct KrSelectionMode { virtual void init() = 0; }; // { dg-error "24:previous definition of 'struct KrSelectionMode'" } +struct KrKDESelectionMode : public KrSelectionMode { void init() { } }; // { dg-error "52:previous definition of 'struct KrKDESelectionMode'" } +struct KrSelectionMode { virtual void init() = 0; }; // { dg-error "8:redefinition of 'struct KrSelectionMode'" } +struct KrKDESelectionMode : public KrSelectionMode { void init() { } }; // { dg-error "8:redefinition of 'struct KrKDESelectionMode'" } KrKDESelectionMode krKDESelectionMode; diff --git a/gcc/testsuite/g++.dg/parse/error28.C b/gcc/testsuite/g++.dg/parse/error28.C index 7162afa..50ad960 100644 --- a/gcc/testsuite/g++.dg/parse/error28.C +++ b/gcc/testsuite/g++.dg/parse/error28.C @@ -2,10 +2,10 @@ // PR c++/21908 struct virt { virt () {} virt (int i) {} }; -struct der : public virtual virt { // { dg-error "34: note: der::der" } - der (int i) : virt(i) {} // { dg-error "3: note: candidates are: der" } +struct der : public virtual virt { // { dg-message "34:der::der" } + der (int i) : virt(i) {} // { dg-message "3:candidates are: der" } }; struct top : public der { top () {} // { dg-bogus "der\\(const" } }; -// { dg-error "10: error: no matching function for call to 'der" "" { target *-*-* } 9 } +// { dg-error "10:no matching function for call to 'der" "" { target *-*-* } 9 } diff --git a/gcc/testsuite/g++.dg/parse/error29.C b/gcc/testsuite/g++.dg/parse/error29.C index fcd091b..2c3a3a7 100644 --- a/gcc/testsuite/g++.dg/parse/error29.C +++ b/gcc/testsuite/g++.dg/parse/error29.C @@ -7,7 +7,7 @@ struct A { void operator delete(void *); }; struct B { - friend void A::foo() {} // { dg-error "22: error: cannot define member function 'A::foo' within 'B'" } - friend void A::operator delete(void*) {} // { dg-error "39: error: cannot define member function 'A::operator delete' within 'B'" } - friend A::A() {} // { dg-error "15: error: cannot define member function 'A::A' within 'B'" } + friend void A::foo() {} // { dg-error "22:cannot define member function 'A::foo' within 'B'" } + friend void A::operator delete(void*) {} // { dg-error "39:cannot define member function 'A::operator delete' within 'B'" } + friend A::A() {} // { dg-error "15:cannot define member function 'A::A' within 'B'" } }; diff --git a/gcc/testsuite/g++.dg/parse/error3.C b/gcc/testsuite/g++.dg/parse/error3.C index 2856850..55ae024 100644 --- a/gcc/testsuite/g++.dg/parse/error3.C +++ b/gcc/testsuite/g++.dg/parse/error3.C @@ -5,5 +5,5 @@ static void InstantiateConstraint(const float&, unsigned, void(*AddFunction)(const TYPE&,bool&, char*, char*, unsigned*)); -// { dg-error "64: error: expected ',' or '...' before '&' token" "" { target *-*-* } { 5 } } -// { dg-error "60: error: ISO C\\+\\+ forbids declaration of 'TYPE' with no type" "" { target *-*-* } { 5 } } +// { dg-error "64:expected ',' or '...' before '&' token" "" { target *-*-* } { 5 } } +// { dg-error "60:ISO C\\+\\+ forbids declaration of 'TYPE' with no type" "" { target *-*-* } { 5 } } diff --git a/gcc/testsuite/g++.dg/parse/error30.C b/gcc/testsuite/g++.dg/parse/error30.C index 5c52d1e..26c55c4 100644 --- a/gcc/testsuite/g++.dg/parse/error30.C +++ b/gcc/testsuite/g++.dg/parse/error30.C @@ -8,5 +8,5 @@ struct A A(int); }; -A a = -A(); // { dg-error "10: error: no match for.*operator-.*in.*-A\\(\\)" } -A b = -A(5); // { dg-error "11: error: no match for.*operator-.*in.*-A\\(5\\)" } +A a = -A(); // { dg-error "10:no match for.*operator-.*in.*-A\\(\\)" } +A b = -A(5); // { dg-error "11:no match for.*operator-.*in.*-A\\(5\\)" } diff --git a/gcc/testsuite/g++.dg/parse/error31.C b/gcc/testsuite/g++.dg/parse/error31.C index d354cc3..e392852 100644 --- a/gcc/testsuite/g++.dg/parse/error31.C +++ b/gcc/testsuite/g++.dg/parse/error31.C @@ -6,7 +6,7 @@ template<typename T> class foo{ }; int main() { foo<int> i; // this column number is not accurate yet, but that will make it for now. - foo<foo<int> j; // { dg-error "18: error: template argument 1 is invalid" } + foo<foo<int> j; // { dg-error "18:template argument 1 is invalid" } int k; int l; foo<int> m; diff --git a/gcc/testsuite/g++.dg/parse/error4.C b/gcc/testsuite/g++.dg/parse/error4.C index 790e5c9..792bf4d 100644 --- a/gcc/testsuite/g++.dg/parse/error4.C +++ b/gcc/testsuite/g++.dg/parse/error4.C @@ -7,4 +7,4 @@ struct X { int); }; -// { dg-error "4: error: 'itn' has not been declared" "" { target *-*-* } { 6 } } +// { dg-error "4:'itn' has not been declared" "" { target *-*-* } 6 } diff --git a/gcc/testsuite/g++.dg/parse/error5.C b/gcc/testsuite/g++.dg/parse/error5.C index 8c9a039..6ebb087 100644 --- a/gcc/testsuite/g++.dg/parse/error5.C +++ b/gcc/testsuite/g++.dg/parse/error5.C @@ -3,17 +3,17 @@ class Foo { int foo() return 0; } }; -// { dg-error "30: error: expected identifier before numeric constant" "" { target *-*-* } { 4 } } +// { dg-error "30:expected identifier before numeric constant" "" { target *-*-* } 4 } -// { dg-error "23: error: named return values are no longer supported" "" { target *-*-* } { 4 } } +// { dg-error "23:named return values are no longer supported" "" { target *-*-* } 4 } // the column number info of this error output is still wrong because the error // message has been generated by cp_parser_error() which does not // necessarily allow accurate column number display. At some point, we will // need make cp_parser_error() report more accurate column numbers. -// { dg-error "30: error: expected '\{' at end of input" "" { target *-*-* } { 4 } } +// { dg-error "30:expected '\{' at end of input" "" { target *-*-* } 4 } -// { dg-error "35: error: expected unqualified-id before '\}' token" "" {target *-*-* } { 4 } } +// { dg-error "35:expected unqualified-id before '\}' token" "" {target *-*-* } 4 } -// { dg-error "35: error: expected declaration before '\}' token" "" {target *-*-* } { 4 } } +// { dg-error "35:expected declaration before '\}' token" "" {target *-*-* } 4 } diff --git a/gcc/testsuite/g++.dg/parse/error6.C b/gcc/testsuite/g++.dg/parse/error6.C index cd1b6b8..81e04e2 100644 --- a/gcc/testsuite/g++.dg/parse/error6.C +++ b/gcc/testsuite/g++.dg/parse/error6.C @@ -5,7 +5,7 @@ int f(int not) { return 1-not; } -// { dg-error "11: error: expected ',' or '...' before '!' token" "" { target *-*-* } { 4 } } +// { dg-error "11:expected ',' or '...' before '!' token" "" { target *-*-* } 4 } -// { dg-error "15: error: expected primary\\-expression before ';' token" "" { target *-*-* } { 5 } } +// { dg-error "15:expected primary\\-expression before ';' token" "" { target *-*-* } 5 } diff --git a/gcc/testsuite/g++.dg/parse/error7.C b/gcc/testsuite/g++.dg/parse/error7.C index f71c9aa..78b7caa 100644 --- a/gcc/testsuite/g++.dg/parse/error7.C +++ b/gcc/testsuite/g++.dg/parse/error7.C @@ -4,4 +4,4 @@ void f(int x int y); -// { dg-error "8: error: expected ',' or '...' before 'int'" "" { target *-*-* } { 5 } } +// { dg-error "8:expected ',' or '...' before 'int'" "" { target *-*-* } 5 } diff --git a/gcc/testsuite/g++.dg/parse/error8.C b/gcc/testsuite/g++.dg/parse/error8.C index a399cfe..ba572b0 100644 --- a/gcc/testsuite/g++.dg/parse/error8.C +++ b/gcc/testsuite/g++.dg/parse/error8.C @@ -4,7 +4,7 @@ struct A { friend typename struct B; }; -// { dg-error "19: error: using 'typename' outside of template" "" { target *-*-* } { 4 } } -// { dg-error "28: error: expected nested-name-specifier before 'struct'" "" { target *-*-* } { 4 } } -// { dg-error "35: error: multiple types in one declaration" "" { target *-*-* } { 4 } } -// { dg-error "12: error: friend declaration does not name a class or function" "" { target *-*-* } { 4 } } +// { dg-error "19:using 'typename' outside of template" "" { target *-*-* } 4 } +// { dg-error "28:expected nested-name-specifier before 'struct'" "" { target *-*-* } 4 } +// { dg-error "35:multiple types in one declaration" "" { target *-*-* } 4 } +// { dg-error "12:friend declaration does not name a class or function" "" { target *-*-* } 4 } diff --git a/gcc/testsuite/g++.dg/parse/error9.C b/gcc/testsuite/g++.dg/parse/error9.C index c1be6979..b16c84e 100644 --- a/gcc/testsuite/g++.dg/parse/error9.C +++ b/gcc/testsuite/g++.dg/parse/error9.C @@ -5,5 +5,5 @@ enum { FOO = 1, BAR = 2 }; int a[] = { FOO: 1, BAR: 2 }; // the following 2 column locations are still not accurate enough -// { dg-error "28: error: name 'FOO' used in a GNU-style designated initializer for an array" "" { target *-*-* } { 5 } } -// { dg-error "28: error: name 'BAR' used in a GNU-style designated initializer for an array" "" { target *-*-* } { 5 } } +// { dg-error "28:name 'FOO' used in a GNU-style designated initializer for an array" "" { target *-*-* } 5 } +// { dg-error "28:name 'BAR' used in a GNU-style designated initializer for an array" "" { target *-*-* } 5 } diff --git a/gcc/testsuite/g++.dg/parse/friend5.C b/gcc/testsuite/g++.dg/parse/friend5.C index 5e23f45..ec134c2 100644 --- a/gcc/testsuite/g++.dg/parse/friend5.C +++ b/gcc/testsuite/g++.dg/parse/friend5.C @@ -3,5 +3,6 @@ extern "C" struct A { friend void foo(int) {} // { dg-error "declaration" } - friend void foo() {} // { dg-error "foo" } + friend void foo() {} // { dg-error "foo" "err" } + // { dg-warning "already a friend" "warn" { target *-*-* } 6 } }; diff --git a/gcc/testsuite/g++.dg/parse/invalid-op1.C b/gcc/testsuite/g++.dg/parse/invalid-op1.C index 37e4809..0b75d07 100644 --- a/gcc/testsuite/g++.dg/parse/invalid-op1.C +++ b/gcc/testsuite/g++.dg/parse/invalid-op1.C @@ -6,8 +6,9 @@ template <int I> struct A { template <int> struct B { - enum { e = I * A<I-1>::B }; // { dg-error "" } + enum { e = I * A<I-1>::B }; // { dg-error "dependent-name" "depname" } + // { dg-message "note" "note" { target *-*-* } 9 } }; }; -A<0>::B<0> a; // { dg-error "instantiated" } +A<0>::B<0> a; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/parse/missing-template1.C b/gcc/testsuite/g++.dg/parse/missing-template1.C index 40f8502..e5e0314 100644 --- a/gcc/testsuite/g++.dg/parse/missing-template1.C +++ b/gcc/testsuite/g++.dg/parse/missing-template1.C @@ -12,7 +12,9 @@ template <typename T> struct A template <typename T> void foo() { - typedef typename A<T>::B<T>::X Y; // { dg-error "" } + typedef typename A<T>::B<T>::X Y; // { dg-error "non-template" "non" } + // { dg-error "not declare" "decl" { target *-*-* } 15 } + // { dg-message "note" "note" { target *-*-* } 15 } } void bar() diff --git a/gcc/testsuite/g++.dg/parse/non-dependent2.C b/gcc/testsuite/g++.dg/parse/non-dependent2.C index ef75c17..4df2da7 100644 --- a/gcc/testsuite/g++.dg/parse/non-dependent2.C +++ b/gcc/testsuite/g++.dg/parse/non-dependent2.C @@ -8,14 +8,14 @@ template <class T> struct Foo { int j; // we never see this one. - int k; // { dg-error "" "" } + int k; // { dg-error "Foo" "" } }; struct Baz { int j; - int k; // { dg-error "" "" } + int k; // { dg-error "candidates" "" } }; @@ -31,7 +31,7 @@ int main() Bar<int> bar; bar.baz (); - bar.foo (); // { dg-error "instantiated" "" } + bar.foo (); // { dg-message "instantiated" "" } return 0; } diff --git a/gcc/testsuite/g++.dg/parse/ret-type2.C b/gcc/testsuite/g++.dg/parse/ret-type2.C index 2e8fa36..35638c2 100644 --- a/gcc/testsuite/g++.dg/parse/ret-type2.C +++ b/gcc/testsuite/g++.dg/parse/ret-type2.C @@ -1,5 +1,10 @@ -struct S {} f(); // { dg-error "" } -struct T {} *g(); // { dg-error "" } -struct U {} h() {} // { dg-error "" } -struct V {} *i() {} // { dg-error "" } -struct W {} (*p) (); // { dg-error "" } +struct S {} f(); // { dg-error "return" "err" } +// { dg-message "note" "note" { target *-*-* } 1 } +struct T {} *g(); // { dg-error "return" } +// { dg-message "note" "note" { target *-*-* } 3 } +struct U {} h() {} // { dg-error "return" } +// { dg-message "note" "note" { target *-*-* } 5 } +struct V {} *i() {} // { dg-error "return" } +// { dg-message "note" "note" { target *-*-* } 7 } +struct W {} (*p) (); // { dg-error "return" } +// { dg-message "note" "note" { target *-*-* } 9 } diff --git a/gcc/testsuite/g++.dg/parse/specialization1.C b/gcc/testsuite/g++.dg/parse/specialization1.C index 7378570..8a47f17 100644 --- a/gcc/testsuite/g++.dg/parse/specialization1.C +++ b/gcc/testsuite/g++.dg/parse/specialization1.C @@ -3,4 +3,5 @@ // { dg-do compile } template <typename T> class A; -template <typename T> class A<T>::B; // { dg-error "declaration" } +template <typename T> class A<T>::B; // { dg-error "declaration" "err" } +// { dg-warning "declaration" "warn" { target *-*-* } 6 } diff --git a/gcc/testsuite/g++.dg/parse/template18.C b/gcc/testsuite/g++.dg/parse/template18.C index 532f9a4..98209b2 100644 --- a/gcc/testsuite/g++.dg/parse/template18.C +++ b/gcc/testsuite/g++.dg/parse/template18.C @@ -49,4 +49,4 @@ template<int I> void f2() A::template B<I>::template b2<double>(0); } -template void f2<0>(); // { dg-error "instantiated" } +template void f2<0>(); // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/parse/template3.C b/gcc/testsuite/g++.dg/parse/template3.C index 290721e..d10d46d 100644 --- a/gcc/testsuite/g++.dg/parse/template3.C +++ b/gcc/testsuite/g++.dg/parse/template3.C @@ -13,5 +13,7 @@ struct X : Outer<b>::template Inner<T> {}; template <bool b, typename T> -struct Y : Outer<b>::Inner<T> {}; // { dg-error "" "" } +struct Y : Outer<b>::Inner<T> {}; // { dg-error "used as template" "temp" } +// { dg-error "expected" "exp" { target *-*-* } 16 } +// { dg-message "note" "note" { target *-*-* } 16 } diff --git a/gcc/testsuite/g++.dg/parse/template9.C b/gcc/testsuite/g++.dg/parse/template9.C index 90ce9fe..17b7da9 100644 --- a/gcc/testsuite/g++.dg/parse/template9.C +++ b/gcc/testsuite/g++.dg/parse/template9.C @@ -1,5 +1,6 @@ template <typename T> void f() { - g(); // { dg-error "" } - h(3); // { dg-error "" } + g(); // { dg-error "must be available" "err" } + // { dg-message "note" "note" { target *-*-* } 3 } + h(3); // { dg-error "must be available" } } diff --git a/gcc/testsuite/g++.dg/tc1/dr108.C b/gcc/testsuite/g++.dg/tc1/dr108.C index 6b567a9..43bae15 100644 --- a/gcc/testsuite/g++.dg/tc1/dr108.C +++ b/gcc/testsuite/g++.dg/tc1/dr108.C @@ -7,9 +7,7 @@ template <class T> struct S { typedef int X; }; struct I2 : public I1 { - X x; // { dg-error "does not name a type" } + X x; // { dg-error "does not name a type" "name" } + // { dg-message "note" "note" { target *-*-* } 10 } }; }; - -// Additional notes on the same line are allowed -// { dg-error "" "additional" { target *-*-* } 10 } diff --git a/gcc/testsuite/g++.dg/tc1/dr152.C b/gcc/testsuite/g++.dg/tc1/dr152.C index 1b6dd87..a635213 100644 --- a/gcc/testsuite/g++.dg/tc1/dr152.C +++ b/gcc/testsuite/g++.dg/tc1/dr152.C @@ -11,7 +11,8 @@ namespace N1 { int foo() { X x; - f(x); // { dg-error "" "" } + f(x); // { dg-error "matching" "matching" } + // { dg-error "initializing" "initializing" { target *-*-* } 14 } } } @@ -29,8 +30,9 @@ namespace N2 { int foo() { X<T> x; - N2::f(x); // { dg-error "" "" } + N2::f(x); // { dg-error "matching" "matching" } + // { dg-error "initializing " initializing" { target *-*-* } 33 } } - template int foo<float>(); // { dg-error "instantiated from here" } + template int foo<float>(); // { dg-message "instantiated from here" } } diff --git a/gcc/testsuite/g++.dg/tc1/dr166.C b/gcc/testsuite/g++.dg/tc1/dr166.C index cc4631a..8c14290 100644 --- a/gcc/testsuite/g++.dg/tc1/dr166.C +++ b/gcc/testsuite/g++.dg/tc1/dr166.C @@ -32,7 +32,7 @@ namespace N { template <> void f<double>(double ) { M::B::x = 0; - M::f<long>(0); // { dg-error "instantiated" } + M::f<long>(0); // { dg-message "instantiated" } } void g(void) @@ -47,7 +47,7 @@ namespace N { template <> void f<int>(int ) { - N::f<long>(0); // { dg-error "instantiated" } + N::f<long>(0); // { dg-message "instantiated" } M::A::x = 0; M::B::x = 0; // { dg-error "within this context" } } diff --git a/gcc/testsuite/g++.dg/template/access11.C b/gcc/testsuite/g++.dg/template/access11.C index f061f66..4c8dce5 100644 --- a/gcc/testsuite/g++.dg/template/access11.C +++ b/gcc/testsuite/g++.dg/template/access11.C @@ -21,4 +21,4 @@ template <typename T> struct X::Y { typename T::X x; // { dg-error "this context" } }; -template struct X::Y<A>; // { dg-error "instantiated" } +template struct X::Y<A>; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/access2.C b/gcc/testsuite/g++.dg/template/access2.C index 9da8ecf..c5e3f11 100644 --- a/gcc/testsuite/g++.dg/template/access2.C +++ b/gcc/testsuite/g++.dg/template/access2.C @@ -15,6 +15,6 @@ class B { int main() { - A<B> ab; // { dg-error "instantiated" } - ab.f(); // { dg-error "instantiated" } + A<B> ab; // { dg-message "instantiated" } + ab.f(); // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/access3.C b/gcc/testsuite/g++.dg/template/access3.C index e8ee104..c7a155e 100644 --- a/gcc/testsuite/g++.dg/template/access3.C +++ b/gcc/testsuite/g++.dg/template/access3.C @@ -13,5 +13,5 @@ class B { int main() { - A<B> ab; // { dg-error "instantiated" } + A<B> ab; // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/access7.C b/gcc/testsuite/g++.dg/template/access7.C index 92d4c68..412ad00 100644 --- a/gcc/testsuite/g++.dg/template/access7.C +++ b/gcc/testsuite/g++.dg/template/access7.C @@ -14,5 +14,5 @@ typename A::T* f (A) { // { dg-error "this context" } } void g () { - f (S<int> ()); // { dg-error "context|instantiated" } + f (S<int> ()); // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/copy1.C b/gcc/testsuite/g++.dg/template/copy1.C index 3b45cc0..e565453 100644 --- a/gcc/testsuite/g++.dg/template/copy1.C +++ b/gcc/testsuite/g++.dg/template/copy1.C @@ -6,9 +6,9 @@ struct A { - A(A&); // { dg-error "candidate" "" } + A(A&); // { dg-message "candidate" } template <class T> A(T); }; -A a = 0; // { dg-error "no matching function|initializing" "" } +A a = 0; // { dg-error "no matching function" } diff --git a/gcc/testsuite/g++.dg/template/crash13.C b/gcc/testsuite/g++.dg/template/crash13.C index 50ec37f..0518666 100644 --- a/gcc/testsuite/g++.dg/template/crash13.C +++ b/gcc/testsuite/g++.dg/template/crash13.C @@ -15,4 +15,4 @@ template <typename T> struct C X::Y; // { dg-error "not a base type" } }; -C<void> c; // { dg-error "instantiated" } +C<void> c; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/crash37.C b/gcc/testsuite/g++.dg/template/crash37.C index 0d837bd..8af5160 100644 --- a/gcc/testsuite/g++.dg/template/crash37.C +++ b/gcc/testsuite/g++.dg/template/crash37.C @@ -11,7 +11,7 @@ struct coperator_stack struct helper {}; template<class F> -void bla(F f) // { dg-error "candidates" } +void bla(F f) // { dg-message "candidates" } { } @@ -20,7 +20,7 @@ struct definition { definition() { - bla(coperator_stack::push3<helper>); // { dg-error "" } + bla(coperator_stack::push3<helper>); // { dg-error "matching" } } }; diff --git a/gcc/testsuite/g++.dg/template/crash40.C b/gcc/testsuite/g++.dg/template/crash40.C index 716b4a2..45123dd 100644 --- a/gcc/testsuite/g++.dg/template/crash40.C +++ b/gcc/testsuite/g++.dg/template/crash40.C @@ -7,4 +7,4 @@ template<typename T> void foo() T::~T(); // { dg-error "member" } } -template void foo<A>(); // { dg-error "instantiated" } +template void foo<A>(); // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/crash58.C b/gcc/testsuite/g++.dg/template/crash58.C index af2172c..5194ee2 100644 --- a/gcc/testsuite/g++.dg/template/crash58.C +++ b/gcc/testsuite/g++.dg/template/crash58.C @@ -1,6 +1,6 @@ //PR 26938 -template<int, int = 0> struct A; // { dg-error "previous declaration" } +template<int, int = 0> struct A; // { dg-message "previous declaration" } template<int> struct A // { dg-error "template" } { diff --git a/gcc/testsuite/g++.dg/template/crash80.C b/gcc/testsuite/g++.dg/template/crash80.C index ed462ac..a12bd8b 100644 --- a/gcc/testsuite/g++.dg/template/crash80.C +++ b/gcc/testsuite/g++.dg/template/crash80.C @@ -5,5 +5,5 @@ namespace a { } namespace b { - template <> class ::a::Foo<double> {}; // { dg-error "error: global qualification of class name is invalid" } + template <> class ::a::Foo<double> {}; // { dg-error "global qualification of class name is invalid" } } diff --git a/gcc/testsuite/g++.dg/template/ctor5.C b/gcc/testsuite/g++.dg/template/ctor5.C index 18e55d1..6938b36 100644 --- a/gcc/testsuite/g++.dg/template/ctor5.C +++ b/gcc/testsuite/g++.dg/template/ctor5.C @@ -5,4 +5,4 @@ template<typename T> struct A A() : T(0) {} // { dg-error "base" } }; -A<int*> a; // { dg-error "instantiated" } +A<int*> a; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/dependent-expr5.C b/gcc/testsuite/g++.dg/template/dependent-expr5.C index 023f433..64e86c7 100644 --- a/gcc/testsuite/g++.dg/template/dependent-expr5.C +++ b/gcc/testsuite/g++.dg/template/dependent-expr5.C @@ -7,14 +7,14 @@ template<class F> void bind(F f) {} template<class F> void bindm(F f) {} -template<class F, class T> void bindm(F (T::*f)(void)) {} // { dg-error "note" } +template<class F, class T> void bindm(F (T::*f)(void)) {} // { dg-message "note" } template<class F> void bindn(F f) {} template<class F, class T> void bindn(F (*f)(T)) {} template<class F> void bindb(F f) {} -template<class F, class T> void bindb(F (*f)(T)) {} // { dg-error "note" } -template<class F, class T> void bindb(F (T::*f)(void)) {} // { dg-error "note" } +template<class F, class T> void bindb(F (*f)(T)) {} // { dg-message "note" } +template<class F, class T> void bindb(F (T::*f)(void)) {} // { dg-message "note" } struct foo { static int baist; diff --git a/gcc/testsuite/g++.dg/template/eh2.C b/gcc/testsuite/g++.dg/template/eh2.C index 8ec767d..d2c049c 100644 --- a/gcc/testsuite/g++.dg/template/eh2.C +++ b/gcc/testsuite/g++.dg/template/eh2.C @@ -7,4 +7,4 @@ template<typename T> struct A void foo() throw(typename T::X); // { dg-error "not a class" } }; -A<void> a; // { dg-error "instantiated" } +A<void> a; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/error2.C b/gcc/testsuite/g++.dg/template/error2.C index 0f3e975..86486a2 100644 --- a/gcc/testsuite/g++.dg/template/error2.C +++ b/gcc/testsuite/g++.dg/template/error2.C @@ -7,22 +7,24 @@ template<class T> struct X { - T m; // { dg-error "" "" } + T m; // { dg-error "as type 'void'" "void" } + // { dg-error "incomplete type" "incomplate" { target *-*-* } 10 } + // { dg-error "invalid" "invalid" { target *-*-* } 10 } }; template<class T > struct Derived { class Nested : public X<T> - { // { dg-error "instantiated" "" } + { // { dg-message "instantiated" "" } }; - Nested m; // { dg-error "instantiated" "" } + Nested m; // { dg-message "instantiated" "" } void Foo (); }; void Foo (Derived<void> &x) { - x.Foo (); // { dg-error "instantiated" "" } + x.Foo (); // { dg-message "instantiated" "" } } diff --git a/gcc/testsuite/g++.dg/template/error33.C b/gcc/testsuite/g++.dg/template/error33.C index e1ac822..b6a2a8a 100644 --- a/gcc/testsuite/g++.dg/template/error33.C +++ b/gcc/testsuite/g++.dg/template/error33.C @@ -6,6 +6,7 @@ template<int> struct A A() { ++i; } }; -template<int> int A<0>::i(0); // { dg-error "template" } +template<int> int A<0>::i(0); // { dg-error "template" "error" } +// { dg-message "note" "note" { target *-*-* } 9 } A<0> a; diff --git a/gcc/testsuite/g++.dg/template/error4.C b/gcc/testsuite/g++.dg/template/error4.C index a3196ee..12942fc 100644 --- a/gcc/testsuite/g++.dg/template/error4.C +++ b/gcc/testsuite/g++.dg/template/error4.C @@ -5,4 +5,5 @@ template<class T> struct C1 }; template<class T, class U> -void foo(typename C1<T>::C2<U>::Type *) { } // { dg-error "template" } +void foo(typename C1<T>::C2<U>::Type *) { } // { dg-error "template" "error " } +// { dg-message "note" "note" { target *-*-* } 8 } diff --git a/gcc/testsuite/g++.dg/template/friend31.C b/gcc/testsuite/g++.dg/template/friend31.C index 222ce23..5e60540 100644 --- a/gcc/testsuite/g++.dg/template/friend31.C +++ b/gcc/testsuite/g++.dg/template/friend31.C @@ -5,7 +5,7 @@ // PR c++/15410: Declaration of friend class template with wrong // template parameter. -template <typename T, typename U> struct F; // { dg-error "previous declaration" } +template <typename T, typename U> struct F; // { dg-message "previous declaration" } class W { diff --git a/gcc/testsuite/g++.dg/template/friend32.C b/gcc/testsuite/g++.dg/template/friend32.C index 4ce2ba3..81e6390 100644 --- a/gcc/testsuite/g++.dg/template/friend32.C +++ b/gcc/testsuite/g++.dg/template/friend32.C @@ -17,5 +17,5 @@ template<class T> class B int f () { - B<int> b; // { dg-error "instantiated" } + B<int> b; // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/friend44.C b/gcc/testsuite/g++.dg/template/friend44.C index 04d68c3..814fec1 100644 --- a/gcc/testsuite/g++.dg/template/friend44.C +++ b/gcc/testsuite/g++.dg/template/friend44.C @@ -3,7 +3,7 @@ template<int> struct A { - friend int foo(); // { dg-error "14: error: new declaration" } + friend int foo(); // { dg-error "14:new declaration" } }; -void foo() { A<0> a; } // { dg-error "6: error: ambiguates old declaration" } +void foo() { A<0> a; } // { dg-error "6:ambiguates old declaration" } diff --git a/gcc/testsuite/g++.dg/template/instantiate1.C b/gcc/testsuite/g++.dg/template/instantiate1.C index 0c739d0..828f2e9 100644 --- a/gcc/testsuite/g++.dg/template/instantiate1.C +++ b/gcc/testsuite/g++.dg/template/instantiate1.C @@ -9,11 +9,11 @@ template <class T> struct X { }; template <class T> struct Y { - X<T> x; // { dg-error "instantiated" } + X<T> x; // { dg-message "instantiated" } }; template <class T> struct Z { // { dg-error "declaration" } - Y<Z<T> > y; // { dg-error "instantiated" } + Y<Z<T> > y; // { dg-message "instantiated" } }; struct ZZ : Z<int> diff --git a/gcc/testsuite/g++.dg/template/instantiate3.C b/gcc/testsuite/g++.dg/template/instantiate3.C index 4644fd0..de3d3a0 100644 --- a/gcc/testsuite/g++.dg/template/instantiate3.C +++ b/gcc/testsuite/g++.dg/template/instantiate3.C @@ -14,4 +14,4 @@ struct ACE_Cleanup_Adapter TYPE object_; // { dg-error "incomplete type" } }; -template class ACE_Cleanup_Adapter<ACE_Null_Mutex>; // { dg-error "instantiated from here" } +template class ACE_Cleanup_Adapter<ACE_Null_Mutex>; // { dg-message "instantiated from here" } diff --git a/gcc/testsuite/g++.dg/template/instantiate5.C b/gcc/testsuite/g++.dg/template/instantiate5.C index 8d07635..70ed2b0 100644 --- a/gcc/testsuite/g++.dg/template/instantiate5.C +++ b/gcc/testsuite/g++.dg/template/instantiate5.C @@ -13,7 +13,7 @@ int baz() { return A<0>::i; } struct B { - static void foo (int); // { dg-error "candidates" } + static void foo (int); // { dg-message "candidates" } }; template <typename T> struct C @@ -21,4 +21,4 @@ template <typename T> struct C virtual void bar() const { T::foo(); } // { dg-error "no matching function" } }; -C<B> c; // { dg-error "instantiated" } +C<B> c; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/instantiate7.C b/gcc/testsuite/g++.dg/template/instantiate7.C index 14a1a33..2e54106 100644 --- a/gcc/testsuite/g++.dg/template/instantiate7.C +++ b/gcc/testsuite/g++.dg/template/instantiate7.C @@ -7,4 +7,4 @@ template<typename T> struct A template<T&> struct B; // { dg-error "reference to void" } }; -A<void> a; // { dg-error "instantiated" } +A<void> a; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/local6.C b/gcc/testsuite/g++.dg/template/local6.C index 3472f59..7094e74 100644 --- a/gcc/testsuite/g++.dg/template/local6.C +++ b/gcc/testsuite/g++.dg/template/local6.C @@ -1,10 +1,10 @@ template <class T> struct PCVector2 -{ // { dg-error "" } +{ // { dg-message "candidates" } template <class T2> PCVector2(const PCVector2<T> &cv) ; PCVector2<T> operator- (const PCVector2<T> &ov) const { - return PCVector2<T>(ov.xFIELD, ov.yFIELD); // { dg-error "" } + return PCVector2<T>(ov.xFIELD, ov.yFIELD); // { dg-error "matching" } } T xFIELD, yFIELD; @@ -15,5 +15,5 @@ void findIntersection( PCVector2<double>& p0, PCVector2<double>& p1); void findIntersection( PCVector2<double>& p0, PCVector2<double>& p1) { - PCVector2<double> e = p1 - p0; // { dg-error "" } + PCVector2<double> e = p1 - p0; // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/lookup2.C b/gcc/testsuite/g++.dg/template/lookup2.C index 493b807..15ab352 100644 --- a/gcc/testsuite/g++.dg/template/lookup2.C +++ b/gcc/testsuite/g++.dg/template/lookup2.C @@ -14,5 +14,5 @@ template <typename T> void Bar () void Foo () { - Bar<B> (); // { dg-error "instantiated" "" } + Bar<B> (); // { dg-message "instantiated" "" } } diff --git a/gcc/testsuite/g++.dg/template/member5.C b/gcc/testsuite/g++.dg/template/member5.C index 45dcd6c..ba6a970 100644 --- a/gcc/testsuite/g++.dg/template/member5.C +++ b/gcc/testsuite/g++.dg/template/member5.C @@ -27,6 +27,7 @@ struct S { template< typename _A > void S::foo() {} -template void S::foo< 0 >(); // { dg-error "no definition available|instantiated from here" } +template void S::foo< 0 >(); // { dg-error "no definition available" "no def" } + // { dg-message "instantiated" "instantiated" { target *-*-* } 30 } } diff --git a/gcc/testsuite/g++.dg/template/memfriend15.C b/gcc/testsuite/g++.dg/template/memfriend15.C index 08db7ae..c12ec4b 100644 --- a/gcc/testsuite/g++.dg/template/memfriend15.C +++ b/gcc/testsuite/g++.dg/template/memfriend15.C @@ -30,5 +30,5 @@ template<class T> void A<T>::B2::f() int main() { A<int>::B2 b1; - b1.f(); // { dg-error "instantiated" } + b1.f(); // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/memfriend16.C b/gcc/testsuite/g++.dg/template/memfriend16.C index a4eeafd..2827ef3 100644 --- a/gcc/testsuite/g++.dg/template/memfriend16.C +++ b/gcc/testsuite/g++.dg/template/memfriend16.C @@ -30,5 +30,5 @@ template<class T> template <class U> void A<T>::B2<U>::f() int main() { A<int>::B2<int> b1; - b1.f(); // { dg-error "instantiated" } + b1.f(); // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/memfriend17.C b/gcc/testsuite/g++.dg/template/memfriend17.C index fd26bc0..5e163fa 100644 --- a/gcc/testsuite/g++.dg/template/memfriend17.C +++ b/gcc/testsuite/g++.dg/template/memfriend17.C @@ -43,4 +43,4 @@ void A<T>::B::func2(void) (void)F2<T*>::foo; } -template class A<int>; // { dg-error "instantiated" } +template class A<int>; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/memfriend7.C b/gcc/testsuite/g++.dg/template/memfriend7.C index aed0295..1583646 100644 --- a/gcc/testsuite/g++.dg/template/memfriend7.C +++ b/gcc/testsuite/g++.dg/template/memfriend7.C @@ -116,18 +116,18 @@ template <> void A<char>::j<0>() int main() { A<int *> a1; - a1.f(0); // { dg-error "instantiated" } - a1.g<char>(); // { dg-error "instantiated" } - a1.g<int>(); // { dg-error "instantiated" } - a1.h(); // { dg-error "instantiated" } - a1.i('a'); // { dg-error "instantiated" } - a1.j<1>(); // { dg-error "instantiated" } + a1.f(0); // { dg-message "instantiated" } + a1.g<char>(); // { dg-message "instantiated" } + a1.g<int>(); // { dg-message "instantiated" } + a1.h(); // { dg-message "instantiated" } + a1.i('a'); // { dg-message "instantiated" } + a1.j<1>(); // { dg-message "instantiated" } A<char> a2; a2.f(0); - a2.g<char>(); // { dg-error "instantiated" } + a2.g<char>(); // { dg-message "instantiated" } a2.g<int>(); a2.h(); a2.i('a'); - a2.j<1>(); // { dg-error "instantiated" } + a2.j<1>(); // { dg-message "instantiated" } a2.j<0>(); } diff --git a/gcc/testsuite/g++.dg/template/meminit1.C b/gcc/testsuite/g++.dg/template/meminit1.C index 077bf60..6fd024a 100644 --- a/gcc/testsuite/g++.dg/template/meminit1.C +++ b/gcc/testsuite/g++.dg/template/meminit1.C @@ -5,4 +5,4 @@ struct S S() : S() {} // { dg-error "base" } }; -S<int> s; // { dg-error "instantiated" } +S<int> s; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/nested3.C b/gcc/testsuite/g++.dg/template/nested3.C index 0094783..1ae4bf7 100644 --- a/gcc/testsuite/g++.dg/template/nested3.C +++ b/gcc/testsuite/g++.dg/template/nested3.C @@ -5,24 +5,27 @@ class A { int _k; }; T1 _t1; - T2 _t2; // { dg-error "instantiated" } + T2 _t2; // { dg-message "instantiated" } }; template <class U> -class B { // { dg-error "" } +class B { // { dg-error "declaration" } class SubB1 { - B _i; // { dg-error "" } + B _i; // { dg-error "incomplete type" } }; class SubB2 { int _j; }; - A<U,SubB1>::SubA<SubB2> _a; // { dg-error "" } + A<U,SubB1>::SubA<SubB2> _a; // { dg-error "not a base type" "not base" } + // { dg-message "note" "note" { target *-*-* } 20 } + // { dg-message "instantiated" "inst" { target *-*-* } 20 } + // { dg-error "non-template" "non-template" { target *-*-* } 20 } }; int main() { - B<char> objB; // { dg-error "instantiated" } + B<char> objB; // { dg-message "instantiated" } return 0; } diff --git a/gcc/testsuite/g++.dg/template/new3.C b/gcc/testsuite/g++.dg/template/new3.C index c6c1089..50be5f1 100644 --- a/gcc/testsuite/g++.dg/template/new3.C +++ b/gcc/testsuite/g++.dg/template/new3.C @@ -1,4 +1,4 @@ -extern void *operator new(__SIZE_TYPE__); // { dg-error "candidate" } +extern void *operator new(__SIZE_TYPE__); // { dg-message "candidate" } template <class T > struct C diff --git a/gcc/testsuite/g++.dg/template/non-type-template-argument-1.C b/gcc/testsuite/g++.dg/template/non-type-template-argument-1.C index 9d400d5..4124364 100644 --- a/gcc/testsuite/g++.dg/template/non-type-template-argument-1.C +++ b/gcc/testsuite/g++.dg/template/non-type-template-argument-1.C @@ -9,4 +9,4 @@ template <typename T> struct D C<T::X> c; // { dg-error "parsed as a non-type|if a type is meant" } }; -D<B> d; // { dg-error "instantiated from here" } +D<B> d; // { dg-message "instantiated from here" } diff --git a/gcc/testsuite/g++.dg/template/nontype12.C b/gcc/testsuite/g++.dg/template/nontype12.C index 0200e87..a290ec3 100644 --- a/gcc/testsuite/g++.dg/template/nontype12.C +++ b/gcc/testsuite/g++.dg/template/nontype12.C @@ -9,7 +9,7 @@ template<typename T> struct A }; A<char> a1; -A<double> a2; // { dg-error "instantiated" } +A<double> a2; // { dg-message "instantiated" } template<typename T> struct B { @@ -27,9 +27,9 @@ template<typename T> struct C template<T> int foo(); // { dg-error "double" } }; -template<typename T> int baz(T) { C<T> c; } // { dg-error "instantiated" } +template<typename T> int baz(T) { C<T> c; } // { dg-message "instantiated" } void foobar() { - baz(1.2); // { dg-error "instantiated" } + baz(1.2); // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/nontype13.C b/gcc/testsuite/g++.dg/template/nontype13.C index 9b76d1a..6fffb8d8 100644 --- a/gcc/testsuite/g++.dg/template/nontype13.C +++ b/gcc/testsuite/g++.dg/template/nontype13.C @@ -24,6 +24,6 @@ struct Dummy int main() { Dummy<int> d; - d.tester<true> (); // { dg-error "instantiated" } + d.tester<true> (); // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/nontype6.C b/gcc/testsuite/g++.dg/template/nontype6.C index 298ce82..97b093a 100644 --- a/gcc/testsuite/g++.dg/template/nontype6.C +++ b/gcc/testsuite/g++.dg/template/nontype6.C @@ -12,8 +12,8 @@ struct A template <class T> void func(void) { - (void)A<T>::type(); // { dg-error "if a type is meant" } -// { dg-error "parsed as a non-type" "non-type" { target *-*-* } 15 } + (void)A<T>::type(); // { dg-error "non-type" "non-type" } +// { dg-message "if a type" "note" { target *-*-* } 15 } } -template void func<float>(void); // { dg-error "instantiated from here" } +template void func<float>(void); // { dg-message "instantiated from here" } diff --git a/gcc/testsuite/g++.dg/template/overload9.C b/gcc/testsuite/g++.dg/template/overload9.C index bc73c41..cef8ebe 100644 --- a/gcc/testsuite/g++.dg/template/overload9.C +++ b/gcc/testsuite/g++.dg/template/overload9.C @@ -7,7 +7,7 @@ template <typename T> A<T>& operator<<(A<T>&, const B<T>&); template <typename T> struct A { - A<T>& operator<<(A<T>& (*)(A<T>&)); // { dg-error "candidate" } + A<T>& operator<<(A<T>& (*)(A<T>&)); // { dg-message "candidate" } }; template <typename T> A<T>& foo(A<T>&); diff --git a/gcc/testsuite/g++.dg/template/ptrmem15.C b/gcc/testsuite/g++.dg/template/ptrmem15.C index 553d295..b52ff89 100644 --- a/gcc/testsuite/g++.dg/template/ptrmem15.C +++ b/gcc/testsuite/g++.dg/template/ptrmem15.C @@ -6,4 +6,4 @@ template<typename T> struct A T A::* p; // { dg-error "void" } }; -A<void> a; // { dg-error "instantiated" } +A<void> a; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/ptrmem17.C b/gcc/testsuite/g++.dg/template/ptrmem17.C index 154f17a..a79e3c8 100644 --- a/gcc/testsuite/g++.dg/template/ptrmem17.C +++ b/gcc/testsuite/g++.dg/template/ptrmem17.C @@ -7,4 +7,4 @@ template<int> struct A ~A() { &A::i; } // { dg-error "reference" } }; -A<0> a; // { dg-error "instantiated" } +A<0> a; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/ptrmem4.C b/gcc/testsuite/g++.dg/template/ptrmem4.C index db80eec..0ea73a1 100644 --- a/gcc/testsuite/g++.dg/template/ptrmem4.C +++ b/gcc/testsuite/g++.dg/template/ptrmem4.C @@ -6,7 +6,7 @@ // Pointer to member function template argument deduction ICE. -template <class CONT> void queryAliases(CONT& fill_me); // { dg-error "candidates" } +template <class CONT> void queryAliases(CONT& fill_me); // { dg-message "candidates" } struct SpyExample { @@ -16,5 +16,5 @@ struct SpyExample void SpyExample::ready() { - queryAliases(inputs); // { dg-error "" } + queryAliases(inputs); // { dg-error "matching" } } diff --git a/gcc/testsuite/g++.dg/template/ptrmem6.C b/gcc/testsuite/g++.dg/template/ptrmem6.C index 0d7dec2..a355cfe 100644 --- a/gcc/testsuite/g++.dg/template/ptrmem6.C +++ b/gcc/testsuite/g++.dg/template/ptrmem6.C @@ -4,7 +4,7 @@ void g(int S::**); template <typename T> void f (int T::* volatile *p) { - g(p); // { dg-error "" } + g(p); // { dg-error "conversion" } } -template void f(int S::* volatile *); // { dg-error "instantiated" } +template void f(int S::* volatile *); // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/ptrmem8.C b/gcc/testsuite/g++.dg/template/ptrmem8.C index 588ac1f..e25b408 100644 --- a/gcc/testsuite/g++.dg/template/ptrmem8.C +++ b/gcc/testsuite/g++.dg/template/ptrmem8.C @@ -15,6 +15,10 @@ template <int (D::*fun)() const> int Get(); int main () { - Get<&B::I>(); // { dg-error "" } - Get<&D::I>(); // { dg-error "" } + Get<&B::I>(); // { dg-error "not a valid template argument" "not valid" } + // { dg-error "no match" "no match" { target *-*-* } 18 } + // { dg-message "note" "note" { target *-*-* } 18 } + Get<&D::I>(); // { dg-error "not a valid template argument" "not valid" } + // { dg-error "no match" "no match" { target *-*-* } 21 } + // { dg-message "note" "note" { target *-*-* } 21 } } diff --git a/gcc/testsuite/g++.dg/template/qualified-id1.C b/gcc/testsuite/g++.dg/template/qualified-id1.C index 9677642..602be5b 100644 --- a/gcc/testsuite/g++.dg/template/qualified-id1.C +++ b/gcc/testsuite/g++.dg/template/qualified-id1.C @@ -16,11 +16,12 @@ template <> struct A::B<false> {}; template <typename T> void foo() { - T::C (); // { dg-error "parsed as a non-type|if a type is meant" "" } - T::template B<false>(); // { dg-error "parsed as a non-type|if a type is meant" "" } + T::C (); // { dg-error "parsed as a non-type|if a type is meant" } + T::template B<false>(); // { dg-error "parsed as a non-type" "non-type" } + // { dg-message "if a type" "if a type" { target *-*-* } 20 } } void bar() { - foo<A>(); // { dg-error "instantiated" "" } + foo<A>(); // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/qualttp20.C b/gcc/testsuite/g++.dg/template/qualttp20.C index ae20d762..d65fd1b 100644 --- a/gcc/testsuite/g++.dg/template/qualttp20.C +++ b/gcc/testsuite/g++.dg/template/qualttp20.C @@ -32,5 +32,5 @@ template <typename T> struct B2 : T myconst b; }; -B1<AS> b1; // { dg-error "instantiated" "" } +B1<AS> b1; // { dg-message "instantiated" "" } B2<AS> b2; diff --git a/gcc/testsuite/g++.dg/template/qualttp3.C b/gcc/testsuite/g++.dg/template/qualttp3.C index 929fa62..4b9ffe3 100644 --- a/gcc/testsuite/g++.dg/template/qualttp3.C +++ b/gcc/testsuite/g++.dg/template/qualttp3.C @@ -14,10 +14,10 @@ template <template <class> class TT> struct X template <class T> struct C { - X<T::template B> x; // { dg-error "type" "" } + X<T::template B> x; // { dg-error "type" } }; int main() { - C<A> c; // { dg-error "instantiated" } + C<A> c; // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/qualttp4.C b/gcc/testsuite/g++.dg/template/qualttp4.C index 04335f1..c55ce2d 100644 --- a/gcc/testsuite/g++.dg/template/qualttp4.C +++ b/gcc/testsuite/g++.dg/template/qualttp4.C @@ -10,7 +10,7 @@ struct A template <template <class, class> class TT> // { dg-error "provided" } struct X { - TT<int> y; // { dg-error "number|type" } + TT<int> y; // { dg-error "number" } }; template <class T> struct C @@ -20,5 +20,5 @@ template <class T> struct C int main() { - C<A> c; // { dg-error "instantiated" } + C<A> c; // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/qualttp5.C b/gcc/testsuite/g++.dg/template/qualttp5.C index 7ac7a31..7d1062e 100644 --- a/gcc/testsuite/g++.dg/template/qualttp5.C +++ b/gcc/testsuite/g++.dg/template/qualttp5.C @@ -4,7 +4,7 @@ template <class U> struct A { - template <class T> class B {}; // { dg-error "candidates" } + template <class T> class B {}; // { dg-message "candidates" } }; template <template <class> class TT> void f() @@ -15,11 +15,11 @@ template <template <class> class TT> void f() template <class T> struct C { - void g() { f<A<T>::template B>(); } // { dg-error "instantiated" } + void g() { f<A<T>::template B>(); } // { dg-message "instantiated" } }; int main() { C<int> c; - c.g(); // { dg-error "instantiated" } + c.g(); // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/qualttp6.C b/gcc/testsuite/g++.dg/template/qualttp6.C index 0468958..aa1a467 100644 --- a/gcc/testsuite/g++.dg/template/qualttp6.C +++ b/gcc/testsuite/g++.dg/template/qualttp6.C @@ -12,4 +12,4 @@ template <class T> struct D { struct E { }; -D<E> d; // { dg-error "instantiated" } +D<E> d; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/qualttp7.C b/gcc/testsuite/g++.dg/template/qualttp7.C index f6573ac..f37123e 100644 --- a/gcc/testsuite/g++.dg/template/qualttp7.C +++ b/gcc/testsuite/g++.dg/template/qualttp7.C @@ -9,4 +9,4 @@ template <class T> struct D { C<T::template B> c; // { dg-error "no class template" } }; -D<int> d; // { dg-error "instantiated" } +D<int> d; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/qualttp8.C b/gcc/testsuite/g++.dg/template/qualttp8.C index da67a09..5f55e60 100644 --- a/gcc/testsuite/g++.dg/template/qualttp8.C +++ b/gcc/testsuite/g++.dg/template/qualttp8.C @@ -14,4 +14,4 @@ struct E { template <class T> class B {}; // { dg-error "private" } }; -D<E> d; // { dg-error "instantiated" } +D<E> d; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/recurse.C b/gcc/testsuite/g++.dg/template/recurse.C index ce4c926..25552d0 100644 --- a/gcc/testsuite/g++.dg/template/recurse.C +++ b/gcc/testsuite/g++.dg/template/recurse.C @@ -5,8 +5,9 @@ template <int I> struct F { int operator()() { - F<I+1> f; // { dg-error "" "" } - return f()*I; // { dg-error "" "" } + F<I+1> f; // { dg-error "incomplete type" "incomplete" } + // { dg-error "exceeds maximum" "exceeds" { target *-*-* } 8 } + return f()*I; // { dg-message "instantiated" "recurse" } } }; @@ -18,5 +19,8 @@ template <> struct F<52> int main () { F<1> f; - return f(); // { dg-error "instantiate" "excessive recursion" } + return f(); // { dg-message "instantiated from here" "excessive recursion" } } + +// Ignore excess messages from recursion. +// { dg-prune-output "instantiated from 'int" } diff --git a/gcc/testsuite/g++.dg/template/sfinae10.C b/gcc/testsuite/g++.dg/template/sfinae10.C index e0680db..f44c445 100644 --- a/gcc/testsuite/g++.dg/template/sfinae10.C +++ b/gcc/testsuite/g++.dg/template/sfinae10.C @@ -169,13 +169,13 @@ STATIC_ASSERT((has_postdecrement<X>::value)); STATIC_ASSERT((!has_postdecrement<Y>::value)); // Check for private members -STATIC_ASSERT((has_unary_plus<Z>::value)); // { dg-error "instantiated from here" } -STATIC_ASSERT((is_negatable<Z>::value)); // { dg-error "instantiated from here" } -STATIC_ASSERT((is_dereferenceable<Z>::value)); // { dg-error "instantiated from here" } -STATIC_ASSERT((has_bitwise_not<Z>::value)); // { dg-error "instantiated from here" } -STATIC_ASSERT((has_truth_not<Z>::value)); // { dg-error "instantiated from here" } -STATIC_ASSERT((has_preincrement<Z>::value)); // { dg-error "instantiated from here" } -STATIC_ASSERT((has_predecrement<Z>::value)); // { dg-error "instantiated from here" } -STATIC_ASSERT((has_postincrement<Z>::value)); // { dg-error "instantiated from here" } -STATIC_ASSERT((has_postdecrement<Z>::value)); // { dg-error "instantiated from here" } +STATIC_ASSERT((has_unary_plus<Z>::value)); // { dg-message "instantiated from here" } +STATIC_ASSERT((is_negatable<Z>::value)); // { dg-message "instantiated from here" } +STATIC_ASSERT((is_dereferenceable<Z>::value)); // { dg-message "instantiated from here" } +STATIC_ASSERT((has_bitwise_not<Z>::value)); // { dg-message "instantiated from here" } +STATIC_ASSERT((has_truth_not<Z>::value)); // { dg-message "instantiated from here" } +STATIC_ASSERT((has_preincrement<Z>::value)); // { dg-message "instantiated from here" } +STATIC_ASSERT((has_predecrement<Z>::value)); // { dg-message "instantiated from here" } +STATIC_ASSERT((has_postincrement<Z>::value)); // { dg-message "instantiated from here" } +STATIC_ASSERT((has_postdecrement<Z>::value)); // { dg-message "instantiated from here" } diff --git a/gcc/testsuite/g++.dg/template/sfinae3.C b/gcc/testsuite/g++.dg/template/sfinae3.C index 8d141ea..5799a36 100644 --- a/gcc/testsuite/g++.dg/template/sfinae3.C +++ b/gcc/testsuite/g++.dg/template/sfinae3.C @@ -9,7 +9,7 @@ template<typename> struct A template<typename> struct B { - B(const B&); // { dg-error "candidate" } + B(const B&); // { dg-message "candidate" } typedef typename A<char[A<B>::i]>::X Y; template<typename T> B(T, Y); // { dg-error "call" } }; diff --git a/gcc/testsuite/g++.dg/template/spec22.C b/gcc/testsuite/g++.dg/template/spec22.C index a091b0f..7e627f16 100644 --- a/gcc/testsuite/g++.dg/template/spec22.C +++ b/gcc/testsuite/g++.dg/template/spec22.C @@ -8,11 +8,11 @@ template <typename T> class srp; template <typename T> struct ptr { - template <typename U> ptr(const srp<U> &other); // { dg-error "ptr<T>::ptr" } + template <typename U> ptr(const srp<U> &other); // { dg-message "ptr<T>::ptr" } }; template <typename T> struct srp { - template <typename U> operator ptr<U>(void) const; // { dg-error "srp<T>::operator" } + template <typename U> operator ptr<U>(void) const; // { dg-message "srp<T>::operator" } }; ptr<int> parent_get() { diff --git a/gcc/testsuite/g++.dg/template/spec23.C b/gcc/testsuite/g++.dg/template/spec23.C index 00272ad..1c027fa 100644 --- a/gcc/testsuite/g++.dg/template/spec23.C +++ b/gcc/testsuite/g++.dg/template/spec23.C @@ -8,18 +8,18 @@ struct Foo { template <typename T> - Foo (const T &); // { dg-error "T = Bar" "" } + Foo (const T &); // { dg-message "T = Bar" } }; struct Bar { template <typename T> - operator T () const; // { dg-error "T = Foo" "" } + operator T () const; // { dg-message "T = Foo" } }; Foo Quux (Bar const &b) { - return b; // { dg-error "ambiguous" "" } + return b; // { dg-error "ambiguous" } } diff --git a/gcc/testsuite/g++.dg/template/static9.C b/gcc/testsuite/g++.dg/template/static9.C index 4575708..a9814418 100644 --- a/gcc/testsuite/g++.dg/template/static9.C +++ b/gcc/testsuite/g++.dg/template/static9.C @@ -2,7 +2,8 @@ template<typename T> struct A { - static const T i = 0; // { dg-error "" } + static const T i = 0; // { dg-error "declared void" "void" } + // { dg-error "invalid" "invalid" { target *-*-* } 5 } }; -A<void> a; // { dg-error "" } +A<void> a; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/template-id-2.C b/gcc/testsuite/g++.dg/template/template-id-2.C index 1bc378c..6d37350 100644 --- a/gcc/testsuite/g++.dg/template/template-id-2.C +++ b/gcc/testsuite/g++.dg/template/template-id-2.C @@ -18,5 +18,5 @@ template<> struct A<void> void bar() { A<void> a; - a.foo<int>(); // { dg-error "instantiated" } + a.foo<int>(); // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/typename2.C b/gcc/testsuite/g++.dg/template/typename2.C index 644c62a..b0e16d4 100644 --- a/gcc/testsuite/g++.dg/template/typename2.C +++ b/gcc/testsuite/g++.dg/template/typename2.C @@ -21,5 +21,6 @@ class ctype : public __ctype_abstract_base<_CharT> template<typename _CharT> class ctype2 : public __ctype_abstract_base<_CharT> { - typedef mask mask; // { dg-error "" } + typedef mask mask; // { dg-error "does not name a type" "no type" } + // { dg-message "note" "note" { target *-*-* } 24 } }; diff --git a/gcc/testsuite/g++.dg/template/typename4.C b/gcc/testsuite/g++.dg/template/typename4.C index add9515..18cdd1a 100644 --- a/gcc/testsuite/g++.dg/template/typename4.C +++ b/gcc/testsuite/g++.dg/template/typename4.C @@ -1,3 +1,3 @@ struct B { template <typename U> struct C; }; -template <typename T> struct A { typedef typename T::C V; }; // { dg-error "" } -void f () { A<B>::V p; } // { dg-error "" } +template <typename T> struct A { typedef typename T::C V; }; // { dg-error "not a type" } +void f () { A<B>::V p; } // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/template/using14.C b/gcc/testsuite/g++.dg/template/using14.C index d104948..ebb4e09 100644 --- a/gcc/testsuite/g++.dg/template/using14.C +++ b/gcc/testsuite/g++.dg/template/using14.C @@ -10,12 +10,12 @@ template <class T> struct C : public B1<T>, public B2 void f() { i(); // should be accepted - i.i(); // { dg-error "" } + i.i(); // { dg-error "member" } } }; int main() { C<int> c; - c.f(); // { dg-error "instantiated" } + c.f(); // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/using2.C b/gcc/testsuite/g++.dg/template/using2.C index 87cdbc1..5d21f57 100644 --- a/gcc/testsuite/g++.dg/template/using2.C +++ b/gcc/testsuite/g++.dg/template/using2.C @@ -7,12 +7,12 @@ template <class T> struct Foo { - int i; // { dg-error "" "" } + int i; // { dg-error "Foo" } }; struct Baz { - int i; // { dg-error "" "" } + int i; // { dg-error "Baz" } }; template <class T> @@ -20,11 +20,11 @@ struct Bar : public Foo<T>, Baz { using Foo<T>::i; using Baz::i; - int foo () { return i; } // { dg-error "request for member" "" } + int foo () { return i; } // { dg-error "request for member" } }; void foo (Bar<int> &bar) { - bar.foo(); // { dg-error "instantiated" "" } + bar.foo(); // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.dg/template/warn1.C b/gcc/testsuite/g++.dg/template/warn1.C index 827c65e..0cdffcd 100644 --- a/gcc/testsuite/g++.dg/template/warn1.C +++ b/gcc/testsuite/g++.dg/template/warn1.C @@ -17,7 +17,7 @@ template <class T> void Foo(T i) void Bar () { - Foo (1); // { dg-error "instantiated" "" } + Foo (1); // { dg-message "instantiated" } } struct M {}; @@ -31,6 +31,6 @@ struct C void Baz (int i) { - i ? i + 1 : i + 2; // { dg-error "operand of" "" } + i ? i + 1 : i + 2; // { dg-warning "operand of" } i ? i++ : 0; } diff --git a/gcc/testsuite/g++.dg/warn/Wparentheses-13.C b/gcc/testsuite/g++.dg/warn/Wparentheses-13.C index 22525cd..ebe8f42 100644 --- a/gcc/testsuite/g++.dg/warn/Wparentheses-13.C +++ b/gcc/testsuite/g++.dg/warn/Wparentheses-13.C @@ -66,4 +66,4 @@ bar (T) foo (27); } -template void bar<int> (int); // { dg-warning "instantiated" } +template void bar<int> (int); // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/warn/Wparentheses-15.C b/gcc/testsuite/g++.dg/warn/Wparentheses-15.C index ab156b7..db73d43 100644 --- a/gcc/testsuite/g++.dg/warn/Wparentheses-15.C +++ b/gcc/testsuite/g++.dg/warn/Wparentheses-15.C @@ -65,4 +65,4 @@ bar (T a, T b, T c) foo (1 != (2 != 3)); } -template void bar<int> (int, int, int); // { dg-warning "instantiated" } +template void bar<int> (int, int, int); // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/warn/Wparentheses-16.C b/gcc/testsuite/g++.dg/warn/Wparentheses-16.C index d8151ae..6381552 100644 --- a/gcc/testsuite/g++.dg/warn/Wparentheses-16.C +++ b/gcc/testsuite/g++.dg/warn/Wparentheses-16.C @@ -83,4 +83,4 @@ bar (T a, T b, T c) foo (6 >> (5 - 4)); } -template void bar<int> (int, int, int); // { dg-warning "instantiated" } +template void bar<int> (int, int, int); // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/warn/Wparentheses-17.C b/gcc/testsuite/g++.dg/warn/Wparentheses-17.C index def181a..1af1e2e 100644 --- a/gcc/testsuite/g++.dg/warn/Wparentheses-17.C +++ b/gcc/testsuite/g++.dg/warn/Wparentheses-17.C @@ -29,4 +29,4 @@ bar (T a, T b, T c) foo (1 || (2 && 3)); } -template void bar<int> (int, int, int); // { dg-warning "instantiated" } +template void bar<int> (int, int, int); // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/warn/Wparentheses-18.C b/gcc/testsuite/g++.dg/warn/Wparentheses-18.C index 32fa1fe..d562315 100644 --- a/gcc/testsuite/g++.dg/warn/Wparentheses-18.C +++ b/gcc/testsuite/g++.dg/warn/Wparentheses-18.C @@ -119,4 +119,4 @@ bar (T a, T b, T c) foo (1 | (2 <= 3)); } -template void bar<int> (int, int, int); // { dg-warning "instantiated" } +template void bar<int> (int, int, int); // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/warn/Wparentheses-19.C b/gcc/testsuite/g++.dg/warn/Wparentheses-19.C index c7e45cf..e3dfc5d 100644 --- a/gcc/testsuite/g++.dg/warn/Wparentheses-19.C +++ b/gcc/testsuite/g++.dg/warn/Wparentheses-19.C @@ -119,4 +119,4 @@ bar (T a, T b, T c) foo (1 ^ (2 < 3)); } -template void bar<int> (int, int, int); // { dg-warning "instantiated" } +template void bar<int> (int, int, int); // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/warn/Wparentheses-20.C b/gcc/testsuite/g++.dg/warn/Wparentheses-20.C index 8789d59..a1ba89d 100644 --- a/gcc/testsuite/g++.dg/warn/Wparentheses-20.C +++ b/gcc/testsuite/g++.dg/warn/Wparentheses-20.C @@ -101,4 +101,4 @@ bar (T a, T b, T c) foo (1 & (2 != 3)); } -template void bar<int> (int, int, int); // { dg-warning "instantiated" } +template void bar<int> (int, int, int); // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/warn/Wparentheses-23.C b/gcc/testsuite/g++.dg/warn/Wparentheses-23.C index 755c574..cadc287 100644 --- a/gcc/testsuite/g++.dg/warn/Wparentheses-23.C +++ b/gcc/testsuite/g++.dg/warn/Wparentheses-23.C @@ -114,8 +114,8 @@ bar4 (T) return (a = a); } -template void bar<int> (int); // { dg-warning "instantiated" } -template bool bar1<int> (int); // { dg-warning "instantiated" } +template void bar<int> (int); // { dg-message "instantiated" } +template bool bar1<int> (int); // { dg-message "instantiated" } template bool bar2<int> (int); -template bool bar3<int> (int); // { dg-warning "instantiated" } +template bool bar3<int> (int); // { dg-message "instantiated" } template bool bar4<int> (int); diff --git a/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-3.C b/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-3.C index 9fc3538..94c2f47 100644 --- a/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-3.C +++ b/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-3.C @@ -9,6 +9,6 @@ T *foo(void) return (T *)&x; /* { dg-warning "strict-aliasing" } */ } -template int *foo<int>(void); /* { dg-warning "instantiated from here" } */ +template int *foo<int>(void); /* { dg-message "instantiated from here" } */ template char *foo<char>(void); /* { dg-bogus "instantiated from here" } */ diff --git a/gcc/testsuite/g++.dg/warn/incomplete1.C b/gcc/testsuite/g++.dg/warn/incomplete1.C index aed32a1..26cfe2e 100644 --- a/gcc/testsuite/g++.dg/warn/incomplete1.C +++ b/gcc/testsuite/g++.dg/warn/incomplete1.C @@ -16,6 +16,7 @@ A *a; // { dg-warning "'a' has incomplete type" "" } int main (int argc, char **argv) { - delete a; // { dg-warning "delete" "" } + delete a; // { dg-warning "delete" "warn" } + // { dg-message "note" "note" { target *-*-* } 19 } return 0; } diff --git a/gcc/testsuite/g++.dg/warn/noeffect2.C b/gcc/testsuite/g++.dg/warn/noeffect2.C index 69adf39..0132365 100644 --- a/gcc/testsuite/g++.dg/warn/noeffect2.C +++ b/gcc/testsuite/g++.dg/warn/noeffect2.C @@ -12,9 +12,9 @@ extern "C" void FormatDisk(); struct C { C(){ FormatDisk(), 0; } // { dg-warning "right-hand operand of comma" "" } }; - template struct C<int>; // { dg-warning "instantiated" } + template struct C<int>; // { dg-message "instantiated" } template <class T> void f() { FormatDisk(), 0; } // { dg-warning "right-hand operand of comma" "" } - template void f<int> (); // { dg-warning "instantiated" } + template void f<int> (); // { dg-message "instantiated" } void g() { FormatDisk(), 0; } // { dg-warning "right-hand operand of comma" "" } diff --git a/gcc/testsuite/g++.dg/warn/noeffect4.C b/gcc/testsuite/g++.dg/warn/noeffect4.C index 7b051dd..966716b 100644 --- a/gcc/testsuite/g++.dg/warn/noeffect4.C +++ b/gcc/testsuite/g++.dg/warn/noeffect4.C @@ -85,4 +85,4 @@ template<int I> void Foo (X &x) __alignof__ (x++); // { dg-warning "no effect" "" } } -template void Foo<4> (X&); // { dg-warning "instantiated" } +template void Foo<4> (X&); // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.dg/warn/pr26785.C b/gcc/testsuite/g++.dg/warn/pr26785.C index b3c0313..f3984d5 100644 --- a/gcc/testsuite/g++.dg/warn/pr26785.C +++ b/gcc/testsuite/g++.dg/warn/pr26785.C @@ -3,7 +3,7 @@ // { dg-options "-fshow-column" } class foo { - foo::foo // { dg-error "3: error: extra qualification" } + foo::foo // { dg-error "3:extra qualification" } (int a, int b, int c); diff --git a/gcc/testsuite/g++.dg/warn/pr8570.C b/gcc/testsuite/g++.dg/warn/pr8570.C index 0136bb1..608f4d6 100644 --- a/gcc/testsuite/g++.dg/warn/pr8570.C +++ b/gcc/testsuite/g++.dg/warn/pr8570.C @@ -2,12 +2,12 @@ // { dg-do compile } // { dg-options "" } template <typename T, typename P> -class X { // { dg-warning "note: previous declaration .* used 2" } +class X { // { dg-message "note: previous declaration .* used 2" } public: X() { } private: - template <typename U> friend class X; // { dg-error "error: .*redeclared with 1 template parameter" } + template <typename U> friend class X; // { dg-error "redeclared with 1 template parameter" } }; -X<int, int> i; +X<int, int> i; // { dg-message "instantiated" } diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15799.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15799.C index 64195fc..35d882b 100644 --- a/gcc/testsuite/g++.old-deja/g++.benjamin/15799.C +++ b/gcc/testsuite/g++.old-deja/g++.benjamin/15799.C @@ -15,15 +15,15 @@ typedef unsigned long uint_32; class sanjose { public: sanjose(); - sanjose(const sanjose&); // { dg-error "" } candidate - sanjose(int_8 value); // { dg-error "" } // ERROR - - sanjose(uint_32 value); // { dg-error "" } // ERROR - + sanjose(const sanjose&); // { dg-message "note" } + sanjose(int_8 value); // { dg-message "note" } + sanjose(uint_32 value); // { dg-message "note" } }; enum { first, last}; void foo(void) { - sanjose obj(first); // { dg-error "" } // ERROR - + sanjose obj(first); // { dg-error "ambiguous" } } diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15800-1.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15800-1.C index 2fdcdfc..deedfba 100644 --- a/gcc/testsuite/g++.old-deja/g++.benjamin/15800-1.C +++ b/gcc/testsuite/g++.old-deja/g++.benjamin/15800-1.C @@ -5,13 +5,13 @@ struct panama { panama(); panama(panama &); - panama& operator=(panama&); // { dg-error "" } // ERROR - + panama& operator=(panama&); // { dg-message "candidates" } }; extern panama dig(); void foo() { panama obj; - obj = dig(); // { dg-error "" } // ERROR - + obj = dig(); // { dg-error "no match" } } diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/16077.C b/gcc/testsuite/g++.old-deja/g++.benjamin/16077.C index 9f854b5..9338e87 100644 --- a/gcc/testsuite/g++.old-deja/g++.benjamin/16077.C +++ b/gcc/testsuite/g++.old-deja/g++.benjamin/16077.C @@ -21,7 +21,9 @@ public: void peace(const colombia&); void foo(nicaragua& b) { - peace(b); // { dg-warning "" } // WARNING - + peace(b); // { dg-warning "choosing 'nicaragua::operator" "nic" } + // { dg-warning "conversion" "conv" { target *-*-* } 24 } + // { dg-message "note" "note" { target *-*-* } 24 } } diff --git a/gcc/testsuite/g++.old-deja/g++.bob/inherit2.C b/gcc/testsuite/g++.old-deja/g++.bob/inherit2.C index 9a64de4..14bc32b 100644 --- a/gcc/testsuite/g++.old-deja/g++.bob/inherit2.C +++ b/gcc/testsuite/g++.old-deja/g++.bob/inherit2.C @@ -20,5 +20,6 @@ void f(B b) { void g() { B h; - f(h); // { dg-error "synthesized|argument" } + f(h); // { dg-error "argument" "arg" } + // { dg-message "synthesized" "synth" { target *-*-* } 23 } } diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ambiguity1.C b/gcc/testsuite/g++.old-deja/g++.brendan/ambiguity1.C index b0c37e1..ddf93c4 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/ambiguity1.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/ambiguity1.C @@ -8,10 +8,10 @@ struct B { B (int); }; -void myfunc (const A& t0); // { dg-error "" } -void myfunc (const B& t0); // { dg-error "" } +void myfunc (const A& t0); // { dg-message "candidates" } +void myfunc (const B& t0); // { dg-message "note" } int main () { - myfunc(1); // { dg-error "" } ambiguous call + myfunc(1); // { dg-error "ambiguous" } } diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash16.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash16.C index d05c73b..674fc4f 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/crash16.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash16.C @@ -2,13 +2,13 @@ // { dg-options "-fshow-column" } // GROUPS passed old-abort -class Graph { // { dg-error "1: error: new types|1: note: \\(perhaps" } +class Graph { // { dg-error "1:new types|1: note: \\(perhaps" } public: unsigned char N; - Graph(void) {} // { dg-error "7: error: 'Graph" } + Graph(void) {} // { dg-error "7:'Graph" } } -Graph::Graph(void) // { dg-error "18: error: return type|1: error: redefinition" } +Graph::Graph(void) // { dg-error "18:return type|1: error: redefinition" } { N = 10; } diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash29.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash29.C index 6fd031f..fd2fa2f 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/crash29.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash29.C @@ -7,13 +7,13 @@ union Value }; struct GlobalAddress -{// { dg-error "" } candidates .* - GlobalAddress(Value *nvar){}// { dg-error "" } .* +{// { dg-message "note" } + GlobalAddress(Value *nvar){} // { dg-message "candidates" } }; int main() { - new GlobalAddress(Value()); // internal error occured here// { dg-error "" } no matching function .* + new GlobalAddress(Value()); // internal error occured here// { dg-error "no matching" } //new GlobalAddress(new Value()); // This line is correct code } diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash48.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash48.C index bdb522a..e7d621c 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/crash48.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash48.C @@ -1,16 +1,16 @@ // { dg-do compile } // GROUPS passed old-abort -class internal { // { dg-error "internal::internal" } +class internal { // { dg-message "internal::internal" } int field; int anotherfield; }; -class bug { // { dg-error "bug::bug" } +class bug { // { dg-message "bug::bug" } internal* numbers; bug(int size); }; -bug::bug(int size) // { dg-error "bug::bug" } +bug::bug(int size) // { dg-message "bug::bug" } { numbers = new internal(size * size);// { dg-error "no match" } } diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash56.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash56.C index d1cae6d..dcb89dc 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/crash56.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash56.C @@ -343,7 +343,7 @@ operator>=(const SetLD<T>& a, const SetLD<T>& b) class String { }; class IcaseString: public String { }; template <> class SetLD< IcaseString >: public SetLD< String > { public: SetLD (): SetLD< String >() { }; SetLD (const ListD< IcaseString >& other): SetLD< String >() { ListD< IcaseString >::Vix x; for (other.first(x); 0 != x; other.next(x)) add(other(x)); }; SetLD (const SetLD & other): SetLD< String >(other) { }; const IcaseString & operator()(const Vix& x) const { return ( IcaseString &) SetLD< String >::operator()(x); } }; typedef SetLD< String > SetLD_String_IcaseString_old_tmp99; typedef SetLD< IcaseString > SetLD_String_IcaseString_new_tmp99; -inline int operator== (const SetLD_String_IcaseString_new_tmp99& a, const SetLD_String_IcaseString_new_tmp99& b) // { dg-error "operator==" } +inline int operator== (const SetLD_String_IcaseString_new_tmp99& a, const SetLD_String_IcaseString_new_tmp99& b) // { dg-message "operator==" } { const SetLD_String_IcaseString_old_tmp99& oa = a; const SetLD_String_IcaseString_old_tmp99& ob = b; diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/cvt3.C b/gcc/testsuite/g++.old-deja/g++.brendan/cvt3.C index 9849c4a..638ba9f 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/cvt3.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/cvt3.C @@ -38,11 +38,11 @@ struct bar class nnyacc { public: - static void assign(void*& lval, void*& rval); // { dg-error "" } candidates + static void assign(void*& lval, void*& rval); // { dg-message "candidates" } }; void foo (bar yylval, bar *yyvsp) { - nnyacc::assign(yylval.valueList, yyvsp[0].valueList);// { dg-error "" } + nnyacc::assign(yylval.valueList, yyvsp[0].valueList);// { dg-error "no matching" } } diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/overload1.C b/gcc/testsuite/g++.old-deja/g++.brendan/overload1.C index e30ccdf..92b04c4 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/overload1.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/overload1.C @@ -9,13 +9,13 @@ public: class Bar : public Foo { public: - int f (int); // { dg-error "" } candidates are + int f (int); // { dg-message "candidates" } }; int main () { Bar b; - b.f ();// { dg-error "" } + b.f ();// { dg-error "no matching" } b.f (10); } diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/overload4.C b/gcc/testsuite/g++.old-deja/g++.brendan/overload4.C index ac4f8c8..d832a4b 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/overload4.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/overload4.C @@ -5,7 +5,7 @@ class B { public: - static void WantsNew (NewObject creator); // { dg-error "" } candidates are + static void WantsNew (NewObject creator); // { dg-message "candidates" } }; class A @@ -18,6 +18,6 @@ B::WantsNew ( (NewObject) A::NewOne ); // This used to die in convert_harshness_{ansi,old} cuz it // didn't know what to do about a void type. - B::WantsNew ( A::NewOne );// { dg-error "" } + B::WantsNew ( A::NewOne );// { dg-error "no matching" } } }; diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/overload9.C b/gcc/testsuite/g++.old-deja/g++.brendan/overload9.C index 32d6940..b168e86 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/overload9.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/overload9.C @@ -3,8 +3,8 @@ class CLogger { public: - void operator() (int,const char *) {}; // { dg-error "" } candidates - void operator() (int,const char *, ...) {}; // { dg-error "" } candidates + void operator() (int,const char *) {}; // { dg-message "candidates" } + void operator() (int,const char *, ...) {}; // { dg-message "note" } } Log; class CGLogger : public CLogger @@ -13,8 +13,8 @@ class CGLogger : public CLogger int main() { - Log(1,"Test");// { dg-error "" } call of.* + Log(1,"Test");// { dg-error "ambiguous" } Log(1,"Test %d",3); - GLog(1,"Test");// { dg-error "" } call of.* + GLog(1,"Test");// { dg-error "ambiguous" } GLog(1,"Test %d",3); } diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900127_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900127_01.C index 3ea60aa..1c315b7 100644 --- a/gcc/testsuite/g++.old-deja/g++.bugs/900127_01.C +++ b/gcc/testsuite/g++.old-deja/g++.bugs/900127_01.C @@ -15,12 +15,12 @@ int foo (void); typedef int (*f_ptr_t1) (void); typedef void (*f_ptr_t2) (int); -void bar (f_ptr_t1); // { dg-error "" } -void bar (f_ptr_t2); // { dg-error "" } +void bar (f_ptr_t1); // { dg-message "note" } +void bar (f_ptr_t2); // { dg-message "note" } void function () { - bar (foo); // { dg-error "" } ambiguous + bar (foo); // { dg-error "ambiguous" } } int main () { return 0; } diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C b/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C index d93181e..8d91db6 100644 --- a/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C +++ b/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C @@ -13,19 +13,19 @@ // implicitly-declared constructor is used, then it is implicitly // defined and found to be ill-formed. -struct struct0 { // { dg-error "note" } +struct struct0 { // { dg-message "note" } int data_member; struct0 (int, void *); // suppresses implicit default constructor }; -struct0::struct0 (int, void *) // { dg-error "note" } +struct0::struct0 (int, void *) // { dg-message "note" } { } struct struct0_derived_struct_0 : public struct0 { // { dg-error "no matching" } }; -struct0_derived_struct_0 object; // { dg-error "synthesized" } +struct0_derived_struct_0 object; // { dg-message "synthesized" } int main () { return 0; } diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900330_02.C b/gcc/testsuite/g++.old-deja/g++.bugs/900330_02.C index 98393ba..f1da7fb 100644 --- a/gcc/testsuite/g++.old-deja/g++.bugs/900330_02.C +++ b/gcc/testsuite/g++.old-deja/g++.bugs/900330_02.C @@ -19,12 +19,12 @@ struct B { }; struct D : public B { - int f(struct B); // { dg-error "" } referred to below + int f(struct B); // { dg-message "candidates" } referred to below }; void h(D* pd) { - pd->f(1); // { dg-error "" } D::f(struct B) hides B::f(int) + pd->f(1); // { dg-error "no matching" } D::f(struct B) hides B::f(int) } int main () { return 0; } diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900404_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900404_03.C index 726f9ef..6f7ea3f 100644 --- a/gcc/testsuite/g++.old-deja/g++.bugs/900404_03.C +++ b/gcc/testsuite/g++.old-deja/g++.bugs/900404_03.C @@ -8,12 +8,12 @@ // keywords: overloading, ambiguity, resolution -void function0 (int i, char c) // { dg-error "function0" } +void function0 (int i, char c) // { dg-message "function0" } { i = c; } -void function0 (char c, int i) // { dg-error "function0" } +void function0 (char c, int i) // { dg-message "function0" } { i = c; } diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900514_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900514_03.C index a5419fb..3826e08 100644 --- a/gcc/testsuite/g++.old-deja/g++.bugs/900514_03.C +++ b/gcc/testsuite/g++.old-deja/g++.bugs/900514_03.C @@ -19,14 +19,14 @@ struct t_0_st_0; struct t_0_st_1 { int member; - t_0_st_1 (t_0_st_0&);// { dg-error "" } + t_0_st_1 (t_0_st_0&);// { dg-message "note" } t_0_st_1 (); }; struct t_0_st_0 { int member; - operator t_0_st_1 ();// { dg-error "" } + operator t_0_st_1 ();// { dg-message "note" } }; t_0_st_0 t_0_st_0_obj0; @@ -37,13 +37,13 @@ void t_0_assignment () t_0_st_1 t_0_st_1_obj1; t_0_st_1 t_0_st_1_obj2; - t_0_st_1_obj0 = t_0_st_0_obj0; // { dg-error "" } caught + t_0_st_1_obj0 = t_0_st_0_obj0; // { dg-error "ambiguous" } caught t_0_st_1_obj1 = t_0_st_1 (t_0_st_0_obj0); } void t_0_local_init () { - t_0_st_1 t_0_st_1_obj0 = t_0_st_0_obj0; // { dg-error "" } + t_0_st_1 t_0_st_1_obj0 = t_0_st_0_obj0; // { dg-error "ambiguous" } t_0_st_1 t_0_st_1_obj1 = t_0_st_1 (t_0_st_0_obj0); } @@ -52,15 +52,15 @@ struct t_1_st_0; struct t_1_st_1 { int member; - t_1_st_1 (t_1_st_0&); // { dg-error "" } + t_1_st_1 (t_1_st_0&); // { dg-message "note" } t_1_st_1 (); - void operator= (t_1_st_1&); // { dg-error "" } + void operator= (t_1_st_1&); // { dg-message "note" } }; struct t_1_st_0 { int member; - operator t_1_st_1 (); // { dg-error "" } + operator t_1_st_1 (); // { dg-message "note" } }; t_1_st_0 t_1_st_0_obj0; @@ -71,13 +71,13 @@ void t_1_assignment () t_1_st_1 t_1_st_1_obj1; t_1_st_1 t_1_st_1_obj2; - t_1_st_1_obj0 = t_1_st_0_obj0; // { dg-error "" } - t_1_st_1_obj1 = t_1_st_1 (t_1_st_0_obj0); // { dg-error "" } + t_1_st_1_obj0 = t_1_st_0_obj0; // { dg-error "no match" } + t_1_st_1_obj1 = t_1_st_1 (t_1_st_0_obj0); // { dg-error "no match" } } void t_1_local_init () { - t_1_st_1 t_1_st_1_obj0 = t_1_st_0_obj0; // { dg-error "" } + t_1_st_1 t_1_st_1_obj0 = t_1_st_0_obj0; // { dg-error "ambiguous" } t_1_st_1 t_1_st_1_obj1 = t_1_st_1 (t_1_st_0_obj0); } @@ -86,14 +86,14 @@ struct t_2_st_0; struct t_2_st_1 { int member; - t_2_st_1 (t_2_st_0); // { dg-error "" } candidate + t_2_st_1 (t_2_st_0); // { dg-message "note" } t_2_st_1 (); }; struct t_2_st_0 { int member; - operator t_2_st_1 (); // { dg-error "" } candidate + operator t_2_st_1 (); // { dg-message "candidate" } }; t_2_st_0 t_2_st_0_obj0; @@ -104,12 +104,12 @@ void t_2_assignment () t_2_st_1 t_2_st_1_obj1; t_2_st_1 t_2_st_1_obj2; - t_2_st_1_obj0 = t_2_st_0_obj0; // { dg-error "" } caught + t_2_st_1_obj0 = t_2_st_0_obj0; // { dg-error "ambiguous" } caught t_2_st_1_obj1 = t_2_st_1 (t_2_st_0_obj0); } void t_2_local_init () { - t_2_st_1 t_2_st_1_obj0 = t_2_st_0_obj0; // { dg-error "" } + t_2_st_1 t_2_st_1_obj0 = t_2_st_0_obj0; // { dg-error "ambiguous" } t_2_st_1 t_2_st_1_obj1 = t_2_st_1 (t_2_st_0_obj0); } diff --git a/gcc/testsuite/g++.old-deja/g++.eh/ctor1.C b/gcc/testsuite/g++.old-deja/g++.eh/ctor1.C index 6071d7e..ac2f24f 100644 --- a/gcc/testsuite/g++.old-deja/g++.eh/ctor1.C +++ b/gcc/testsuite/g++.old-deja/g++.eh/ctor1.C @@ -2,7 +2,7 @@ struct A { A(); - A(A&); // { dg-error "" } referenced below + A(A&); // { dg-message "candidates" } referenced below }; int @@ -10,7 +10,8 @@ main () { try { - throw A(); // { dg-error "" } can't copy + throw A(); // { dg-error "no matching" "match" } can't copy +// { dg-error "thrown expression" "expr" { target *-*-* } 13 } } catch (...) { } } diff --git a/gcc/testsuite/g++.old-deja/g++.eh/spec6.C b/gcc/testsuite/g++.old-deja/g++.eh/spec6.C index b9ccd6e..b6e7f26 100644 --- a/gcc/testsuite/g++.old-deja/g++.eh/spec6.C +++ b/gcc/testsuite/g++.old-deja/g++.eh/spec6.C @@ -25,7 +25,7 @@ template<class T> void fnx(T *) throw(T){} // { dg-error "" } invalid use of vo void fx() { fnx((int *)0); - fnx((void *)0); // { dg-error "" } instantiated from here + fnx((void *)0); // { dg-message "instantiated from here" } } // [except.spec] 2, exception specifiers must be the same set of types (but diff --git a/gcc/testsuite/g++.old-deja/g++.ext/overload1.C b/gcc/testsuite/g++.old-deja/g++.ext/overload1.C index e729163..f7c8018 100644 --- a/gcc/testsuite/g++.old-deja/g++.ext/overload1.C +++ b/gcc/testsuite/g++.old-deja/g++.ext/overload1.C @@ -11,10 +11,10 @@ struct X { X (int); }; -void Foo (int, float, bool); // { dg-warning "" } candidate -void Foo (float, int, X); // { dg-warning "" } candidate +void Foo (int, float, bool); // { dg-message "candidate" } +void Foo (float, int, X); // { dg-message "candidate" } void Baz () { - Foo (1, 1, 0); // { dg-warning "" } least worse + Foo (1, 1, 0); // { dg-warning "worst" } } diff --git a/gcc/testsuite/g++.old-deja/g++.jason/conversion11.C b/gcc/testsuite/g++.old-deja/g++.jason/conversion11.C index 368dcbc..78e46e1 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/conversion11.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/conversion11.C @@ -14,14 +14,14 @@ public: class Something { public: - void DoSomething(Ding A); // { dg-error "" } referred to + void DoSomething(Ding A); // { dg-message "candidates" } referred to }; void DoSomething(Ding A); void foo(Something* pX) { - DoSomething(1); // { dg-error "" } - pX->DoSomething(1); // { dg-error "" } - (*pX).DoSomething(1); // { dg-error "" } + DoSomething(1); // { dg-error "conversion" } + pX->DoSomething(1); // { dg-error "no matching" } + (*pX).DoSomething(1); // { dg-error "no matching" } } diff --git a/gcc/testsuite/g++.old-deja/g++.jason/crash3.C b/gcc/testsuite/g++.old-deja/g++.jason/crash3.C index 4a3d097..5d5b3af 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/crash3.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/crash3.C @@ -3,11 +3,11 @@ // and fails. struct Node -{ // { dg-error "" } +{ // { dg-message "note" } Node* child[2]; }; void bug(int i) { - Node* q = new Node(i); // { dg-error "" } + Node* q = new Node(i); // { dg-error "no matching" } } diff --git a/gcc/testsuite/g++.old-deja/g++.jason/lineno3.C b/gcc/testsuite/g++.old-deja/g++.jason/lineno3.C index cf39f1c..997267e 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/lineno3.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/lineno3.C @@ -8,6 +8,7 @@ template <class T> class A public: # 200 "lineno3.C" int foo () { undef1(); } // { dg-error "" "" { target *-*-* } 200 } + // { dg-message "note" "note" { target *-*-* } 200 } }; template class A<int>; diff --git a/gcc/testsuite/g++.old-deja/g++.jason/lineno4.C b/gcc/testsuite/g++.old-deja/g++.jason/lineno4.C index 272c050..caa5bc2 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/lineno4.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/lineno4.C @@ -8,6 +8,7 @@ public: # 200 "lineno4.C" int foo () { undef1(); } // { dg-error "" "" { target *-*-* } 200 } + // { dg-message "note" "note" { target *-*-* } 200 } }; template class A<int>; diff --git a/gcc/testsuite/g++.old-deja/g++.jason/opeq3.C b/gcc/testsuite/g++.old-deja/g++.jason/opeq3.C index 8fbda4f..7a50abb 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/opeq3.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/opeq3.C @@ -11,5 +11,5 @@ void foo () { int one=1, two=2; X a(one), b(two); - a = b; // { dg-error "synthesized" } + a = b; // { dg-message "synthesized" } } diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload16.C b/gcc/testsuite/g++.old-deja/g++.jason/overload16.C index 1353708..455376f 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/overload16.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/overload16.C @@ -1,7 +1,7 @@ // { dg-do assemble } -void f (int); // { dg-error "" } -void f (long); // { dg-error "" } +void f (int); // { dg-message "candidates" } +void f (long); // { dg-message "note" } int main() { - f (1 & 0xffffff00UL); // { dg-error "" } ambiguous + f (1 & 0xffffff00UL); // { dg-error "ambiguous" } } diff --git a/gcc/testsuite/g++.old-deja/g++.jason/overload28.C b/gcc/testsuite/g++.old-deja/g++.jason/overload28.C index a3dcb8d..46bf918 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/overload28.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/overload28.C @@ -2,11 +2,11 @@ // PRMS Id: 6056 struct Foo { - Foo() { } // { dg-error "" } candidate - Foo(int i = 25) { } // { dg-error "" } candidate + Foo() { } // { dg-message "note" } + Foo(int i = 25) { } // { dg-message "note" } }; int main() { - Foo* f1 = new Foo(); // { dg-error "" } ambiguous + Foo* f1 = new Foo(); // { dg-error "ambiguous" } } diff --git a/gcc/testsuite/g++.old-deja/g++.jason/pmf5.C b/gcc/testsuite/g++.old-deja/g++.jason/pmf5.C index a540524..26fa943 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/pmf5.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/pmf5.C @@ -15,4 +15,5 @@ struct ThingEntry { static ThingEntry KeyWordTable[] = { &Thing::FunctionA, Thing::OverloadFn, -}; // { dg-warning "" } implicit & +}; // { dg-error "assuming" "assuming" } implicit & +// { dg-message "note" "note" { target *-*-* } 18 } diff --git a/gcc/testsuite/g++.old-deja/g++.jason/scoping10.C b/gcc/testsuite/g++.old-deja/g++.jason/scoping10.C index 88411fa..d576374 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/scoping10.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/scoping10.C @@ -3,7 +3,7 @@ void f (char *); struct A { - void f (); // { dg-error "" } referred to + void f (); // { dg-message "candidates" } referred to }; struct B : public A { void g (char *); diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template30.C b/gcc/testsuite/g++.old-deja/g++.jason/template30.C index 370bb18..e5d1940 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/template30.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/template30.C @@ -1,14 +1,14 @@ // { dg-do assemble } template <class T, class U> -int func(U, T); // { dg-error "" } ref below +int func(U, T); // { dg-message "candidates" } template <class T, class U> -int func(T, U) // { dg-error "" } ref below +int func(T, U) // { dg-message "note" } { return 2; } int main () { - func (0, 1); // { dg-error "" } ambiguous + func (0, 1); // { dg-error "ambiguous" } } diff --git a/gcc/testsuite/g++.old-deja/g++.jason/temporary2.C b/gcc/testsuite/g++.old-deja/g++.jason/temporary2.C index 97185d4..efd09fd 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/temporary2.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/temporary2.C @@ -2,9 +2,9 @@ class X // Indentation has been done so to see the similarities. { public: - X() {} // { dg-error "" } referenced below - X(X& x) {x.i=7;} // { dg-error "" } Both functions modify the - void bar(X& x) {x.i=7;} // { dg-error "" } reference parameter x. + X() {} // { dg-message "note" } referenced below + X(X& x) {x.i=7;} // { dg-message "note" } Both functions modify the + void bar(X& x) {x.i=7;} // { dg-message "note" } reference parameter x. int i; }; @@ -12,6 +12,6 @@ X foo() { X x; return x; } int main() { - X x(foo()); // { dg-error "" } Compiler doesn't warn about temporary reference. - x.bar(foo()); // { dg-error "" } The same mistake is warned about in this case. + X x(foo()); // { dg-error "no match" } Compiler doesn't warn about temporary reference. + x.bar(foo()); // { dg-error "no match" } The same mistake is warned about in this case. } diff --git a/gcc/testsuite/g++.old-deja/g++.jason/tredecl4.C b/gcc/testsuite/g++.old-deja/g++.jason/tredecl4.C index c5bb92e..0fa6aef 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/tredecl4.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/tredecl4.C @@ -2,5 +2,5 @@ // It is illegal to use the name of a class template for anything else, // including another class template. -template <class T> class A { }; // { dg-error "" } -template <class U, class V> class A { }; // { dg-error "" } +template <class T> class A { }; // { dg-message "previous" } +template <class U, class V> class A { }; // { dg-error "redeclared" } diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg1.C b/gcc/testsuite/g++.old-deja/g++.law/arg1.C index 9da5e6e..8b117aa 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/arg1.C +++ b/gcc/testsuite/g++.old-deja/g++.law/arg1.C @@ -9,14 +9,14 @@ // check the order of declarations class A { public: - void f(double* p) { std::cout << "A(double*)\n"; } // { dg-error "" } candidate - void f(int* p) { std::cout << "A(int*)\n"; } // { dg-error "" } candidate + void f(double* p) { std::cout << "A(double*)\n"; } // { dg-message "candidates" } + void f(int* p) { std::cout << "A(int*)\n"; } // { dg-message "note" } }; class B { public: - void f(int* p) { std::cout << "B(int*)\n"; } // { dg-error "" } candidate - void f(double* p) { std::cout << "B(double*)\n"; } // { dg-error "" } candidate + void f(int* p) { std::cout << "B(int*)\n"; } // { dg-message "candidates" } + void f(double* p) { std::cout << "B(double*)\n"; } // { dg-message "note" } }; int main() @@ -24,7 +24,7 @@ int main() A a; B b; - a.f(0);// { dg-error "" } .* - b.f(0);// { dg-error "" } .* + a.f(0);// { dg-error "ambiguous" } + b.f(0);// { dg-error "ambiguous" } } diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg11.C b/gcc/testsuite/g++.old-deja/g++.law/arg11.C index 3772b07..b6a0194 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/arg11.C +++ b/gcc/testsuite/g++.old-deja/g++.law/arg11.C @@ -9,14 +9,14 @@ struct String { String(const char*); }; struct Ack { Ack(String); }; -struct S { void method(Ack); }; // { dg-error "" } referenced below +struct S { void method(Ack); }; // { dg-message "candidates" } referenced below void function(Ack); int foo(S *o) { // Neither call has a usable constructor for conversions of char[5] to Ack. - function("adsf");// { dg-error "" } - o->method("adsf");// { dg-error "" } + function("adsf");// { dg-error "conversion" } + o->method("adsf");// { dg-error "no matching" } return 0; } diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm9.C b/gcc/testsuite/g++.old-deja/g++.law/arm9.C index 49232fc..7c7cfea 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/arm9.C +++ b/gcc/testsuite/g++.old-deja/g++.law/arm9.C @@ -19,11 +19,11 @@ class B : public A { public: void set (f2 f); }; -void B::set (f2 f) { std::cout << "called B\n";} // { dg-error "" } candidate +void B::set (f2 f) { std::cout << "called B\n";} // { dg-message "candidates" } int main() { B b; - b.set(F1); // ARM page 309: should call A.set(f1) and that what g++ does,// { dg-error "" } .* + b.set(F1); // ARM page 309: should call A.set(f1) and that what g++ does,// { dg-error "match" } // but 13.1 of ARM clearly states that it should call B::set() // or generate an error because overloading works only for // functions within the same scope (first page of chapter 13) diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors11.C b/gcc/testsuite/g++.old-deja/g++.law/ctors11.C index 84c9517..39ee76b 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/ctors11.C +++ b/gcc/testsuite/g++.old-deja/g++.law/ctors11.C @@ -10,12 +10,12 @@ public: inline A(int x){printf("constructing A with %d\n", x);} }; -class B:public A{ // { dg-error "" } non-default constructor +class B:public A{ // { dg-message "note" } non-default constructor private: public: }; int main() { - B(10);// { dg-error "" } B doesn't have a constructor taking int + B(10);// { dg-error "match" } B doesn't have a constructor taking int } diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors17.C b/gcc/testsuite/g++.old-deja/g++.law/ctors17.C index 1cee308..3d63d01 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/ctors17.C +++ b/gcc/testsuite/g++.old-deja/g++.law/ctors17.C @@ -9,13 +9,13 @@ #include <fstream> -class X : public std::ifstream { // { dg-error "" } candidate +class X : public std::ifstream { // { dg-message "note" } candidate public: - X(int a, const char *b) {} // { dg-error "" } candidate + X(int a, const char *b) {} // { dg-message "note" } candidate }; int main() { X *y = new X(10, "123"); // the compiler must reject this constructor call: - X *x = new X("abc");// { dg-error "" } .* + X *x = new X("abc");// { dg-error "match" } } diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors5.C b/gcc/testsuite/g++.old-deja/g++.law/ctors5.C index c9851bf2..02c5fb0 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/ctors5.C +++ b/gcc/testsuite/g++.old-deja/g++.law/ctors5.C @@ -6,7 +6,7 @@ // Date: Tue, 1 Sep 92 10:38:44 EDT class X -{ // { dg-error "1: note: X::X\\(const X&\\)" } implicit constructor +{ // { dg-message "1:X::X\\(const X&\\)" } implicit constructor private: int x; public: @@ -14,21 +14,23 @@ class X X( int ); }; -class Y // { dg-error "1: error: new types may not be defined in a return type|1: note: \\(perhaps a semicolon is missing after the definition of 'Y'\\)" } +class Y // { dg-error "1:new types may not be defined in a return type" "err" } + // { dg-message "1:\\(perhaps a semicolon is missing after the definition of 'Y'\\)" "note" { target *-*-* } 17 } { private: X xx; public: Y(); } -X::X( int xi ) // { dg-error "14: error: return type specification for constructor invalid|1: note: candidates are: X::X\\(int\\)" } +X::X( int xi ) // { dg-error "14:return type specification for constructor invalid" "err" } +// { dg-message "1:candidates are: X::X\\(int\\)" "note" { target *-*-* } 25 } { x = xi; } const X X::x0( 0 ); -Y::Y() // { dg-error "6: error: no matching function for call to 'X::X\\(\\)'" } +Y::Y() // { dg-error "6:no matching function for call to 'X::X\\(\\)'" } { xx = X::x0; } diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors9.C b/gcc/testsuite/g++.old-deja/g++.law/ctors9.C index bc51426..17207f6 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/ctors9.C +++ b/gcc/testsuite/g++.old-deja/g++.law/ctors9.C @@ -21,7 +21,7 @@ Foo::Foo(int aa) struct var_Foo: public Foo -{ // { dg-error "" } base.*// ERROR - in class.* +{ // { dg-message "note" } base.*// ERROR - in class.* var_Foo* operator-> () {return this;} }; @@ -32,7 +32,7 @@ int blort(Foo& f) int main() { - var_Foo b(2);// { dg-error "" } + var_Foo b(2);// { dg-error "match" } b->a = 0; int x = blort(b); return x; diff --git a/gcc/testsuite/g++.old-deja/g++.law/enum4.C b/gcc/testsuite/g++.old-deja/g++.law/enum4.C index e41e9f3..742f54b 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/enum4.C +++ b/gcc/testsuite/g++.old-deja/g++.law/enum4.C @@ -11,7 +11,7 @@ enum Enum {enumerator1, enumerator2}; struct Struct { int i; - int getI(Enum) {return i;} // { dg-error "" } candidates + int getI(Enum) {return i;} // { dg-message "candidates" } }; int funct (Enum) @@ -23,7 +23,7 @@ int main() { Enum e = enumerator1; Struct s; - int x = funct(e+1);// { dg-error "" } .* - int y = s.getI(e+1);// { dg-error "" } .* + int x = funct(e+1);// { dg-error "invalid" } + int y = s.getI(e+1);// { dg-error "match" } return x+y; } diff --git a/gcc/testsuite/g++.old-deja/g++.law/missed-error2.C b/gcc/testsuite/g++.old-deja/g++.law/missed-error2.C index a26f456..5f1187a 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/missed-error2.C +++ b/gcc/testsuite/g++.old-deja/g++.law/missed-error2.C @@ -14,8 +14,10 @@ #undef max #endif -inline int max(int a, int b) {return a > b ? a : b;}; // { dg-error "" } candidate -inline double max(double a, double b) {return a > b ? a : b;}; // { dg-error "" } candidate +inline int max(int a, int b) {return a > b ? a : b;}; // { dg-message "candidate" } + // { dg-error "extra ';'" "extra ;" { target *-*-* } 17 } +inline double max(double a, double b) {return a > b ? a : b;}; // { dg-message "note" } candidate + // { dg-error "extra ';'" "extra ;" { target *-*-* } 19 } int main() { static void foo(int i, int j, double x, double y) ;// { dg-error "" } .* diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators9.C b/gcc/testsuite/g++.old-deja/g++.law/operators9.C index 127aa8c..8ec6825 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/operators9.C +++ b/gcc/testsuite/g++.old-deja/g++.law/operators9.C @@ -9,11 +9,12 @@ class B { public: - operator=(B &); // { dg-error "" } no type or storage class + operator=(B &); // { dg-error "no type" } + // { dg-message "candidates" "note" { target *-*-* } 12 } }; void test(B &b1, const B &b2) { - b1 = b2;// { dg-error "" } .* + b1 = b2;// { dg-error "match" } } diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net2.C b/gcc/testsuite/g++.old-deja/g++.mike/net2.C index c9aff26..f2240dd 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/net2.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/net2.C @@ -3,11 +3,11 @@ class B; -class A { // { dg-error "" } copy ctor candidate +class A { // { dg-message "note" } copy ctor candidate private: - A(B *); // { dg-error "" } + A(B *); // { dg-message "note" } public: - A(long); // { dg-error "" } + A(long); // { dg-message "note" } }; -A a(0); // { dg-error "" } should be ambigious +A a(0); // { dg-error "ambiguous" } diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net22.C b/gcc/testsuite/g++.old-deja/g++.mike/net22.C index de39a52..e5e1cb1 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/net22.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/net22.C @@ -5,10 +5,10 @@ public: Parent( char *s ) {} }; -class Child : public Parent { // { dg-error "" } called +class Child : public Parent { // { dg-message "note" } called }; int main() { - Child c( "String initializer" ); // { dg-error "" } bad + Child c( "String initializer" ); // { dg-error "match" } bad return 0; } diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p11110.C b/gcc/testsuite/g++.old-deja/g++.mike/p11110.C index 6be0a08..746a57c 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p11110.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p11110.C @@ -6,7 +6,7 @@ class data; class conatiner { public: virtual void* first (); - virtual data* contents (void* i); // { dg-error "" } candidates + virtual data* contents (void* i); // { dg-message "candidates" } }; class user { @@ -17,5 +17,5 @@ private: }; data* user::data1() const { - return (_c.contents (_c.first)); // { dg-error "" } + return (_c.contents (_c.first)); // { dg-error "match" } } diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p1989.C b/gcc/testsuite/g++.old-deja/g++.mike/p1989.C index 807803f..c866439 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p1989.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p1989.C @@ -196,7 +196,7 @@ Pix List_DLS<T>::search(const T& item) const { for (Pix x=this->first(); 0 != x; this->next(x)) { - if (item == this->operator()(x)) // { dg-error "" } const subversion + if (item == this->operator()(x)) // { dg-error "match" } const subversion return x; } return 0; @@ -485,8 +485,8 @@ class STRLIdentifier { char buf[10]; }; -extern int operator==(vertex<STRLIdentifier*>&, vertex<STRLIdentifier*>&); // { dg-error "" } const subversion -extern int operator==(STRLIdentifier&, STRLIdentifier&); // { dg-error "" } fn ref in err msg +extern int operator==(vertex<STRLIdentifier*>&, vertex<STRLIdentifier*>&); // { dg-message "candidates" } const subversion +extern int operator==(STRLIdentifier&, STRLIdentifier&); // { dg-message "note" } fn ref in err msg extern int x(List_DLSp<STRLIdentifier *>); diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2431.C b/gcc/testsuite/g++.old-deja/g++.mike/p2431.C index 897adfd..1d5b397 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p2431.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p2431.C @@ -3,7 +3,7 @@ class A { public: - A(A &); // { dg-error "" } candidates are + A(A &); // { dg-message "candidates" } }; class B @@ -18,6 +18,6 @@ class C C() { B b; - A a = b;// { dg-error "" } + A a = b;// { dg-error "match" } } }; diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p438.C b/gcc/testsuite/g++.old-deja/g++.mike/p438.C index c2bdce3..a08a404 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p438.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p438.C @@ -12,12 +12,12 @@ class C class D { public: - void a(C& b); // { dg-error "" } referenced below + void a(C& b); // { dg-message "candidates" } }; void C::test() const { D d; - d.a(*this); // { dg-error "" } *this is const, so should get error + d.a(*this); // { dg-error "match" } *this is const, so should get error } diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p807a.C b/gcc/testsuite/g++.old-deja/g++.mike/p807a.C index 748231c..83879bd 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p807a.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p807a.C @@ -10,13 +10,13 @@ class B; class A { public: - A(B&); // { dg-error "" } fn ref in err msg + A(B&); // { dg-message "note" } fn ref in err msg }; class B { public: - operator A(); // { dg-error "" } fn ref in err msg + operator A(); // { dg-message "candidates" } fn ref in err msg }; B b; -A a = b; // { dg-error "" } should fail as it is ambigious. +A a = b; // { dg-error "ambiguous" } should fail as it is ambigious. diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p9068.C b/gcc/testsuite/g++.old-deja/g++.mike/p9068.C index ab2d034..aff4a6a 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p9068.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p9068.C @@ -2,7 +2,7 @@ // prms-id: 9068 struct ostream { - void operator<< (int); // { dg-error "" } fn ref in err msg + void operator<< (int); // { dg-message "candidates" } fn ref in err msg }; class C { @@ -13,7 +13,7 @@ public: void foo (ostream& lhs, const C& rhs) { - lhs << rhs.i; // { dg-error "" } no such i for any opr << () + lhs << rhs.i; // { dg-error "match" } no such i for any opr << () } int& C::i () { diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t120.C b/gcc/testsuite/g++.old-deja/g++.niklas/t120.C index 89fd8e6..17eaf07 100644 --- a/gcc/testsuite/g++.old-deja/g++.niklas/t120.C +++ b/gcc/testsuite/g++.old-deja/g++.niklas/t120.C @@ -2,4 +2,5 @@ // GROUPS passed niklas ellipsis typedef void (*T) (...); void f (); -struct S { void g (T); void h() { g(f); } };// { dg-error "" } +struct S { void g (T); void h() { g(f); } };// { dg-error "match" "match" } +// { dg-message "candidates" "note" { target *-*-* } 5 } diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t121.C b/gcc/testsuite/g++.old-deja/g++.niklas/t121.C index d25c79f..cf33739 100644 --- a/gcc/testsuite/g++.old-deja/g++.niklas/t121.C +++ b/gcc/testsuite/g++.old-deja/g++.niklas/t121.C @@ -1,5 +1,6 @@ // { dg-do assemble } // GROUPS passed niklas ellipsis void f (); -void g1 (void (*) (...)); void h1 () { g1 (f); }// { dg-error "" } .* -struct S { void g2 (void (*) (...)); void h2 () { g2 (f); } };// { dg-error "" } +void g1 (void (*) (...)); void h1 () { g1 (f); }// { dg-error "invalid conversion" } +struct S { void g2 (void (*) (...)); void h2 () { g2 (f); } };// { dg-error "match" "match" } +// { dg-message "candidates" "note" { target *-*-* } 5 } diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t128.C b/gcc/testsuite/g++.old-deja/g++.niklas/t128.C index 4fe96eb..19e3ca1 100644 --- a/gcc/testsuite/g++.old-deja/g++.niklas/t128.C +++ b/gcc/testsuite/g++.old-deja/g++.niklas/t128.C @@ -1,5 +1,5 @@ // { dg-do assemble } // GROUPS niklas uncaught default-construct struct A { A (int); }; -struct B : A {}; // { dg-error "" } without ctor // ERROR - candidates -void f () { B (0); }// { dg-error "" } .* +struct B : A {}; // { dg-message "note" } without ctor // ERROR - candidates +void f () { B (0); }// { dg-error "match" } .* diff --git a/gcc/testsuite/g++.old-deja/g++.ns/overload2.C b/gcc/testsuite/g++.old-deja/g++.ns/overload2.C index a6ea943..85df6bd 100644 --- a/gcc/testsuite/g++.old-deja/g++.ns/overload2.C +++ b/gcc/testsuite/g++.old-deja/g++.ns/overload2.C @@ -1,13 +1,13 @@ // { dg-do assemble } namespace A{ - void f(); // { dg-error "" } .* + void f(); // { dg-message "note" } } using namespace A; -void f(); // { dg-error "" } .* +void f(); // { dg-message "note" } void g() { - f(); // { dg-error "" } ambiguous, ::f or A::f ? + f(); // { dg-error "ambiguous" } ambiguous, ::f or A::f ? } diff --git a/gcc/testsuite/g++.old-deja/g++.ns/template13.C b/gcc/testsuite/g++.old-deja/g++.ns/template13.C index 7059b19..a9559c71 100644 --- a/gcc/testsuite/g++.old-deja/g++.ns/template13.C +++ b/gcc/testsuite/g++.old-deja/g++.ns/template13.C @@ -5,7 +5,7 @@ namespace bar // trick it to provide some prior declaration template<class T> void foo(); // { dg-error "definition" } - template<class T>class X; // { dg-error "note: previous declaration" } + template<class T>class X; // { dg-message "note: previous declaration" } } template <typename T> @@ -20,4 +20,4 @@ template<> void bar::foo<int>() // { dg-error "different namespace" } } template<class T,class U> -class bar::X{}; // { dg-error "error: redeclared with 2 template parameter" } +class bar::X{}; // { dg-error "redeclared with 2 template parameter" } diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using12.C b/gcc/testsuite/g++.old-deja/g++.ns/using12.C index 057457c..c3425c7f 100644 --- a/gcc/testsuite/g++.old-deja/g++.ns/using12.C +++ b/gcc/testsuite/g++.old-deja/g++.ns/using12.C @@ -3,17 +3,17 @@ namespace foo { - void x (bool); // { dg-error "" } candidates - void x (char); // { dg-error "" } candidates - void x (int); // { dg-error "" } candidates - void x (double); // { dg-error "" } candidates + void x (bool); // { dg-message "candidates" } + void x (char); // { dg-message "note" } candidates + void x (int); // { dg-message "note" } candidates + void x (double); // { dg-message "note" } candidates } -namespace baz { void x (int); } // { dg-error "" } candidates +namespace baz { void x (int); } // { dg-message "note" } candidates void fn (int i) { using foo::x; using baz::x; - x(i); // { dg-error "" } ambiguous + x(i); // { dg-error "ambiguous" } } diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/delete1.C b/gcc/testsuite/g++.old-deja/g++.oliva/delete1.C index e6ab00b..3912dba 100644 --- a/gcc/testsuite/g++.old-deja/g++.oliva/delete1.C +++ b/gcc/testsuite/g++.old-deja/g++.oliva/delete1.C @@ -29,3 +29,4 @@ struct baz : foo { } baz_; struct bad : baz {} bad_; // { dg-error "" } delete is private in vdtor +// { dg-message "synthesized" "note" { target *-*-* } 31 } diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/overload1.C b/gcc/testsuite/g++.old-deja/g++.oliva/overload1.C index 5864be7..91b3b02 100644 --- a/gcc/testsuite/g++.old-deja/g++.oliva/overload1.C +++ b/gcc/testsuite/g++.old-deja/g++.oliva/overload1.C @@ -6,18 +6,19 @@ // Based on bug report by JDonner <jdonner@schedsys.com> struct foo { - static int bar(); // { dg-error "" } candidate - void bar(int); // { dg-error "" } candidate + static int bar(); // { dg-error "candidate" } + void bar(int); // { dg-error "foo::bar" } }; /* gcc emits a hard error without -pedantic, and a warning with -pedantic, even in bad1. */ int (*ok1)() = foo::bar; -void (foo::*bad1)(int) = foo::bar; // { dg-error "" } missing & +void (foo::*bad1)(int) = foo::bar; // { dg-error "assuming pointer" } +// { dg-message "note" "note" { target *-*-* } 16 } int (*ok2)() = &foo::bar; // ok -void (*bad2)(int) = foo::bar; // { dg-error "" } overload resolution fails +void (*bad2)(int) = foo::bar; // { dg-error "no matches" } void (foo::*ok3)(int) = &foo::bar; // ok -int (foo::*bad3)() = foo::bar; // { dg-error "" } overload resolution fails +int (foo::*bad3)() = foo::bar; // { dg-error "no matches" } diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash24.C b/gcc/testsuite/g++.old-deja/g++.other/crash24.C index 09e9788..9d6af1d 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/crash24.C +++ b/gcc/testsuite/g++.old-deja/g++.other/crash24.C @@ -7,11 +7,12 @@ class foo { friend class __iterator; typedef __iterator const_iterator; virtual ~foo() { } - __iterator begin(); // { dg-error "" } + __iterator begin(); // { dg-message "candidates" } }; static void iteratorTest(const foo &x) { - foo::const_iterator i = x.begin(); // { dg-error "" } + foo::const_iterator i = x.begin(); // { dg-error "incomplete type" "incomplete type" } + // { dg-error "no matching" "no matching" { target *-*-* } 14 } for (; i; ++i) *i; } diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash25.C b/gcc/testsuite/g++.old-deja/g++.other/crash25.C index 517bac2..5460e03 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/crash25.C +++ b/gcc/testsuite/g++.old-deja/g++.other/crash25.C @@ -2,16 +2,17 @@ // { dg-options "-fshow-column" } // Origin: Jakub Jelinek <jakub@redhat.com> -class X { // { dg-error "1: error: new types may not be defined in a return type|1: note: \\(perhaps a semicolon is missing after the definition of 'X'\\)" } +class X { // { dg-error "1:new types may not be defined in a return type" "new types" } +// { dg-message "1:\\(perhaps a semicolon is missing after the definition of 'X'\\)" "note" { target *-*-* } 5 } public: X(); virtual ~X(); } -X::x() // { dg-error "6: error: no 'X X::x\\(\\)' member function declared in class 'X'" } +X::x() // { dg-error "6:no 'X X::x\\(\\)' member function declared in class 'X'" } { } -X::~x() // { dg-error "6: error: expected class-name before '\\(' token" } +X::~x() // { dg-error "6:expected class-name before '\\(' token" } { } diff --git a/gcc/testsuite/g++.old-deja/g++.other/decl3.C b/gcc/testsuite/g++.old-deja/g++.other/decl3.C index a03d2e9..bdcfcb0 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/decl3.C +++ b/gcc/testsuite/g++.old-deja/g++.other/decl3.C @@ -6,14 +6,14 @@ // We should not allow arrays of abstract type. [class.abstract/2] -struct cow_t { // { dg-error "" } note - virtual void f()=0; // { dg-error "" } pure +struct cow_t { // { dg-message "pure" } + virtual void f()=0; // { dg-message "note" } }; int main() { - cow_t cow[2]; // { dg-error "" } abstract class + cow_t cow[2]; // { dg-error "invalid abstract type" } cow[0].f(); return 0; } diff --git a/gcc/testsuite/g++.old-deja/g++.other/expr1.C b/gcc/testsuite/g++.old-deja/g++.other/expr1.C index 9471448..1f1f60d 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/expr1.C +++ b/gcc/testsuite/g++.old-deja/g++.other/expr1.C @@ -3,9 +3,9 @@ // Simplified from bug report by Trevor Taylor <ttaylor@powerup.com.au> struct T { - int operator()(int) { } // { dg-error "" } candidate + int operator()(int) { } // { dg-message "candidates" } }; int main() { - T()(); // { dg-error "" } no such operator + T()(); // { dg-error "match" } no such operator } diff --git a/gcc/testsuite/g++.old-deja/g++.other/overcnv2.C b/gcc/testsuite/g++.old-deja/g++.other/overcnv2.C index ef9c1f7..9a5c4ca 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/overcnv2.C +++ b/gcc/testsuite/g++.old-deja/g++.other/overcnv2.C @@ -16,7 +16,9 @@ struct B : public A { int main() { B b; - if ((const char *)b != 0) // { dg-warning "" } surprising overload resolution + if ((const char *)b != 0) // { dg-warning "choosing 'B" "B" } surprising overload resolution + // { dg-warning "for conversion" "conv" { target *-*-* } 19 } + // { dg-message "note" "note" { target *-*-* } 19 } return 1; if ((const char *)(const B)b == 0) return 2; diff --git a/gcc/testsuite/g++.old-deja/g++.other/overload11.C b/gcc/testsuite/g++.old-deja/g++.other/overload11.C index 17b70d40..3b0cab7 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/overload11.C +++ b/gcc/testsuite/g++.old-deja/g++.other/overload11.C @@ -22,7 +22,9 @@ void ovl (int); // { dg-error "" } candidate +// { dg-message "int" "int" { target *-*-* } 24 } void ovl (float); // { dg-error "" } candidate +// { dg-message "float" "float" { target *-*-* } 26 } void fn (int); void fna (int); @@ -72,7 +74,7 @@ int main (int argc, char **argv) ptr = (argc ? fna : fn); ptr = (argc ? &fna : &fn); - f; // { dg-warning "" } not a call + f; // { dg-error "" } not a call ovl; // { dg-error "" } not suitable for overload &ovl; // { dg-error "" } not suitable for overload (void)f; // ok diff --git a/gcc/testsuite/g++.old-deja/g++.other/pmf3.C b/gcc/testsuite/g++.old-deja/g++.other/pmf3.C index fa9e92e..d8568dd 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/pmf3.C +++ b/gcc/testsuite/g++.old-deja/g++.other/pmf3.C @@ -3,7 +3,7 @@ // Bug: g++ was crashing after giving errors. template<class T> - void connect_to_method( // { dg-error "candidates are" } + void connect_to_method( // { dg-message "candidates are" } T *receiver, void (T::*method)()) {} @@ -20,6 +20,6 @@ public: Gtk_Base::Gtk_Base() { - connect_to_method(this,&show); // { dg-error "" } invalid pmf expression - connect_to_method(this,&expose); // { dg-error "" } invalid pmf expression + connect_to_method(this,&show); // { dg-error "no match" } invalid pmf expression + connect_to_method(this,&expose); // { dg-error "pointer to member" } invalid pmf expression } diff --git a/gcc/testsuite/g++.old-deja/g++.other/ptrmem7.C b/gcc/testsuite/g++.old-deja/g++.other/ptrmem7.C index 3848854..b04f7e2 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/ptrmem7.C +++ b/gcc/testsuite/g++.old-deja/g++.other/ptrmem7.C @@ -20,9 +20,10 @@ struct A void A::foo () { int (A::*ptr1) (int) = &A::ns; - int (A::*ptr2) (int) = A::ns; // { dg-error "" } not ptr mem - int (A::*ptr3) (int) = &ns; // { dg-error "" } not ptr mem - int (A::*ptr4) (int) = ns; // { dg-error "" } not ptr mem + int (A::*ptr2) (int) = A::ns; // { dg-error "pointer to member" "err" } + // { dg-message "pointer to member" "note" { target *-*-* } 23 } + int (A::*ptr3) (int) = &ns; // { dg-error "pointer to member" "err" } + int (A::*ptr4) (int) = ns; // { dg-error "pointer to member" "err" } int (*ptr5) (short) = &A::ns; int (*ptr6) (short) = A::ns; @@ -30,12 +31,12 @@ void A::foo () int (*ptr8) (short) = ns; int (A::*ptr11) (int) = &A::single; - int (A::*ptr12) (int) = A::single; // { dg-error "" } not ptr mem - int (A::*ptr13) (int) = &single; // { dg-error "" } not ptr mem - int (A::*ptr14) (int) = single; // { dg-error "" } not ptr mem + int (A::*ptr12) (int) = A::single; // { dg-error "match" } + int (A::*ptr13) (int) = &single; // { dg-error "pointer to member" } + int (A::*ptr14) (int) = single; // { dg-error "match" } - int (A::*ptr20) (int) = &(A::ns); // { dg-error "" } not ptr mem - int (A::*ptr21) (int) = &(A::single); // { dg-error "" } not ptr mem + int (A::*ptr20) (int) = &(A::ns); // { dg-error "pointer to member" } + int (A::*ptr21) (int) = &(A::single); // { dg-error "pointer to member" } int (*ptr31) (short) = &A::sole; int (*ptr32) (short) = A::sole; diff --git a/gcc/testsuite/g++.old-deja/g++.other/vaarg3.C b/gcc/testsuite/g++.old-deja/g++.other/vaarg3.C index d86d8c1..8ed6df7 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/vaarg3.C +++ b/gcc/testsuite/g++.old-deja/g++.other/vaarg3.C @@ -9,19 +9,22 @@ struct X {int m;}; struct Y : X {int m;}; -struct Z; // { dg-error "" } forward decl +struct Z; // { dg-error "forward decl" } void fn1(va_list args) { int i = va_arg (args, int); - Y x = va_arg (args, Y); // { dg-warning "" } cannot receive - Y y = va_arg (args, struct Y); // { dg-warning "" } cannot receive - int &r = va_arg (args, int &); // { dg-warning "" } cannot receive + Y x = va_arg (args, Y); // { dg-warning "cannot receive" } + Y y = va_arg (args, struct Y); // { dg-warning "cannot receive" } + int &r = va_arg (args, int &); // { dg-warning "cannot receive" } - Z z1 = va_arg (args, Z); // { dg-error "" } incomplete - const Z &z2 = va_arg (args, Z); // { dg-error "" } incomplete + Z z1 = va_arg (args, Z); // { dg-error "incomplete" } + const Z &z2 = va_arg (args, Z); // { dg-error "incomplete" } - va_arg (args, char); // { dg-error "" } promote - va_arg (args, int []); // { dg-error "" } promote - va_arg (args, int ()); // { dg-error "" } promote - va_arg (args, bool); // { dg-error "" } promote + va_arg (args, char); // { dg-warning "promote" } + // { dg-message "should pass" "pass" { target *-*-* } 23 } + // { dg-message "abort" "abort" { target *-*-* } 23 } + va_arg (args, int []); // { dg-error "array with unspecified bounds" } promote + va_arg (args, int ()); // { dg-warning "non-POD" } promote + va_arg (args, bool); // { dg-warning "promote" "promote" } + // { dg-message "abort" "abort" { target *-*-* } 28 } } diff --git a/gcc/testsuite/g++.old-deja/g++.other/volatile1.C b/gcc/testsuite/g++.old-deja/g++.other/volatile1.C index 32eef6f..9e72ea2 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/volatile1.C +++ b/gcc/testsuite/g++.old-deja/g++.other/volatile1.C @@ -3,7 +3,8 @@ // compiler. class f_class -{ }; // { dg-error "" } candidates +{ }; // { dg-message "candidates" "candidates" } +// { dg-message "note" "note" { target *-*-* } 6 } volatile f_class ret_v_f_class() @@ -15,6 +16,6 @@ ret_v_f_class() int main(void) { volatile f_class vf; - 0 ? ret_v_f_class() : vf; // { dg-error "" } can't copy volatile lvalue + 0 ? ret_v_f_class() : vf; // { dg-error "match" } can't copy volatile lvalue return 0; } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/assign1.C b/gcc/testsuite/g++.old-deja/g++.pt/assign1.C index 9f2a4bf..464b7c6 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/assign1.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/assign1.C @@ -10,5 +10,5 @@ struct S { // { dg-error "assignment" } void f() { S<const int> s; - s = s; // { dg-error "synthesized" } + s = s; // { dg-message "synthesized" } } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/auto_ptr.C b/gcc/testsuite/g++.old-deja/g++.pt/auto_ptr.C index 51bd79a..37af9ca 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/auto_ptr.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/auto_ptr.C @@ -9,9 +9,9 @@ template<typename X> struct auto_ptr { typedef X element_type; explicit auto_ptr(X* p =0) throw() : px(p) {} - auto_ptr(auto_ptr& r) throw() : px(r.release()) {} // { dg-error "" } candidate + auto_ptr(auto_ptr& r) throw() : px(r.release()) {} // { dg-message "note" } candidate template<typename Y> - auto_ptr(auto_ptr<Y>& r) throw() : px(r.release()) {}// { dg-error "" } candidate + auto_ptr(auto_ptr<Y>& r) throw() : px(r.release()) {}// { dg-message "note" } candidate auto_ptr& operator=(auto_ptr& r) throw() { reset(r.release()); @@ -30,7 +30,7 @@ template<typename X> struct auto_ptr { X* release() throw() { X* p=px; px=0; return p; } void reset(X* p=0) throw() { if (px != p) delete px, px = p; } - auto_ptr(auto_ptr_ref<X> r) throw() : px(r.py) {} // { dg-error "" } candidate + auto_ptr(auto_ptr_ref<X> r) throw() : px(r.py) {} // { dg-message "candidate" } template<typename Y> operator auto_ptr_ref<Y>() throw() { return auto_ptr_ref<Y>(release()); } @@ -51,5 +51,6 @@ int main() { auto_ptr<Derived> y(f()); x = y; g(f()); - h(f()); // { dg-error "" } no usable copy ctor + h(f()); // { dg-error "match" "match" } no usable copy ctor +// { dg-error "initializing" "init" { target *-*-* } 54 } } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/const2.C b/gcc/testsuite/g++.old-deja/g++.pt/const2.C index cb0e2c7..2666b9b 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/const2.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/const2.C @@ -1,6 +1,6 @@ // { dg-do link } // This test should get a linker error for the reference to A<int>::i. -// { dg-error "i" "" { target *-*-* } 0 } +// { dg-message "i" "" { target *-*-* } 0 } template <class T> struct B { static const int i = 3; }; template <class T> struct A { static const int i = B<T>::i; }; diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash10.C b/gcc/testsuite/g++.old-deja/g++.pt/crash10.C index bd2efc6..a66450f 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/crash10.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/crash10.C @@ -3,9 +3,10 @@ template<int M, int N> class GCD { public: - enum { val = (N == 0) ? M : GCD<N, M % N>::val }; // { dg-error "" } division + enum { val = (N == 0) ? M : GCD<N, M % N>::val }; // { dg-warning "division" "division" } +// { dg-error "not a valid" "valid" { target *-*-* } 6 } }; int main() { - GCD< 1, 0 >::val; // { dg-error "" } instantiated + GCD< 1, 0 >::val; // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash20.C b/gcc/testsuite/g++.old-deja/g++.pt/crash20.C index f910294..0a32209 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/crash20.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/crash20.C @@ -1,7 +1,8 @@ // { dg-do compile } template <class T = int> -struct A { // { dg-error "assignment" } +struct A { // { dg-error "assignment" "assignment" } +// { dg-message "instantiated" "inst" { target *-*-* } 4 } const T x; A() : x(0) { } A(T x) : x(x) { } }; @@ -10,7 +11,7 @@ template <class B> void func () { B y; - y = B(); // { dg-error "synthesized" } + y = B(); // { dg-message "synthesized" } } int main (void) { func< A<> >(); } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash36.C b/gcc/testsuite/g++.old-deja/g++.pt/crash36.C index 13695f9..9bf99d1 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/crash36.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/crash36.C @@ -14,7 +14,7 @@ struct iterator { template <class Iterator> struct reverse_iterator : public -iterator<typename iterator_traits<Iterator>::iterator_category> { // { dg-error "" } no type iterator_category +iterator<typename iterator_traits<Iterator>::iterator_category> { // { dg-message "instantiated" } no type iterator_category protected: Iterator current; diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash38.C b/gcc/testsuite/g++.old-deja/g++.pt/crash38.C index a2f1e28..4fc658e 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/crash38.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/crash38.C @@ -3,8 +3,10 @@ template <class T> struct S { - typedef typename T::Y<T>::Z X; // { dg-error "" } No Y in A - X x; // { dg-error "" } No Y in A + typedef typename T::Y<T>::Z X; // { dg-error "non-template" "non-template" } No Y in A +// { dg-message "note" "note" { target *-*-* } 6 } +// { dg-error "does not declare" "not declare" { target *-*-* } 6 } + X x; // { dg-error "does not name a type" } No Y in A }; struct A { diff --git a/gcc/testsuite/g++.old-deja/g++.pt/derived3.C b/gcc/testsuite/g++.old-deja/g++.pt/derived3.C index 806e0f5..2c56049 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/derived3.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/derived3.C @@ -6,11 +6,11 @@ template<class T> class X { class Y : public T - { // { dg-error "base type .* fails to be" "" } + { // { dg-error "base type .* fails to be" } }; - Y y; // { dg-error "instantiated" "" } + Y y; // { dg-message "instantiated" } }; int main() { - X<int> x; // { dg-error "instantiated" "" } + X<int> x; // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/error2.C b/gcc/testsuite/g++.old-deja/g++.pt/error2.C index 40f7a7c..6cb67dd 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/error2.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/error2.C @@ -4,12 +4,12 @@ template <class RT> class Test { public: - Test(const RT& c = RT()) {} // { dg-error "" } reference to void + Test(const RT& c = RT()) {} // { dg-error "reference to void" } }; void f () { - Test<void> c; // { dg-error "" } instantiated from here + Test<void> c; // { dg-message "instantiated" } } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit34.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit34.C index f90b4be..ea32cf6 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/explicit34.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/explicit34.C @@ -5,7 +5,7 @@ template <class T> void foo(T t); template <> -void foo(int) {}; // { dg-error "6:" } previously defined here. +void foo(int) {}; // { dg-error "6:previously declared here" } template <> -void foo<int>(int) {} // { dg-error "6:" } duplicate specialization. +void foo<int>(int) {} // { dg-error "6:redefinition" } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit70.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit70.C index 387d2d1..5724f6d 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/explicit70.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/explicit70.C @@ -12,14 +12,14 @@ template <class T> T S<T>::t; template void f(int); -template void f(int); // { dg-error "" } duplicate explicit instantiation +template void f(int); // { dg-error "duplicate explicit instantiation" } template int S<int>::t; -template int S<int>::t; // { dg-error "" } duplicate explicit instantiation +template int S<int>::t; // { dg-error "duplicate explicit instantiation" } template class S<double>; -template class S<double>; // { dg-error "" } duplicate explicit instantiation +template class S<double>; // { dg-error "duplicate explicit instantiation" } -extern template void f(double); // { dg-warning "" } extern not allowed -inline template class S<float>; // { dg-warning "" } inline not allowed +extern template void f(double); // { dg-error "extern" } extern not allowed +inline template class S<float>; // { dg-error "inline" } inline not allowed template <class T> struct S<T*> {}; @@ -40,4 +40,5 @@ template void f(long double); // OK - explicit instantiation after template <class T> void g(T); -template void g(int); // { dg-error "" } no definition of g. +template void g(int); // { dg-error "no definition available" "no def" } +// { dg-message "instantiated" "inst" { target *-*-* } 43 } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend23.C b/gcc/testsuite/g++.old-deja/g++.pt/friend23.C index baf1a93..93ce72e 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/friend23.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/friend23.C @@ -1,6 +1,6 @@ // { dg-do assemble } -template <class T = int> // { dg-error "note: original definition" } +template <class T = int> // { dg-message "note: original definition" } struct S { template <class U = int> diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem10.C b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem10.C index d65f2d1..015566f 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem10.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem10.C @@ -15,13 +15,13 @@ struct A void baz (); }; -template <typename T> void foo (int (*)(T)); // { dg-error "" } candidate -template <typename T> void foo (int (A::*)(T)); // { dg-error "" } candidate +template <typename T> void foo (int (*)(T)); // { dg-message "candidate" } +template <typename T> void foo (int (A::*)(T)); // { dg-message "note" } candidate void A::baz () { - foo (&A::f); // { dg-error "" } ambiguous + foo (&A::f); // { dg-error "ambiguous" } foo (A::f); foo (&(A::f)); foo (f); diff --git a/gcc/testsuite/g++.old-deja/g++.pt/redecl1.C b/gcc/testsuite/g++.old-deja/g++.pt/redecl1.C index 7100988..4a580e1 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/redecl1.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/redecl1.C @@ -1,22 +1,22 @@ // { dg-do assemble } template <class T> -struct S1; // { dg-error "" } previous declaration +struct S1; // { dg-message "previous declaration" } template <class T, class U> -struct S1 {}; // { dg-error "" } used 1 template parameter +struct S1 {}; // { dg-error "redeclared" } used 1 template parameter -template <class T = int> // { dg-error "" } original def of default +template <class T = int> // { dg-message "original definition" } struct S2; template <class T = int> -struct S2; // { dg-error "" } redefinition of default +struct S2; // { dg-error "redefinition of default" } -template <class T> // { dg-error "" } template parameter +template <class T> // { dg-error "template parameter" } struct S3; template <int I> -struct S3; // { dg-error "" } redeclared here +struct S3; // { dg-error "redeclared here" } template <template <class T> class C> -struct S3; // { dg-error "" } redeclared here +struct S3; // { dg-error "redeclared here" } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/spec35.C b/gcc/testsuite/g++.old-deja/g++.pt/spec35.C index f39dd79..a7e5ea2 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/spec35.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/spec35.C @@ -8,24 +8,24 @@ extern "C" int puts (char const *); -template <typename T> int Foo (T); // { dg-error "" } candidate -template <typename T> int Foo (T &); // { dg-error "" } candidate +template <typename T> int Foo (T); // { dg-message "candidate" } +template <typename T> int Foo (T &); // { dg-message "note" } candidate -template <typename T> int Qux (T); // { dg-error "" } candidate -template <typename T> int Qux (T const &); // { dg-error "" } candidate +template <typename T> int Qux (T); // { dg-message "candidate" } +template <typename T> int Qux (T const &); // { dg-message "note" } candidate -template <typename T> int Bar (T const *const &); // { dg-error "" } candidate -template <typename T> int Bar (T *const &); // { dg-error "" } candidate -template <typename T> int Bar (T *); // { dg-error "" } candidate +template <typename T> int Bar (T const *const &); // { dg-message "candidate" } +template <typename T> int Bar (T *const &); // { dg-message "note" } candidate +template <typename T> int Bar (T *); // { dg-message "note" } candidate -template <typename T> int Baz (T *const &); // { dg-error "" } candidate -template <typename T> int Baz (T *); // { dg-error "" } candidate +template <typename T> int Baz (T *const &); // { dg-message "candidate" } +template <typename T> int Baz (T *); // { dg-message "note" } candidate int Baz (int const *ptr, int *ptr2) { - Baz (ptr2); // { dg-error "" } ambiguous - Bar (ptr2); // { dg-error "" } ambiguous - Foo (ptr2); // { dg-error "" } ambiguous - Qux (ptr2); // { dg-error "" } ambiguous + Baz (ptr2); // { dg-error "ambiguous" } + Bar (ptr2); // { dg-error "ambiguous" } + Foo (ptr2); // { dg-error "ambiguous" } + Qux (ptr2); // { dg-error "ambiguous" } return 0; } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t05.C b/gcc/testsuite/g++.old-deja/g++.pt/t05.C index 9e69cbc..38488d2 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/t05.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/t05.C @@ -1,9 +1,9 @@ // { dg-do assemble } -template <class A> class B { // { dg-error "" } candidates +template <class A> class B { // { dg-message "note" } A a; public: - B(A&aa); // { dg-error "" } near match + B(A&aa); // { dg-message "candidates" } ~B(); }; -static B<int> b_int (3); // { dg-error "" } no matching function +static B<int> b_int (3); // { dg-error "no matching function" } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename3.C b/gcc/testsuite/g++.old-deja/g++.pt/typename3.C index 931b212..9b41275 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/typename3.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/typename3.C @@ -11,10 +11,11 @@ struct A template <class U> struct B : public A<U> { - A_Type Func(); // { dg-warning "" } implicit typename + A_Type Func(); // { dg-error "does not name a type" "err" } implicit typename + // { dg-message "note" "note" { target *-*-* } 14 } }; template <class U> -B<U>::A_Type B<U>::Func() { // { dg-warning "" } implicit typename +B<U>::A_Type B<U>::Func() { // { dg-error "expected" } implicit typename } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename6.C b/gcc/testsuite/g++.old-deja/g++.pt/typename6.C index 34e356b..2794479 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/typename6.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/typename6.C @@ -10,10 +10,11 @@ struct A template <class U> struct B : public A<U> { - A_Type Func(); // { dg-error "" } declaration + A_Type Func(); // { dg-error "does not name a type" "err" } + // { dg-message "note" "note" { target *-*-* } 13 } }; template <class U> -A<U>::A_Type B<U>::Func() // { dg-error "" } function +A<U>::A_Type B<U>::Func() // { dg-error "expected" } function { } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/unify8.C b/gcc/testsuite/g++.old-deja/g++.pt/unify8.C index cc89c69..92cd191 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/unify8.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/unify8.C @@ -10,11 +10,11 @@ template <typename T> void Foo (T const **); template <typename T> void Bar (T const * const *); -void Foo (int); // { dg-error "" } candidate -void Foo (float); // { dg-error "" } candidate +void Foo (int); // { dg-message "candidate" } +void Foo (float); // { dg-message "note" } candidate void baz (int **p1) { - Foo (p1); // { dg-error "" } no such function + Foo (p1); // { dg-error "match" } no such function Bar (p1); // OK } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/vaarg3.C b/gcc/testsuite/g++.old-deja/g++.pt/vaarg3.C index a542b44..dced89d 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/vaarg3.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/vaarg3.C @@ -14,13 +14,14 @@ void PrintArgs (Type somearg, ...) va_list argp; va_start (argp, somearg); Type value; -value = va_arg (argp, Type); // { dg-error "" } cannot pass non-POD +value = va_arg (argp, Type); // { dg-warning "non-POD" } cannot pass non-POD va_end (argp); } int main (void) { A dummy; -PrintArgs (dummy, dummy); // { dg-error "" } cannot pass non-POD +PrintArgs (dummy, dummy); // { dg-warning "non-POD" } cannot pass non-POD +// { dg-message "instantiated" "inst" { target *-*-* } 24 } return 0; } diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb109.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb109.C index e72ebc4..5a70e19 100644 --- a/gcc/testsuite/g++.old-deja/g++.robertl/eb109.C +++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb109.C @@ -20,7 +20,7 @@ inline istream& operator>>(istream& is, Empty& ) { return is;} template<class VertexType, class EdgeType> class Graph -{ // { dg-error "" } candidates +{ // { dg-message "note" } candidates public: // public type interface typedef std::map<int, EdgeType > Successor; @@ -42,18 +42,18 @@ template<class VertexType, class EdgeType> ostream& operator<<(ostream& os, Graph<VertexType,EdgeType>& G) { // display of vertices with successors - for(int i = 0; i < G.size(); ++i) // { dg-error "" } no size function + for(int i = 0; i < G.size(); ++i) // { dg-error "no member" } no size function { - os << G[i].first << " <"; // { dg-error "" } no index operator + os << G[i].first << " <"; // { dg-error "no match" } no index operator // The compiler does not like this line!!!!!! typename Graph<VertexType, EdgeType>::Successor::iterator - startN = G[i].second.begin(), // { dg-error "" } no index operator - endN = G[i].second.end(); // { dg-error "" } no index operator + startN = G[i].second.begin(), // { dg-error "no match" } no index operator + endN = G[i].second.end(); // { dg-error "no match" } no index operator while(startN != endN) { - os << G[(*startN).first].first << ' ' // { dg-error "" } no index operator + os << G[(*startN).first].first << ' ' // { dg-error "no match" } no index operator << (*startN).second << ' '; ++startN; } @@ -65,7 +65,7 @@ ostream& operator<<(ostream& os, Graph<VertexType,EdgeType>& G) int main() { // no edge weighting, therefore type Empty: - Graph<std::string, Empty> V(true); // { dg-error "" } no bool constructor + Graph<std::string, Empty> V(true); // { dg-error "no match" } no bool constructor // ReadGraph(V, "gra1.dat"); // display of vertices with successors diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb131.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb131.C index 75aab60..75341d4 100644 --- a/gcc/testsuite/g++.old-deja/g++.robertl/eb131.C +++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb131.C @@ -10,11 +10,11 @@ struct a { void bar( double ); void bar( float ); - void foo( void (a::*member)(float) ); // { dg-error "" } candidate + void foo( void (a::*member)(float) ); // { dg-message "candidate" } }; a::a() { - foo( &junk ); // { dg-error "" } junk is an unqualified-id. - foo( &bar ); // { dg-error "" } bar is an unqualified-id. + foo( &junk ); // { dg-error "match" } junk is an unqualified-id. + foo( &bar ); // { dg-error "match" } bar is an unqualified-id. } diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb22.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb22.C index b969d68..28953b0 100644 --- a/gcc/testsuite/g++.old-deja/g++.robertl/eb22.C +++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb22.C @@ -11,17 +11,18 @@ public: operator int() const {return 2;} }; -bool operator==(const MyInt& a, const int& b) // { dg-error "" } candidate +bool operator==(const MyInt& a, const int& b) // { dg-message "note" } candidate { return (int)a == b; } -bool operator==(const MyInt& a, const MyInt& b) // { dg-error "" } candidate +bool operator==(const MyInt& a, const MyInt& b) // { dg-message "note" } candidate { return (int)a == (int)b; } bool f() { - return 3 == MyInt(); // { dg-error "" } ambiguous + return 3 == MyInt(); // { dg-error "ambiguous" "err" } + // { dg-message "candidates" "note" { target *-*-* } 26 } } diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb4.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb4.C index f47d3db..5f82e1f 100644 --- a/gcc/testsuite/g++.old-deja/g++.robertl/eb4.C +++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb4.C @@ -7,7 +7,7 @@ class some_base { public: class base_func_args; - virtual void func(base_func_args &) = 0; // { dg-error "" } referenced below + virtual void func(base_func_args &) = 0; // { dg-message "note" } referenced below }; class some_base::base_func_args @@ -17,7 +17,7 @@ public: }; class some_derived : public some_base - { // { dg-error "" } note + { // { dg-message "note" } public: class derived_func_args; void func(derived_func_args &); @@ -30,7 +30,8 @@ public: float f; }; -class some_derived::func(derived_func_args &a) // { dg-error "" } illegal member syntax +class some_derived::func(derived_func_args &a) // { dg-error "does not name a type" "type" } illegal member syntax +// { dg-error "expected" "exp" { target *-*-* } 33 } { std::cout << a.i << ' ' << a.f << std::endl; } @@ -38,12 +39,12 @@ class some_derived::func(derived_func_args &a) // { dg-error "" } illegal membe int main() { - some_derived d; // { dg-error "" } abstract class - some_derived::derived_func_args dfa; // { dg-error "" } incomplete class + some_derived d; // { dg-error "abstract type" } + some_derived::derived_func_args dfa; // { dg-error "incomplete type" } some_base *b = &d; dfa.i = 10; dfa.f = 20; - b->func(dfs); // { dg-error "" } dfs not declared + b->func(dfs); // { dg-error "'dfs' was not declared" } return 0; } diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C index 314ec9d..a7e6180 100644 --- a/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C +++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C @@ -14,7 +14,8 @@ using namespace std; template <class T> class Vector { - friend ostream& operator<< (ostream& out, const Vector<T> & vec); // { dg-warning "" } + friend ostream& operator<< (ostream& out, const Vector<T> & vec); // { dg-warning "non-template" "warn" } + // { dg-message "note" "note" { target *-*-* } 17 } }; template <class T> diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb69.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb69.C index 5d3f7e6..74051a1 100644 --- a/gcc/testsuite/g++.old-deja/g++.robertl/eb69.C +++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb69.C @@ -5,13 +5,14 @@ int r = 0; -struct foo { // { dg-error "" } candidate - foo(int x) { r = 1; } // { dg-error "" } candidate +struct foo { // { dg-message "note" } candidate + foo(int x) { r = 1; } // { dg-message "candidate" } }; struct bar : foo { typedef int an_int; - bar() : bar::an_int(3) {} // { dg-error "" } not a base + bar() : bar::an_int(3) {} // { dg-error "match" "match" } not a base + // { dg-message "expected" "exp" { target *-*-* } 14 } }; int diff --git a/gcc/testsuite/lib/g++.exp b/gcc/testsuite/lib/g++.exp index 7ca5b73..07f1c50 100644 --- a/gcc/testsuite/lib/g++.exp +++ b/gcc/testsuite/lib/g++.exp @@ -185,6 +185,8 @@ proc g++_init { args } { global GXX_UNDER_TEST global TESTING_IN_BUILD_TREE global target_triplet + global gcc_warning_prefix + global gcc_error_prefix # We set LC_ALL and LANG to C so that we get the same error messages as expected. setenv LC_ALL C @@ -247,6 +249,9 @@ proc g++_init { args } { # error-message parsing machinery. lappend ALWAYS_CXXFLAGS "additional_flags=-fmessage-length=0" + set gcc_warning_prefix "warning:" + set gcc_error_prefix "error:" + if { [string match "*-*-darwin*" $target_triplet] } { lappend ALWAYS_CXXFLAGS "ldflags=-multiply_defined suppress" } |