Commit 48ca24b2 by Janis Johnson Committed by Janis Johnson

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
parent faae4ae7
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
......
// 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" }
......@@ -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;
......
......@@ -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;
}
......@@ -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()
{
......
......@@ -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()
{
......
......@@ -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()
{
......
......@@ -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()
{
......
......@@ -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()
{
......
// 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()
{
......
......@@ -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.
}
......@@ -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 }
// { 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 }
......@@ -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 }
// 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) {
......
......@@ -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" "" }
}
};
......@@ -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" }
}
}
......@@ -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" }
}
}
......@@ -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" }
......
......@@ -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 }
......@@ -8,4 +8,4 @@ struct A
int z[1];
};
A a = { z:{} }; // { dg-error "unimplemented" }
A a = { z:{} }; // { dg-message "unimplemented" }
......@@ -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
......
......@@ -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
......
......@@ -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" }
}
}
......@@ -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" }
......@@ -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" }
......@@ -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" }
......@@ -6,7 +6,7 @@ struct A {
};
struct B {
B(const B&); // { dg-error "candidate" }
B(const B&); // { dg-message "candidate" }
int b;
};
......
......@@ -16,5 +16,5 @@ foo::foo() {
int main(int argc, char **argv)
{
bar x; // { dg-error "synthesized" }
bar x; // { dg-message "synthesized" }
}
......@@ -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
......
......@@ -10,4 +10,4 @@ int main() {
return 0;
}
// { dg-error "candidate" "" { target *-*-* } 0 }
// { dg-message "candidate" "" { target *-*-* } 0 }
......@@ -10,7 +10,7 @@ public:
class Bar {
Foo<int> foo_;
public:
Bar() {} // { dg-error "instantiated" }
Bar() {} // { dg-message "instantiated" }
};
template class Foo<int>;
......
......@@ -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" }
......@@ -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()
......
......@@ -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" }
......
......@@ -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" }
......
......@@ -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.
}
......
......@@ -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 } } }
};
......@@ -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" "" }
}
//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" }
......@@ -2,7 +2,7 @@
// { dg-do compile }
struct A
{ // { dg-error "candidates" }
{ // { dg-message "candidates" }
virtual A foo ();
};
......
......@@ -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" "" }
......@@ -22,4 +22,4 @@ template <> struct X<int> {
X();
};
X<float> i; // { dg-error "instantiated from" "" }
X<float> i; // { dg-message "instantiated from" "" }
......@@ -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" }
......@@ -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" }
};
......@@ -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()
{
......
......@@ -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 }
}
......@@ -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 }
}
......@@ -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 }
}
......@@ -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 "" }
......@@ -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 ()
......
......@@ -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 ();
......
......@@ -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
......
......@@ -34,7 +34,7 @@ template <typename> struct X
void Baz ()
{
Foo<int> (); // { dg-error "instantiated" "" }
Foo<int> (); // { dg-message "instantiated" "" }
}
// { 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" }
{
}
......@@ -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" "" }
......@@ -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" }
};
......
// { 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" }
}
......@@ -5,5 +5,5 @@
void foo ()
{
cout << "blah"; // { dg-error "3: error: 'cout'" }
cout << "blah"; // { dg-error "3:'cout'" }
}
......@@ -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" }
......@@ -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 }
......@@ -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 }
......@@ -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 }
// { 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;
......@@ -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 }
......@@ -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 }
......@@ -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'" }
......@@ -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 }
......@@ -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" }
}
......@@ -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='" }
}
......@@ -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 }
......@@ -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;
}
......@@ -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 }
}
......@@ -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" } */
};
......@@ -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" }
};
......@@ -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" }
};
......@@ -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" }
};
......@@ -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 }
}
// { 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;
......@@ -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 }
......@@ -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'" }
};
......@@ -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 } }
......@@ -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\\)" }
......@@ -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;
......
......@@ -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 }
......@@ -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 }
......@@ -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 }
......@@ -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 }
......@@ -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 }
......@@ -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 }
......@@ -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 }
};
......@@ -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" }
......@@ -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()
......
......@@ -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;
}
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 }
......@@ -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 }
......@@ -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" }
......@@ -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 }
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" }
}
......@@ -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 }
......@@ -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" }
}
......@@ -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" }
}
......
......@@ -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" }
......@@ -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" }
}
......@@ -13,5 +13,5 @@ class B {
int main()
{
A<B> ab; // { dg-error "instantiated" }
A<B> ab; // { dg-message "instantiated" }
}
......@@ -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" }
}
......@@ -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" }
......@@ -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" }
......@@ -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" }
}
};
......@@ -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" }
//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" }
{
......
......@@ -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" }
}
......@@ -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" }
......@@ -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;
......
......@@ -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" }
......@@ -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" "" }
}
......@@ -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;
......@@ -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 }
......@@ -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
{
......
......@@ -17,5 +17,5 @@ template<class T> class B
int f ()
{
B<int> b; // { dg-error "instantiated" }
B<int> b; // { dg-message "instantiated" }
}
......@@ -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" }
......@@ -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>
......
......@@ -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" }
......@@ -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" }
......@@ -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" }
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" }
}
......@@ -14,5 +14,5 @@ template <typename T> void Bar ()
void Foo ()
{
Bar<B> (); // { dg-error "instantiated" "" }
Bar<B> (); // { dg-message "instantiated" "" }
}
......@@ -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 }
}
......@@ -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" }
}
......@@ -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" }
}
......@@ -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" }
......@@ -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>();
}
......@@ -5,4 +5,4 @@ struct S
S() : S() {} // { dg-error "base" }
};
S<int> s; // { dg-error "instantiated" }
S<int> s; // { dg-message "instantiated" }
......@@ -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;
}
extern void *operator new(__SIZE_TYPE__); // { dg-error "candidate" }
extern void *operator new(__SIZE_TYPE__); // { dg-message "candidate" }
template <class T >
struct 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" }
......@@ -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" }
}
......@@ -24,6 +24,6 @@ struct Dummy
int main()
{
Dummy<int> d;
d.tester<true> (); // { dg-error "instantiated" }
d.tester<true> (); // { dg-message "instantiated" }
}
......@@ -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" }
......@@ -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>&);
......
......@@ -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" }
......@@ -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" }
......@@ -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" }
}
......@@ -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" }
......@@ -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 }
}
......@@ -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" }
}
......@@ -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;
......@@ -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" }
}
......@@ -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" }
}
......@@ -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" }
}
......@@ -12,4 +12,4 @@ template <class T> struct D {
struct E {
};
D<E> d; // { dg-error "instantiated" }
D<E> d; // { dg-message "instantiated" }
......@@ -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" }
......@@ -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" }
......@@ -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" }
......@@ -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" }
......@@ -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" }
};
......
......@@ -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()
{
......
......@@ -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" }
}
......@@ -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" }
......@@ -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" }
}
......@@ -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 }
};
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" }
......@@ -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" }
}
......@@ -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" }
}
......@@ -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;
}
......@@ -66,4 +66,4 @@ bar (T)
foo (27);
}
template void bar<int> (int); // { dg-warning "instantiated" }
template void bar<int> (int); // { dg-message "instantiated" }
......@@ -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" }
......@@ -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" }
......@@ -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" }
......@@ -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" }
......@@ -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" }
......@@ -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" }
......@@ -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);
......@@ -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" } */
......@@ -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;
}
......@@ -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" "" }
......@@ -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" }
......@@ -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);
......
......@@ -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" }
......@@ -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" }
}
......@@ -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" }
}
......@@ -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 }
}
......
......@@ -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 }
}
......@@ -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" }
}
......@@ -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;
}
......@@ -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
}
// { 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" }
}
......
......@@ -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;
......
......@@ -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" }
}
......@@ -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);
}
......@@ -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" }
}
};
......@@ -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);
}
......@@ -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; }
......@@ -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; }
......@@ -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; }
......@@ -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;
}
......
......@@ -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);
}
......@@ -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 (...) { }
}
......@@ -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
......
......@@ -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" }
}
......@@ -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" }
}
......@@ -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" }
}
......@@ -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>;
......@@ -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>;
......@@ -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" }
}
// { 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" }
}
......@@ -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" }
}
......@@ -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 }
......@@ -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 *);
......
// { 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" }
}
......@@ -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.
}
......@@ -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" }
......@@ -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" }
}
......@@ -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;
}
......@@ -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)
......
......@@ -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
}
......@@ -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" }
}
......@@ -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;
}
......@@ -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;
......
......@@ -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;
}
......@@ -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 "" } .*
......
......@@ -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" }
}
......@@ -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" }
......@@ -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;
}
......@@ -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" }
}
......@@ -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 *>);
......
......@@ -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" }
}
};
......@@ -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
}
......@@ -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.
......@@ -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 () {
......
......@@ -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 }
// { 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 }
// { 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" } .*
// { 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 ?
}
......@@ -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" }
......@@ -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" }
}
......@@ -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 }
......@@ -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" }
......@@ -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;
}
......@@ -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" }
{
}
......@@ -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;
}
......@@ -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
}
......@@ -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;
......
......@@ -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
......
......@@ -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
}
......@@ -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;
......
......@@ -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 }
}
......@@ -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;
}
......@@ -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" }
}
......@@ -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 }
}
// { 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; };
......
......@@ -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" }
}
// { 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<> >(); }
......@@ -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;
......
......@@ -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 {
......
......@@ -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" }
}
......@@ -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" }
}
......@@ -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" }
......@@ -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 }
// { 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>
......
......@@ -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);
......
// { 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" }
......@@ -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;
}
// { 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" }
......@@ -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
}
......@@ -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
{
}
......@@ -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
}
......@@ -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;
}
......@@ -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
......
......@@ -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.
}
......@@ -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 }
}
......@@ -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;
}
......@@ -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>
......
......@@ -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
......
......@@ -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"
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment