From d0488d176b8f18ad2d4ef6297fde7de6cbca1899 Mon Sep 17 00:00:00 2001 From: Janis Johnson Date: Wed, 17 Sep 2008 00:06:57 +0000 Subject: [PATCH] re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings) PR testsuite/25241 * testsuite/g++.dg/charset/attribute2.c: Replace dg-error with dg-warning or vice versa. * testsuite/g++.dg/conversion/dr195.C: Ditto. * testsuite/g++.dg/cpp0x/variadic60.C: Ditto. * testsuite/g++.dg/expr/cast2.C: Ditto. * testsuite/g++.dg/ext/anon-struct4.C: Ditto. * testsuite/g++.dg/ext/member-attr.C: Ditto. * testsuite/g++.dg/ext/utf-array.C: Ditto. * testsuite/g++.dg/ext/utf-array-short-wchar.C: Ditto. * testsuite/g++.dg/ext/utf-typedef-cxx0x.C: Ditto. * testsuite/g++.dg/ext/visibility/redecl1.C: Ditto. * testsuite/g++.dg/ext/visibility/warn4.C: Ditto. * testsuite/g++.dg/parse/defarg11.C: Ditto. * testsuite/g++.dg/template/error17.C: Ditto. * testsuite/g++.dg/warn/pedantic2.C: Ditto. * testsuite/g++.dg/warn/pr21983.C: Ditto. * testsuite/g++.dg/warn/return-reference2.C: Ditto. * testsuite/g++.old-deja/g++.bob/inherit1.C: Ditto. * testsuite/g++.old-deja/g++.brendan/crash13.C: Ditto. * testsuite/g++.old-deja/g++.brendan/crash17.C: Ditto. * testsuite/g++.old-deja/g++.brendan/crash52.C: Ditto. * testsuite/g++.old-deja/g++.brendan/crash55.C: Ditto. * testsuite/g++.old-deja/g++.brendan/enum7.C: Ditto. * testsuite/g++.old-deja/g++.brendan/operators4.C: Ditto. * testsuite/g++.old-deja/g++.brendan/template17.C: Ditto. * testsuite/g++.old-deja/g++.brendan/warnings1.C: Ditto. * testsuite/g++.old-deja/g++.bugs/900205_03.C: Ditto. * testsuite/g++.old-deja/g++.bugs/900227_01.C: Ditto. * testsuite/g++.old-deja/g++.ext/arrnew.C: Ditto. * testsuite/g++.old-deja/g++.ext/attrib4.C: Ditto. * testsuite/g++.old-deja/g++.jason/cond.C: Ditto. * testsuite/g++.old-deja/g++.jason/operator.C: Ditto. * testsuite/g++.old-deja/g++.jason/report.C: Ditto. * testsuite/g++.old-deja/g++.law/friend5.C: Ditto. * testsuite/g++.old-deja/g++.law/temps1.C: Ditto. * testsuite/g++.old-deja/g++.law/union4.C: Ditto. * testsuite/g++.old-deja/g++.martin/pure1.C: Ditto. * testsuite/g++.old-deja/g++.mike/empty.C: Ditto. * testsuite/g++.old-deja/g++.mike/for2.C: Ditto. * testsuite/g++.old-deja/g++.mike/misc9.C: Ditto. * testsuite/g++.old-deja/g++.mike/p10769b.C: Ditto. * testsuite/g++.old-deja/g++.mike/p2855.C: Ditto. * testsuite/g++.old-deja/g++.mike/p3060c.C: Ditto. * testsuite/g++.old-deja/g++.mike/p700.C: Ditto. * testsuite/g++.old-deja/g++.mike/p9732c.C: Ditto. * testsuite/g++.old-deja/g++.mike/pmf6.C: Ditto. * testsuite/g++.old-deja/g++.mike/warn1.C: Ditto. * testsuite/g++.old-deja/g++.mike/warn5.C: Ditto. * testsuite/g++.old-deja/g++.niklas/t141.C: Ditto. * testsuite/g++.old-deja/g++.other/cast6.C: Ditto. * testsuite/g++.old-deja/g++.other/cond5.C: Ditto. * testsuite/g++.old-deja/g++.other/conv8.C: Ditto. * testsuite/g++.old-deja/g++.other/decl5.C: Ditto. * testsuite/g++.old-deja/g++.other/delete2.C: Ditto. * testsuite/g++.old-deja/g++.other/delete4.C: Ditto. * testsuite/g++.old-deja/g++.other/linkage1.C: Ditto. * testsuite/g++.old-deja/g++.other/ptrmem8.C: Ditto. * testsuite/g++.old-deja/g++.other/typename1.C: Ditto. * testsuite/g++.old-deja/g++.pt/typename14.C: Ditto. * testsuite/g++.old-deja/g++.pt/typename4.C: Ditto. * testsuite/g++.old-deja/g++.pt/typename5.C: Ditto. * testsuite/g++.old-deja/g++.pt/typename7.C: Ditto. From-SVN: r140405 --- gcc/testsuite/ChangeLog | 66 ++++++++++++++++++++++ gcc/testsuite/g++.dg/charset/attribute2.c | 2 +- gcc/testsuite/g++.dg/conversion/dr195.C | 4 +- gcc/testsuite/g++.dg/cpp0x/variadic60.C | 2 +- gcc/testsuite/g++.dg/expr/cast2.C | 2 +- gcc/testsuite/g++.dg/ext/anon-struct4.C | 3 +- gcc/testsuite/g++.dg/ext/member-attr.C | 4 +- gcc/testsuite/g++.dg/ext/utf-array-short-wchar.C | 12 ++-- gcc/testsuite/g++.dg/ext/utf-array.C | 12 ++-- gcc/testsuite/g++.dg/ext/utf-typedef-cxx0x.C | 6 +- gcc/testsuite/g++.dg/ext/visibility/redecl1.C | 2 +- gcc/testsuite/g++.dg/ext/visibility/warn4.C | 4 +- gcc/testsuite/g++.dg/parse/defarg11.C | 4 +- gcc/testsuite/g++.dg/template/error17.C | 4 +- gcc/testsuite/g++.dg/warn/pedantic2.C | 4 +- gcc/testsuite/g++.dg/warn/pr21983.C | 2 +- gcc/testsuite/g++.dg/warn/return-reference2.C | 4 +- gcc/testsuite/g++.old-deja/g++.bob/inherit1.C | 3 +- gcc/testsuite/g++.old-deja/g++.brendan/crash13.C | 2 +- gcc/testsuite/g++.old-deja/g++.brendan/crash17.C | 2 +- gcc/testsuite/g++.old-deja/g++.brendan/crash52.C | 6 +- gcc/testsuite/g++.old-deja/g++.brendan/crash55.C | 2 +- gcc/testsuite/g++.old-deja/g++.brendan/enum7.C | 2 +- .../g++.old-deja/g++.brendan/operators4.C | 8 +-- .../g++.old-deja/g++.brendan/template17.C | 7 ++- gcc/testsuite/g++.old-deja/g++.brendan/warnings1.C | 2 +- gcc/testsuite/g++.old-deja/g++.bugs/900205_03.C | 12 ++-- gcc/testsuite/g++.old-deja/g++.bugs/900227_01.C | 6 +- gcc/testsuite/g++.old-deja/g++.ext/arrnew.C | 3 +- gcc/testsuite/g++.old-deja/g++.ext/attrib4.C | 16 +++--- gcc/testsuite/g++.old-deja/g++.jason/cond.C | 21 ++++--- gcc/testsuite/g++.old-deja/g++.jason/operator.C | 19 ++++--- gcc/testsuite/g++.old-deja/g++.jason/report.C | 4 +- gcc/testsuite/g++.old-deja/g++.law/friend5.C | 4 +- gcc/testsuite/g++.old-deja/g++.law/temps1.C | 3 +- gcc/testsuite/g++.old-deja/g++.law/union4.C | 2 +- gcc/testsuite/g++.old-deja/g++.martin/pure1.C | 4 +- gcc/testsuite/g++.old-deja/g++.mike/empty.C | 4 +- gcc/testsuite/g++.old-deja/g++.mike/for2.C | 9 ++- gcc/testsuite/g++.old-deja/g++.mike/misc9.C | 4 +- gcc/testsuite/g++.old-deja/g++.mike/p10769b.C | 5 +- gcc/testsuite/g++.old-deja/g++.mike/p2855.C | 2 +- gcc/testsuite/g++.old-deja/g++.mike/p3060c.C | 2 +- gcc/testsuite/g++.old-deja/g++.mike/p700.C | 4 +- gcc/testsuite/g++.old-deja/g++.mike/p9732c.C | 2 +- gcc/testsuite/g++.old-deja/g++.mike/pmf6.C | 4 +- gcc/testsuite/g++.old-deja/g++.mike/warn1.C | 2 +- gcc/testsuite/g++.old-deja/g++.mike/warn5.C | 6 +- gcc/testsuite/g++.old-deja/g++.niklas/t141.C | 2 +- gcc/testsuite/g++.old-deja/g++.other/cast6.C | 16 +++--- gcc/testsuite/g++.old-deja/g++.other/cond5.C | 16 +++--- gcc/testsuite/g++.old-deja/g++.other/conv8.C | 2 +- gcc/testsuite/g++.old-deja/g++.other/decl5.C | 41 +++++++------- gcc/testsuite/g++.old-deja/g++.other/delete2.C | 4 +- gcc/testsuite/g++.old-deja/g++.other/delete4.C | 8 +-- gcc/testsuite/g++.old-deja/g++.other/linkage1.C | 6 +- gcc/testsuite/g++.old-deja/g++.other/ptrmem8.C | 8 +-- gcc/testsuite/g++.old-deja/g++.other/typename1.C | 2 +- gcc/testsuite/g++.old-deja/g++.pt/typename14.C | 2 +- gcc/testsuite/g++.old-deja/g++.pt/typename4.C | 4 +- gcc/testsuite/g++.old-deja/g++.pt/typename5.C | 5 +- gcc/testsuite/g++.old-deja/g++.pt/typename7.C | 4 +- 62 files changed, 259 insertions(+), 170 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f1763d4..849db2e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,69 @@ +2008-09-16 Janis Johnson + + PR testsuite/25241 + * testsuite/g++.dg/charset/attribute2.c: Replace dg-error with + dg-warning or vice versa. + * testsuite/g++.dg/conversion/dr195.C: Ditto. + * testsuite/g++.dg/cpp0x/variadic60.C: Ditto. + * testsuite/g++.dg/expr/cast2.C: Ditto. + * testsuite/g++.dg/ext/anon-struct4.C: Ditto. + * testsuite/g++.dg/ext/member-attr.C: Ditto. + * testsuite/g++.dg/ext/utf-array.C: Ditto. + * testsuite/g++.dg/ext/utf-array-short-wchar.C: Ditto. + * testsuite/g++.dg/ext/utf-typedef-cxx0x.C: Ditto. + * testsuite/g++.dg/ext/visibility/redecl1.C: Ditto. + * testsuite/g++.dg/ext/visibility/warn4.C: Ditto. + * testsuite/g++.dg/parse/defarg11.C: Ditto. + * testsuite/g++.dg/template/error17.C: Ditto. + * testsuite/g++.dg/warn/pedantic2.C: Ditto. + * testsuite/g++.dg/warn/pr21983.C: Ditto. + * testsuite/g++.dg/warn/return-reference2.C: Ditto. + * testsuite/g++.old-deja/g++.bob/inherit1.C: Ditto. + * testsuite/g++.old-deja/g++.brendan/crash13.C: Ditto. + * testsuite/g++.old-deja/g++.brendan/crash17.C: Ditto. + * testsuite/g++.old-deja/g++.brendan/crash52.C: Ditto. + * testsuite/g++.old-deja/g++.brendan/crash55.C: Ditto. + * testsuite/g++.old-deja/g++.brendan/enum7.C: Ditto. + * testsuite/g++.old-deja/g++.brendan/operators4.C: Ditto. + * testsuite/g++.old-deja/g++.brendan/template17.C: Ditto. + * testsuite/g++.old-deja/g++.brendan/warnings1.C: Ditto. + * testsuite/g++.old-deja/g++.bugs/900205_03.C: Ditto. + * testsuite/g++.old-deja/g++.bugs/900227_01.C: Ditto. + * testsuite/g++.old-deja/g++.ext/arrnew.C: Ditto. + * testsuite/g++.old-deja/g++.ext/attrib4.C: Ditto. + * testsuite/g++.old-deja/g++.jason/cond.C: Ditto. + * testsuite/g++.old-deja/g++.jason/operator.C: Ditto. + * testsuite/g++.old-deja/g++.jason/report.C: Ditto. + * testsuite/g++.old-deja/g++.law/friend5.C: Ditto. + * testsuite/g++.old-deja/g++.law/temps1.C: Ditto. + * testsuite/g++.old-deja/g++.law/union4.C: Ditto. + * testsuite/g++.old-deja/g++.martin/pure1.C: Ditto. + * testsuite/g++.old-deja/g++.mike/empty.C: Ditto. + * testsuite/g++.old-deja/g++.mike/for2.C: Ditto. + * testsuite/g++.old-deja/g++.mike/misc9.C: Ditto. + * testsuite/g++.old-deja/g++.mike/p10769b.C: Ditto. + * testsuite/g++.old-deja/g++.mike/p2855.C: Ditto. + * testsuite/g++.old-deja/g++.mike/p3060c.C: Ditto. + * testsuite/g++.old-deja/g++.mike/p700.C: Ditto. + * testsuite/g++.old-deja/g++.mike/p9732c.C: Ditto. + * testsuite/g++.old-deja/g++.mike/pmf6.C: Ditto. + * testsuite/g++.old-deja/g++.mike/warn1.C: Ditto. + * testsuite/g++.old-deja/g++.mike/warn5.C: Ditto. + * testsuite/g++.old-deja/g++.niklas/t141.C: Ditto. + * testsuite/g++.old-deja/g++.other/cast6.C: Ditto. + * testsuite/g++.old-deja/g++.other/cond5.C: Ditto. + * testsuite/g++.old-deja/g++.other/conv8.C: Ditto. + * testsuite/g++.old-deja/g++.other/decl5.C: Ditto. + * testsuite/g++.old-deja/g++.other/delete2.C: Ditto. + * testsuite/g++.old-deja/g++.other/delete4.C: Ditto. + * testsuite/g++.old-deja/g++.other/linkage1.C: Ditto. + * testsuite/g++.old-deja/g++.other/ptrmem8.C: Ditto. + * testsuite/g++.old-deja/g++.other/typename1.C: Ditto. + * testsuite/g++.old-deja/g++.pt/typename14.C: Ditto. + * testsuite/g++.old-deja/g++.pt/typename4.C: Ditto. + * testsuite/g++.old-deja/g++.pt/typename5.C: Ditto. + * testsuite/g++.old-deja/g++.pt/typename7.C: Ditto. + 2008-09-16 Jakub Jelinek Adam Nemet diff --git a/gcc/testsuite/g++.dg/charset/attribute2.c b/gcc/testsuite/g++.dg/charset/attribute2.c index dcb28f2..a67b7ac 100644 --- a/gcc/testsuite/g++.dg/charset/attribute2.c +++ b/gcc/testsuite/g++.dg/charset/attribute2.c @@ -4,5 +4,5 @@ /* { dg-do compile } { dg-require-iconv "IBM1047" } */ -int foo __attribute__ ((walrus)); /* { dg-error "walrus" "ignored" } */ +int foo __attribute__ ((walrus)); /* { dg-warning "walrus" "ignored" } */ char x[] = "foobar"; diff --git a/gcc/testsuite/g++.dg/conversion/dr195.C b/gcc/testsuite/g++.dg/conversion/dr195.C index 902b871..8502c15 100644 --- a/gcc/testsuite/g++.dg/conversion/dr195.C +++ b/gcc/testsuite/g++.dg/conversion/dr195.C @@ -22,8 +22,8 @@ void foo () pv = reinterpret_cast (pf); // { dg-warning "casting between" "" } /* the following two might or might not be ok with 195. */ - pf = reinterpret_cast (po); // { dg-error "casting between" "" } - po = reinterpret_cast (pf); // { dg-error "casting between" "" } + pf = reinterpret_cast (po); // { dg-warning "casting between" "" } + po = reinterpret_cast (pf); // { dg-warning "casting between" "" } /* These will never be ok, as they are implicit. */ pv = pf; // { dg-error "invalid conversion" "" } diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic60.C b/gcc/testsuite/g++.dg/cpp0x/variadic60.C index 29c4e29..b86711f 100644 --- a/gcc/testsuite/g++.dg/cpp0x/variadic60.C +++ b/gcc/testsuite/g++.dg/cpp0x/variadic60.C @@ -1 +1 @@ -template class tuple; // { dg-warning "variadic templates" } +template class tuple; // { dg-error "variadic templates" } diff --git a/gcc/testsuite/g++.dg/expr/cast2.C b/gcc/testsuite/g++.dg/expr/cast2.C index fbc2a2c..1ccda2b 100644 --- a/gcc/testsuite/g++.dg/expr/cast2.C +++ b/gcc/testsuite/g++.dg/expr/cast2.C @@ -1,5 +1,5 @@ void (*p)(); void f() { - (void *)p; // { dg-error "" } + (void *)p; // { dg-warning "forbids cast" } } diff --git a/gcc/testsuite/g++.dg/ext/anon-struct4.C b/gcc/testsuite/g++.dg/ext/anon-struct4.C index f0b3b57..4f0fcd1 100644 --- a/gcc/testsuite/g++.dg/ext/anon-struct4.C +++ b/gcc/testsuite/g++.dg/ext/anon-struct4.C @@ -1,3 +1,4 @@ // PR c++/14401 -struct { struct { int& i ; } bar ; } foo ; // { dg-error "" } +struct { struct { int& i ; } bar ; } foo ; // { dg-error "uninitialized" "uninit" } +// { dg-warning "anonymous" "anon" { target *-*-* } 3 } diff --git a/gcc/testsuite/g++.dg/ext/member-attr.C b/gcc/testsuite/g++.dg/ext/member-attr.C index ede63c1..2a7e18b 100644 --- a/gcc/testsuite/g++.dg/ext/member-attr.C +++ b/gcc/testsuite/g++.dg/ext/member-attr.C @@ -9,6 +9,6 @@ class T { public: - __attribute__ ((garbage1)) void member1(int) {} /* { dg-error "'garbage1' attribute directive ignored" "" } */ - void __attribute__ ((garbage2)) member2(int) {} /* { dg-error "'garbage2' attribute directive ignored" "" } */ + __attribute__ ((garbage1)) void member1(int) {} /* { dg-warning "'garbage1' attribute directive ignored" "" } */ + void __attribute__ ((garbage2)) member2(int) {} /* { dg-warning "'garbage2' attribute directive ignored" "" } */ }; diff --git a/gcc/testsuite/g++.dg/ext/utf-array-short-wchar.C b/gcc/testsuite/g++.dg/ext/utf-array-short-wchar.C index 43ae508..a549f69 100644 --- a/gcc/testsuite/g++.dg/ext/utf-array-short-wchar.C +++ b/gcc/testsuite/g++.dg/ext/utf-array-short-wchar.C @@ -13,9 +13,9 @@ const char16_t s16_1[] = u"ab"; const char16_t s16_2[] = U"ab"; /* { dg-error "from incompatible" } */ const char16_t s16_3[] = L"ab"; /* { dg-error "from incompatible" } */ -const char16_t s16_4[0] = u"ab"; /* { dg-warning "chars is too long" } */ -const char16_t s16_5[1] = u"ab"; /* { dg-warning "chars is too long" } */ -const char16_t s16_6[2] = u"ab"; /* { dg-warning "chars is too long" } */ +const char16_t s16_4[0] = u"ab"; /* { dg-error "chars is too long" } */ +const char16_t s16_5[1] = u"ab"; /* { dg-error "chars is too long" } */ +const char16_t s16_6[2] = u"ab"; /* { dg-error "chars is too long" } */ const char16_t s16_7[3] = u"ab"; const char16_t s16_8[4] = u"ab"; @@ -24,9 +24,9 @@ const char32_t s32_1[] = u"ab"; /* { dg-error "from incompatible" } */ const char32_t s32_2[] = U"ab"; const char32_t s32_3[] = L"ab"; /* { dg-error "from incompatible" } */ -const char32_t s32_4[0] = U"ab"; /* { dg-warning "chars is too long" } */ -const char32_t s32_5[1] = U"ab"; /* { dg-warning "chars is too long" } */ -const char32_t s32_6[2] = U"ab"; /* { dg-warning "chars is too long" } */ +const char32_t s32_4[0] = U"ab"; /* { dg-error "chars is too long" } */ +const char32_t s32_5[1] = U"ab"; /* { dg-error "chars is too long" } */ +const char32_t s32_6[2] = U"ab"; /* { dg-error "chars is too long" } */ const char32_t s32_7[3] = U"ab"; const char32_t s32_8[4] = U"ab"; diff --git a/gcc/testsuite/g++.dg/ext/utf-array.C b/gcc/testsuite/g++.dg/ext/utf-array.C index 65d8453..6a14f79 100644 --- a/gcc/testsuite/g++.dg/ext/utf-array.C +++ b/gcc/testsuite/g++.dg/ext/utf-array.C @@ -13,9 +13,9 @@ const char16_t s16_1[] = u"ab"; const char16_t s16_2[] = U"ab"; /* { dg-error "from incompatible" } */ const char16_t s16_3[] = L"ab"; /* { dg-error "from incompatible" } */ -const char16_t s16_4[0] = u"ab"; /* { dg-warning "chars is too long" } */ -const char16_t s16_5[1] = u"ab"; /* { dg-warning "chars is too long" } */ -const char16_t s16_6[2] = u"ab"; /* { dg-warning "chars is too long" } */ +const char16_t s16_4[0] = u"ab"; /* { dg-error "chars is too long" } */ +const char16_t s16_5[1] = u"ab"; /* { dg-error "chars is too long" } */ +const char16_t s16_6[2] = u"ab"; /* { dg-error "chars is too long" } */ const char16_t s16_7[3] = u"ab"; const char16_t s16_8[4] = u"ab"; @@ -24,9 +24,9 @@ const char32_t s32_1[] = u"ab"; /* { dg-error "from incompatible" } */ const char32_t s32_2[] = U"ab"; const char32_t s32_3[] = L"ab"; /* { dg-error "from incompatible" } */ -const char32_t s32_4[0] = U"ab"; /* { dg-warning "chars is too long" } */ -const char32_t s32_5[1] = U"ab"; /* { dg-warning "chars is too long" } */ -const char32_t s32_6[2] = U"ab"; /* { dg-warning "chars is too long" } */ +const char32_t s32_4[0] = U"ab"; /* { dg-error "chars is too long" } */ +const char32_t s32_5[1] = U"ab"; /* { dg-error "chars is too long" } */ +const char32_t s32_6[2] = U"ab"; /* { dg-error "chars is too long" } */ const char32_t s32_7[3] = U"ab"; const char32_t s32_8[4] = U"ab"; diff --git a/gcc/testsuite/g++.dg/ext/utf-typedef-cxx0x.C b/gcc/testsuite/g++.dg/ext/utf-typedef-cxx0x.C index 789d08b..641e836 100644 --- a/gcc/testsuite/g++.dg/ext/utf-typedef-cxx0x.C +++ b/gcc/testsuite/g++.dg/ext/utf-typedef-cxx0x.C @@ -1,7 +1,7 @@ /* Contributed by Kris Van Hees */ -/* Ensure that a typedef to char16_t/char32_t issues a warning in c++0x. */ +/* Ensure that a typedef to char16_t/char32_t issues an error in c++0x. */ /* { dg-do compile } */ /* { dg-options "-std=c++0x" } */ -typedef short unsigned int char16_t; /* { dg-warning "redeclaration" } */ -typedef unsigned int char32_t; /* { dg-warning "redeclaration" } */ +typedef short unsigned int char16_t; /* { dg-error "redeclaration" } */ +typedef unsigned int char32_t; /* { dg-error "redeclaration" } */ diff --git a/gcc/testsuite/g++.dg/ext/visibility/redecl1.C b/gcc/testsuite/g++.dg/ext/visibility/redecl1.C index 75c8554..b53335e 100644 --- a/gcc/testsuite/g++.dg/ext/visibility/redecl1.C +++ b/gcc/testsuite/g++.dg/ext/visibility/redecl1.C @@ -1,7 +1,7 @@ // Test that we complain about redeclaration with different visibility struct __attribute((visibility("hidden"))) B; -struct __attribute((visibility("default"))) B; // { dg-warning "visibility" } +struct __attribute((visibility("default"))) B; // { dg-error "visibility" } __attribute ((visibility ("hidden"))) void f(); // { dg-warning "previous" } __attribute ((visibility ("default"))) void f(); // { dg-warning "visibility" } diff --git a/gcc/testsuite/g++.dg/ext/visibility/warn4.C b/gcc/testsuite/g++.dg/ext/visibility/warn4.C index e405e7a..33e6f67 100644 --- a/gcc/testsuite/g++.dg/ext/visibility/warn4.C +++ b/gcc/testsuite/g++.dg/ext/visibility/warn4.C @@ -1,4 +1,4 @@ -// Error if we try to give an instantiation visibility after it's already +// Warn if we try to give an instantiation visibility after it's already // been instantiated. // { dg-require-visibility "" } @@ -7,4 +7,4 @@ template struct A { void f (T); }; template void A::f (T) { } A ad; -template struct __attribute ((visibility ("hidden"))) A; // { dg-error "already defined" } +template struct __attribute ((visibility ("hidden"))) A; // { dg-warning "already defined" } diff --git a/gcc/testsuite/g++.dg/parse/defarg11.C b/gcc/testsuite/g++.dg/parse/defarg11.C index 5628aa0..60199c2 100644 --- a/gcc/testsuite/g++.dg/parse/defarg11.C +++ b/gcc/testsuite/g++.dg/parse/defarg11.C @@ -4,6 +4,6 @@ class foo { public: void operator& (int = 1); // { dg-error "default argument" } - void operator++ (int = 2); // { dg-error "default argument" } - void operator-- (int = 3); // { dg-error "default argument" } + void operator++ (int = 2); // { dg-warning "default argument" } + void operator-- (int = 3); // { dg-warning "default argument" } }; diff --git a/gcc/testsuite/g++.dg/template/error17.C b/gcc/testsuite/g++.dg/template/error17.C index 24b3644..f34234d 100644 --- a/gcc/testsuite/g++.dg/template/error17.C +++ b/gcc/testsuite/g++.dg/template/error17.C @@ -4,5 +4,7 @@ template void foo() { - union { struct { }; }; // { dg-error "" } + union { struct { }; }; // { dg-error "prohibits anonymous struct" "anon" } + // { dg-error "not inside" "not inside" { target *-*-* } 7 } + // { dg-warning "no members" "no members" { target *-*-* } 7 } } diff --git a/gcc/testsuite/g++.dg/warn/pedantic2.C b/gcc/testsuite/g++.dg/warn/pedantic2.C index 5a9bf1d..6c83416 100644 --- a/gcc/testsuite/g++.dg/warn/pedantic2.C +++ b/gcc/testsuite/g++.dg/warn/pedantic2.C @@ -5,6 +5,6 @@ class foo foo() {}; void bar() {}; - foo(int) {};; // { dg-error "extra" } - void bar(int) {};; // { dg-error "extra" } + foo(int) {};; // { dg-warning "extra" } + void bar(int) {};; // { dg-warning "extra" } }; diff --git a/gcc/testsuite/g++.dg/warn/pr21983.C b/gcc/testsuite/g++.dg/warn/pr21983.C index 3021c3f..0108169 100644 --- a/gcc/testsuite/g++.dg/warn/pr21983.C +++ b/gcc/testsuite/g++.dg/warn/pr21983.C @@ -4,4 +4,4 @@ struct B { virtual void foo () = 0; }; struct D1 : public virtual B { virtual void foo () {} }; struct D2 : public virtual B { virtual void foo () {} }; -struct D : public D1, public D2 { }; // { dg-warning "no unique final overrider" } +struct D : public D1, public D2 { }; // { dg-error "no unique final overrider" } diff --git a/gcc/testsuite/g++.dg/warn/return-reference2.C b/gcc/testsuite/g++.dg/warn/return-reference2.C index 96e44a1..1902662 100644 --- a/gcc/testsuite/g++.dg/warn/return-reference2.C +++ b/gcc/testsuite/g++.dg/warn/return-reference2.C @@ -10,12 +10,12 @@ public: int &f() { - A a; // { dg-error "local" } + A a; // { dg-warning "local" } return a.second; } int &g() { - int ar[42]; // { dg-error "local" } + int ar[42]; // { dg-warning "local" } return ar[20]; } diff --git a/gcc/testsuite/g++.old-deja/g++.bob/inherit1.C b/gcc/testsuite/g++.old-deja/g++.bob/inherit1.C index 9d26867..e75190b 100644 --- a/gcc/testsuite/g++.old-deja/g++.bob/inherit1.C +++ b/gcc/testsuite/g++.old-deja/g++.bob/inherit1.C @@ -11,7 +11,8 @@ public: class B : public A { public: - char* m1 () { C::m1(); return ""; } // { dg-error "" } + char* m1 () { C::m1(); return ""; } // { dg-error "cannot call" } + // { dg-warning "deprecated" "depr" { target *-*-* } 14 } }; int main () { diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash13.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash13.C index 91842c1..c1f0b7d 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/crash13.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash13.C @@ -31,7 +31,7 @@ gen_op Spul_U_axis() { gen_op U1; U1 = Fe(); -} // { dg-error "" } reaches end of non-void function +} // { dg-warning "no return" } reaches end of non-void function int main () {} diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash17.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash17.C index dd7a7b9..ecbceab 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/crash17.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash17.C @@ -30,6 +30,6 @@ class GnWidget : public GnObject { virtual ~GnWidget(); }; -class GnOptionGroup : public GnObject, public GnWidget {// { dg-error "" } warning +class GnOptionGroup : public GnObject, public GnWidget {// { dg-warning "inaccessible" } }; diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash52.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash52.C index 74df601..6db818a 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/crash52.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash52.C @@ -5,9 +5,9 @@ class A { public: - friend A f(A &a);// { dg-error "" } ambiguates.* + friend A f(A &a);// { dg-error "ambiguates" } }; -A &f(A &a) {// { dg-error "" } new decl.* +A &f(A &a) {// { dg-error "new decl" } std::cout << "Blah\n"; -} // { dg-error "no return statement" } +} // { dg-warning "no return statement" } diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash55.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash55.C index cd952af..8295962 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/crash55.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash55.C @@ -4,7 +4,7 @@ int& f(int x) // { dg-error "new declaration" } { - int local; // { dg-error "reference to local" } + int local; // { dg-warning "reference to local" } local = x+2; diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum7.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum7.C index af31aab..980c8ea 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/enum7.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/enum7.C @@ -3,5 +3,5 @@ enum color { red, green, blue, orange, brown }; struct s { - enum color field:2; // { dg-error "" } too small + enum color field:2; // { dg-warning "too small" } }; diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/operators4.C b/gcc/testsuite/g++.old-deja/g++.brendan/operators4.C index d5613f1..6408815 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/operators4.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/operators4.C @@ -54,11 +54,11 @@ int main () if (test3 (vp)) return fail (); ptr_to_method_of_char p2 = &base::method; - vp = (void*) p2; // { dg-error "" } + vp = (void*) p2; // { dg-warning "converting" } if (test4 (vp)) return fail (); ptr_to_method_of_float p3 = &base::method; - vp = (void*) p3; // { dg-error "" } + vp = (void*) p3; // { dg-warning "converting" } if (test5 (vp)) return fail (); @@ -83,7 +83,7 @@ int test3 (void* vp) int test4 (void* vp) { char ch = 'x'; - ptr_to_method_of_char p = (ptr_to_method_of_char) vp; // { dg-error "" } bad type conversion + ptr_to_method_of_char p = (ptr_to_method_of_char) vp; // { dg-error "invalid cast" } bad type conversion return ((base_ptr->*p)(ch) != 9904); } @@ -91,7 +91,7 @@ int test4 (void* vp) int test5 (void* vp) { float flt = 9.9; - ptr_to_method_of_float p = (ptr_to_method_of_float) vp; // { dg-error "" } bad type conversion + ptr_to_method_of_float p = (ptr_to_method_of_float) vp; // { dg-error "invalid cast" } bad type conversion if ((base_ptr->*p)(flt) != 9905) { return 1; diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/template17.C b/gcc/testsuite/g++.old-deja/g++.brendan/template17.C index bb56bb3..5f2d45f 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/template17.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/template17.C @@ -8,5 +8,8 @@ public: static unsigned sequence_number; }; -const Regex NDAMName<'L'>::pattern("^[Ll](.*)$", 1);// { dg-error "" } type/value.* -unsigned NDAMName<'L'>::sequence_number = 0;// { dg-error "" } type/value +const Regex NDAMName<'L'>::pattern("^[Ll](.*)$", 1);// { dg-error "type/value mismatch" "mismatch" } +// { dg-error "expected a type" "expected" { target *-*-* } 11 } +// { dg-warning "deprecated" "depr" { target *-*-* } 11 } +unsigned NDAMName<'L'>::sequence_number = 0;// { dg-error "type/value mismatch" "mismatch" } +// { dg-error "expected a type" "exp" { target *-*-* } 14 } diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/warnings1.C b/gcc/testsuite/g++.old-deja/g++.brendan/warnings1.C index c73eef7..1559100 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/warnings1.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/warnings1.C @@ -2,6 +2,6 @@ // { dg-options "-Wctor-dtor-privacy" } // GROUPS passed warnings // there should be a warning about foo only defining private methods -class foo { // { dg-error "" } .* +class foo { // { dg-warning "private" } int bar(); }; diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900205_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900205_03.C index b22172d..a460526 100644 --- a/gcc/testsuite/g++.old-deja/g++.bugs/900205_03.C +++ b/gcc/testsuite/g++.old-deja/g++.bugs/900205_03.C @@ -18,18 +18,18 @@ struct struct00 { }; int global_function_0 () { -} // { dg-error "" } +} // { dg-warning "no return" } struct00 global_function_1 () { -} // { dg-error "" } +} // { dg-warning "no return" } struct struct0 { int struct0_member_function_0 () { - } // { dg-error "" } + } // { dg-warning "no return" } struct0 struct0_member_function_1 () { - } // { dg-error "" } + } // { dg-warning "no return" } }; struct struct1 { @@ -41,9 +41,9 @@ struct struct1 { }; int struct1_member_function_0 () { -} // { dg-error "" } +} // { dg-warning "no return" } struct1 struct1::struct1_member_function_1 () { -} // { dg-error "" } +} // { dg-warning "no return" } int main () { return 0; } diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900227_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900227_01.C index 78450df..2bd4f3d 100644 --- a/gcc/testsuite/g++.old-deja/g++.bugs/900227_01.C +++ b/gcc/testsuite/g++.old-deja/g++.bugs/900227_01.C @@ -33,7 +33,9 @@ int main (); -short s = (short) &main; // { dg-warning "" "" { xfail h8*-*-* xstormy16-*-* } } small integer -char c = (char) &main; // { dg-warning "" } small integer +short s = (short) &main; // { dg-error "taking address" "addr" { xfail h8*-*-* xstormy16-*-* } } +// { dg-error "loses precision" "lose" { xfail h8*-*-* xstormy16-*-* } 36 } +char c = (char) &main; // { dg-error "taking address" } +// { dg-error "loses precision" "lose" { target *-*-* } 38 } int main () { return 0; } diff --git a/gcc/testsuite/g++.old-deja/g++.ext/arrnew.C b/gcc/testsuite/g++.old-deja/g++.ext/arrnew.C index 4a2da86d..ea3f420 100644 --- a/gcc/testsuite/g++.old-deja/g++.ext/arrnew.C +++ b/gcc/testsuite/g++.old-deja/g++.ext/arrnew.C @@ -3,5 +3,6 @@ // PRMS Id: 4992 int *f(){ - return new int[1] = { 1 }; // { dg-error "" } removed + return new int[1] = { 1 }; // { dg-error "lvalue" "err" } + // { dg-warning "extended init" "warn" { target *-*-* } 6 } } diff --git a/gcc/testsuite/g++.old-deja/g++.ext/attrib4.C b/gcc/testsuite/g++.old-deja/g++.ext/attrib4.C index 708147b..5c2f03e 100644 --- a/gcc/testsuite/g++.old-deja/g++.ext/attrib4.C +++ b/gcc/testsuite/g++.old-deja/g++.ext/attrib4.C @@ -7,18 +7,18 @@ #define PF __attribute__ ((format (printf, 1, 2))) struct A { - static PF void f (char *, ...); - friend PF void g (char *, ...); + static PF void f (const char *, ...); + static PF void g (const char *, ...) { } static void test (); }; -void PF h (char *, ...); -void PF k (char *, ...) { } +void PF h (const char *, ...); +void PF k (const char *, ...) { } void A::test () { - f ("%f", 42); // { dg-warning "" } - g ("%f", 42); // { dg-warning "" } - h ("%f", 42); // { dg-warning "" } - k ("%f", 42); // { dg-warning "" } + f ("%f", 42); // { dg-warning "argument 2" } + g ("%f", 42); // { dg-warning "argument 2" } + h ("%f", 42); // { dg-warning "argument 2" } + k ("%f", 42); // { dg-warning "argument 2" } } diff --git a/gcc/testsuite/g++.old-deja/g++.jason/cond.C b/gcc/testsuite/g++.old-deja/g++.jason/cond.C index b659249..eaddcd6 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/cond.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/cond.C @@ -17,14 +17,14 @@ int main() char j; } - while (int i = 0) // { dg-error "" } + while (int i = 0) // { dg-error "previously" } { - int i; // { dg-error "" } + int i; // { dg-error "redeclaration" } } - for (; int i = 0; ) // { dg-error "" } + for (; int i = 0; ) // { dg-error "previously" } { - int i; // { dg-error "" } + int i; // { dg-error "redeclaration" } } switch (int i = 0) // { dg-error "" "" { xfail *-*-* } } @@ -33,12 +33,14 @@ int main() int i; // { dg-error "" "" { xfail *-*-* } } } - if (struct A { operator int () { return 1; } } *foo = new A) // { dg-error "" } + if (struct A { operator int () { return 1; } } *foo = new A) // { dg-error "defined" } ; - A bar; // { dg-error "" } + A bar; // { dg-error "not declared" "decl" } + // { dg-error "expected" "exp" { target *-*-* } 39 } - if (enum A { one, two, three } foo = one) // { dg-error "" } + if (enum A { one, two, three } foo = one) // { dg-error "defined" "def" } + // { dg-error "declared" "decl" { target *-*-* } 42 } ; struct B { operator int () { return 2; } }; @@ -46,10 +48,11 @@ int main() if (struct B * foo = new B) ; - if (int f () = 1) // { dg-error "" } + if (int f () = 1) // { dg-warning "extern" "extern" } + // { dg-error "is initialized like a variable" "var" { target *-*-* } 51 } ; - if (int a[2] = {1, 2}) // { dg-error "" } + if (int a[2] = {1, 2}) // { dg-error "extended init" } ; } diff --git a/gcc/testsuite/g++.old-deja/g++.jason/operator.C b/gcc/testsuite/g++.old-deja/g++.jason/operator.C index 81c1e1d..7803157 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/operator.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/operator.C @@ -5,11 +5,11 @@ typedef __SIZE_TYPE__ size_t; struct A { - int operator?:(int a, int b); // { dg-warning "" } - static int operator()(int a); // { dg-error "" } must be nonstatic - static int operator+(A,A); // { dg-error "" } must be nonstatic - int operator+(int a, int b = 1); // { dg-error "" } two errors on this line - int operator++(char); // { dg-error "" } must take 'int' + int operator?:(int a, int b); // { dg-error "expected type-specifier" } + static int operator()(int a); // { dg-error "must be a nonstatic member" } + static int operator+(A,A); // { dg-error "either a non-static member" } + int operator+(int a, int b = 1); // { dg-error "either zero or one" } + int operator++(char); // { dg-error "must take 'int'" } void operator delete (void *); void operator delete (void *, unsigned long); }; @@ -23,9 +23,10 @@ struct B { B * operator->(); }; -int operator-(int a, int b); // { dg-error "" } no class argument +int operator-(int a, int b); // { dg-error "argument of class or" } -void * operator new (A a); // { dg-error "" } invalid first argument -void operator delete (A a); // { dg-error "" } ditto +void * operator new (A a); // { dg-error "first parameter" } +void operator delete (A a); // { dg-error "first parameter" } -char * operator char * (int); // { dg-error "" } return value, nonmember +char * operator char * (int); // { dg-error "return type" "ret" } +// { dg-error "nonstatic member function" "mem" { target *-*-* } 31 } diff --git a/gcc/testsuite/g++.old-deja/g++.jason/report.C b/gcc/testsuite/g++.old-deja/g++.jason/report.C index f4e02a4..e1079cf 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/report.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/report.C @@ -56,7 +56,7 @@ bar2 baz (X::Y y) // { dg-error "" } in this context bar2 wa [5]; wa[0] = baz(f); undef2 (1); // { dg-error "" } implicit declaration -} // { dg-error "no return statement" } +} // { dg-warning "no return statement" } int ninny () { @@ -71,4 +71,4 @@ int ninny () int darg (char X::*p) { undef3 (1); // { dg-error "" } implicit declaration -} // { dg-error "no return statement" } +} // { dg-warning "no return statement" } diff --git a/gcc/testsuite/g++.old-deja/g++.law/friend5.C b/gcc/testsuite/g++.old-deja/g++.law/friend5.C index eebf3b2..0a55ce4 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/friend5.C +++ b/gcc/testsuite/g++.old-deja/g++.law/friend5.C @@ -16,10 +16,10 @@ int good_friend(int) { obj.parts = 0; - } // { dg-error "" } non-void + } // { dg-warning "non-void" } int bad_friend() { obj.parts = 0; - } // { dg-error "" } non-void + } // { dg-warning "non-void" } diff --git a/gcc/testsuite/g++.old-deja/g++.law/temps1.C b/gcc/testsuite/g++.old-deja/g++.law/temps1.C index ea56d24..cd0bc87 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/temps1.C +++ b/gcc/testsuite/g++.old-deja/g++.law/temps1.C @@ -15,4 +15,5 @@ struct cookie cookie ( foo * x) { v=x; } }; -cookie cat(&foo("apabepa"));// { dg-error "" } .* +cookie cat(&foo("apabepa"));// { dg-warning "deprecated conversion" "dep" } +// { dg-warning "taking address of temporary" "add" { target *-*-* } 18 } diff --git a/gcc/testsuite/g++.old-deja/g++.law/union4.C b/gcc/testsuite/g++.old-deja/g++.law/union4.C index c500f44..f48ceee 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/union4.C +++ b/gcc/testsuite/g++.old-deja/g++.law/union4.C @@ -10,4 +10,4 @@ static union { struct SS { int ss; }; -};// { dg-error "" } .* +};// { dg-warning "no members" } diff --git a/gcc/testsuite/g++.old-deja/g++.martin/pure1.C b/gcc/testsuite/g++.old-deja/g++.martin/pure1.C index 1de5afe..f19ff0a 100644 --- a/gcc/testsuite/g++.old-deja/g++.martin/pure1.C +++ b/gcc/testsuite/g++.old-deja/g++.martin/pure1.C @@ -3,6 +3,6 @@ class A { public: virtual void f(void) = 0; // pure virtual function. - A() {f();} // { dg-error "" } called in a constructor - ~A() {f();} // { dg-error "" } called in a destructor + A() {f();} // { dg-warning "const" } called in a constructor + ~A() {f();} // { dg-warning "destr" } called in a destructor }; diff --git a/gcc/testsuite/g++.old-deja/g++.mike/empty.C b/gcc/testsuite/g++.old-deja/g++.mike/empty.C index 776ce20..c36942e 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/empty.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/empty.C @@ -3,10 +3,10 @@ #define NOPE void foo() { - while (1); /* { dg-error "suggest a space before " } */ + while (1); /* { dg-warning "suggest a space before " } */ { } - for (;;); /* { dg-error "suggest a space before " } */ + for (;;); /* { dg-warning "suggest a space before " } */ { } while (1) diff --git a/gcc/testsuite/g++.old-deja/g++.mike/for2.C b/gcc/testsuite/g++.old-deja/g++.mike/for2.C index 1c074c3..42e6baa 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/for2.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/for2.C @@ -3,17 +3,20 @@ void foo() { for (class C {};;) ; - C c; // { dg-error "" } + C c; // { dg-error "declared" "decl" } + // { dg-error "expected" "exp" { target *-*-* } 6 } } void bar() { for (enum E {num};;) ; - E e; // { dg-error "" } + E e; // { dg-error "declared" "decl" } + // { dg-error "expected" "exp" { target *-*-* } 13 } } void bee () { int i = 0; - for (int fun() = 0; i != 2; ++i) { // { dg-error "" } + for (int fun() = 0; i != 2; ++i) { // { dg-warning "extern" "extern" } + // { dg-error "initialized" "init" { target *-*-* } 19 } } } diff --git a/gcc/testsuite/g++.old-deja/g++.mike/misc9.C b/gcc/testsuite/g++.old-deja/g++.mike/misc9.C index 0af5783..3d8858c 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/misc9.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/misc9.C @@ -3,11 +3,11 @@ // GROUPS passed qualifiers class bee { public: - int bee::bar; // { dg-warning "" } there is an extra bee:: here + int bee::bar; // { dg-error "extra" } there is an extra bee:: here }; class foo { public: - int bee::bar; // { dg-error "" } you cannot do this + int bee::bar; // { dg-error "not derived" } you cannot do this int me(); }; diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p10769b.C b/gcc/testsuite/g++.old-deja/g++.mike/p10769b.C index 1ab1cbb..9210a45 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p10769b.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p10769b.C @@ -17,10 +17,11 @@ public: void A::main() { void (B::*mPtrB)(B*); - (*(void (*)(A*))PMF2PF(mPtrB))(&b); // { dg-error "" } + (*(void (*)(A*))PMF2PF(mPtrB))(&b); // { dg-error "argument passing" } + // { dg-warning "convert" "warn" { target *-*-* } 20 } } int main() { void (A::*mPtr)() = &A::f1a; - (*(void (*)(A*))PMF2PF(mPtr))(&a); // { dg-error "" } + (*(void (*)(A*))PMF2PF(mPtr))(&a); // { dg-warning "convert" } } diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2855.C b/gcc/testsuite/g++.old-deja/g++.mike/p2855.C index def0a1f..3f269d2 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p2855.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p2855.C @@ -16,6 +16,6 @@ Ctest::operator const char *() const int main() { Ctest obj; - char* temp = (char *)obj; // { dg-warning "" } + char* temp = (char *)obj; // { dg-error "invalid cast" } temp[0] = '\0'; } diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p3060c.C b/gcc/testsuite/g++.old-deja/g++.mike/p3060c.C index 1332c62..8d9bd2e 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p3060c.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p3060c.C @@ -11,7 +11,7 @@ class Foo operator int (); }; -int Foo::operator int() { return x; } // { dg-warning "" } can't specify return type +int Foo::operator int() { return x; } // { dg-error "return" } can't specify return type Foo foo(10, 11); diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p700.C b/gcc/testsuite/g++.old-deja/g++.mike/p700.C index 5541bec..1fef5c8 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p700.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p700.C @@ -223,7 +223,7 @@ inline void Int::operator >>=(const int b) { rep >>= b; ; } -inline int& operator = (int& a, const Int & b) // { dg-warning "" } +inline int& operator = (int& a, const Int & b) // { dg-error "" } { a = b.Int::val(); return a;} inline int& operator += (int& a, const Int & b) { a += b.Int::val(); return a; } @@ -562,7 +562,7 @@ inline void Char::operator >>=(const char b) { rep >>= b; ; } -inline char& operator = (char& a, const Char & b) // { dg-warning "" } +inline char& operator = (char& a, const Char & b) // { dg-error "" } { a = b.Char::val(); return a;} inline char& operator += (char& a, const Char & b) { a += b.Char::val(); return a; } diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p9732c.C b/gcc/testsuite/g++.old-deja/g++.mike/p9732c.C index f4ce833..9239a09 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p9732c.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p9732c.C @@ -2,4 +2,4 @@ // prms-id: 9732 struct foo {}; -foo& x() { return foo(); } // { dg-warning "" } +foo& x() { return foo(); } // { dg-error "invalid init" } diff --git a/gcc/testsuite/g++.old-deja/g++.mike/pmf6.C b/gcc/testsuite/g++.old-deja/g++.mike/pmf6.C index 12d1ebe..7ff34d0 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/pmf6.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/pmf6.C @@ -5,9 +5,9 @@ class S { public: void (S::*pmf)(); void foo() { - pmf(); // { dg-warning "" } + pmf(); // { dg-error "pointer-to-member" } } static void foo1(S* sp) { - (sp->pmf)(); // { dg-error "" } + (sp->pmf)(); // { dg-error "pointer-to-member" } } }; diff --git a/gcc/testsuite/g++.old-deja/g++.mike/warn1.C b/gcc/testsuite/g++.old-deja/g++.mike/warn1.C index 78d2edf..52059cb 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/warn1.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/warn1.C @@ -9,6 +9,6 @@ int *pp=&i; void foo() { } int main() { - charptr(*pp)++; // { dg-warning "" } + charptr(*pp)++; // { dg-error "lvalue" } return 0; } diff --git a/gcc/testsuite/g++.old-deja/g++.mike/warn5.C b/gcc/testsuite/g++.old-deja/g++.mike/warn5.C index 84d665c..af94d53 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/warn5.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/warn5.C @@ -12,10 +12,10 @@ struct A { typedef void (A::*pmf)(); -static int mememe = &A::foo - &A::bar; // { dg-warning "" } -pmf b = &A::foo-1; // { dg-warning "" } +static int mememe = &A::foo - &A::bar; // { dg-error "invalid operands" } +pmf b = &A::foo-1; // { dg-error "invalid operands" } int main() { double y; - y=X(Y-Z); // { dg-warning "" } + y=X(Y-Z); // { dg-error "pointer to a function" } } diff --git a/gcc/testsuite/g++.old-deja/g++.niklas/t141.C b/gcc/testsuite/g++.old-deja/g++.niklas/t141.C index c4bf966..08e1051 100644 --- a/gcc/testsuite/g++.old-deja/g++.niklas/t141.C +++ b/gcc/testsuite/g++.old-deja/g++.niklas/t141.C @@ -2,5 +2,5 @@ // { dg-options "-Wshadow" } // GROUPS passed niklas scoping ARM class X { X (int); }; -void X (int);// { dg-error "" } .*hides constructor.* +void X (int);// { dg-warning "hides constructor" } void f () { X (1); } diff --git a/gcc/testsuite/g++.old-deja/g++.other/cast6.C b/gcc/testsuite/g++.old-deja/g++.other/cast6.C index 4bf7adb..4bf90fa 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/cast6.C +++ b/gcc/testsuite/g++.old-deja/g++.other/cast6.C @@ -41,16 +41,16 @@ int main () { { foofPtr fp = &foo::b; - barfPtr bp = static_cast (fp); // { dg-error "" } invalid static_cast - foofPtr fp2 = static_cast (bp); // { dg-error "" } invalid static_cast - foofPtr fp3 = bp; // { dg-error "" } cannot convert - fp3 = (foofPtr)bp; // { dg-warning "" } via virtual base + barfPtr bp = static_cast (fp); // { dg-error "via virtual base" } invalid static_cast + foofPtr fp2 = static_cast (bp); // { dg-error "via virtual base" } invalid static_cast + foofPtr fp3 = bp; // { dg-error "via virtual base" } cannot convert + fp3 = (foofPtr)bp; // { dg-error "via virtual base" } via virtual base foomPtr fmp = &foo::m; - barmPtr bmp = static_cast (fmp); // { dg-error "" } invalid static_cast - foomPtr fmp2 = static_cast (bmp); // { dg-error "" } invalid static_cast - foomPtr fmp3 = bmp; // { dg-error "" } cannot convert - fmp3 = (foomPtr)bmp; // { dg-warning "" } via virtual base + barmPtr bmp = static_cast (fmp); // { dg-error "via virtual base" } invalid static_cast + foomPtr fmp2 = static_cast (bmp); // { dg-error "via virtual base" } invalid static_cast + foomPtr fmp3 = bmp; // { dg-error "via virtual base" } cannot convert + fmp3 = (foomPtr)bmp; // { dg-error "via virtual base" } via virtual base } return 0; diff --git a/gcc/testsuite/g++.old-deja/g++.other/cond5.C b/gcc/testsuite/g++.old-deja/g++.other/cond5.C index d5a5cca..994ea6d 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/cond5.C +++ b/gcc/testsuite/g++.old-deja/g++.other/cond5.C @@ -22,9 +22,9 @@ void fn(int i) double d; int j; - j = (i ? e1 : e2); // { dg-warning "" } mismatch - d = (i ? e1 : 1.0); // { dg-warning "" } mismatch - d = (i ? 1.0 : e2); // { dg-warning "" } mismatch + j = (i ? e1 : e2); // { dg-warning "mismatch" } + d = (i ? e1 : 1.0); // { dg-warning "non-enumeral" } + d = (i ? 1.0 : e2); // { dg-warning "non-enumeral" } E1 e = (i ? e1 : e1); // ok j = (i ? 1 : e2); // ok j = (i ? e1 : 1); // ok @@ -35,11 +35,11 @@ void fn(int i) (i ? throw X() : throw X()); // ok, void (i ? i : j) = 1; // ok, int & - (i ? throw X() : j) = 1; // { dg-error "" } non lvalue - (i ? j : throw X()) = 1; // { dg-error "" } non lvalue - (i ? throw X() : throw X()) = 1; // { dg-error "" } invalid use of void + (i ? throw X() : j) = 1; // { dg-error "lvalue" } + (i ? j : throw X()) = 1; // { dg-error "lvalue" } + (i ? throw X() : throw X()) = 1; // { dg-error "lvalue" } - (i ? (void)1 : i++); // { dg-warning "" } not a throw - (i ? i++ : (void)1); // { dg-warning "" } not a throw + (i ? (void)1 : i++); // { dg-error "throw-expression" } + (i ? i++ : (void)1); // { dg-error "throw-expression" } } diff --git a/gcc/testsuite/g++.old-deja/g++.other/conv8.C b/gcc/testsuite/g++.old-deja/g++.other/conv8.C index 4f2bd43..205ad43 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/conv8.C +++ b/gcc/testsuite/g++.old-deja/g++.other/conv8.C @@ -27,5 +27,5 @@ void foo::a() { typedef void(foo::*t)(); t c = & foo::b; - d = (T) c; // { dg-warning "" } pointer to member cast + d = (T) c; // { dg-error "pointer to member" } } diff --git a/gcc/testsuite/g++.old-deja/g++.other/decl5.C b/gcc/testsuite/g++.old-deja/g++.other/decl5.C index fccc18c..d13f7b1 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/decl5.C +++ b/gcc/testsuite/g++.old-deja/g++.other/decl5.C @@ -8,40 +8,41 @@ struct A { - int A::fn(); // { dg-warning "" } extra qualification - int A::m; // { dg-warning "" } extra qualification + int A::fn(); // { dg-error "extra qualification" } + int A::m; // { dg-error "extra qualification" } struct e; - struct A::e {int i;}; // { dg-warning "" } extra qualification - struct A::expand { // { dg-warning "" } extra qualification + struct A::e {int i;}; // { dg-error "extra qualification" "qual" } + // { dg-error "anonymous struct" "anon" { target *-*-* } 14 } + struct A::expand { // { dg-error "qualified name" } int m; }; struct Z; - expand me; // { dg-error "error: 'expand' does not name a type" } + expand me; // { dg-error "'expand' does not name a type" } void foo(struct A::e); - void foo(struct A::z); // { dg-warning "" } extra qualification + void foo(struct A::z); // { dg-error "does not name a type" } }; struct Q; struct B { - struct A::fink { // { dg-error "" } no such member + struct A::fink { // { dg-error "does not name a class before" } int m; }; - struct A::Z { // { dg-error "" } A::Z not a member of B + struct A::Z { // { dg-error "does not enclose" } A::Z not a member of B int m; }; int m; int n; - struct ::Q { // { dg-error "" } ::Q not a member of B + struct ::Q { // { dg-error "global qual" } ::Q not a member of B int m; }; - int A::fn() { // { dg-error "" } A::fn not a member of B + int A::fn() { // { dg-error "cannot define member" } A::fn not a member of B return 0; } void fn(struct ::Q &); - void foo(struct A::y); // { dg-error "" } no such member + void foo(struct A::y); // { dg-error "does not name a type" } no such member }; -struct ::C { // { dg-warning "" } extra qualification +struct ::C { // { dg-error "invalid before" } extra qualification int i; }; @@ -52,26 +53,26 @@ namespace N { namespace NMS { - void NMS::fn(); // { dg-warning "" "" } extra qualification - int NMS::i; // { dg-warning "" "" } extra qualification - struct NMS::D { // { dg-warning "" } extra qualification + void NMS::fn(); // { dg-error "explicit qual" } + int NMS::i; // { dg-error "explicit qual" } + struct NMS::D { // { dg-error "does not name a class" } int i; }; - struct N::E { // { dg-error "" } no such type + struct N::E { // { dg-error "does not name a class" } no such type int i; }; - struct ::F { // { dg-error "" } no such type + struct ::F { // { dg-error "global qual" } no such type int i; }; - int N::fn() { // { dg-error "" } N::fn not a member of NMS + int N::fn() { // { dg-error "namespace" } N::fn not a member of NMS return 0; } - struct N::F { // { dg-error "" } N::F not a member of NMS + struct N::F { // { dg-error "namespace" } N::F not a member of NMS int i; }; } -NMS::D thing; // { dg-error "error: 'D' in namespace 'NMS' does not name a type" } +NMS::D thing; // { dg-error "'D' in namespace 'NMS' does not name a type" } void NMS::fn() { i = 3; diff --git a/gcc/testsuite/g++.old-deja/g++.other/delete2.C b/gcc/testsuite/g++.old-deja/g++.other/delete2.C index 1c8312e..1d0554f 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/delete2.C +++ b/gcc/testsuite/g++.old-deja/g++.other/delete2.C @@ -8,6 +8,6 @@ void bar(foo a) { delete a; // should be accepted delete[] a; // should be accepted char b[1]; - delete b; // { dg-error "" } expecting pointer type - delete[] b; // { dg-error "" } expecting pointer type + delete b; // { dg-warning "deleting array" } expecting pointer type + delete[] b; // { dg-warning "deleting array" } expecting pointer type } diff --git a/gcc/testsuite/g++.old-deja/g++.other/delete4.C b/gcc/testsuite/g++.old-deja/g++.other/delete4.C index 0e8c831..0971eb9 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/delete4.C +++ b/gcc/testsuite/g++.old-deja/g++.other/delete4.C @@ -13,22 +13,22 @@ typedef __SIZE_TYPE__ size_t; void *operator new(size_t) { - return 0; // { dg-error "" } cannot return NULL + return 0; // { dg-warning "NULL" } cannot return NULL } void *operator new[](size_t) { - return 0; // { dg-error "" } cannot return NULL + return 0; // { dg-warning "NULL" } cannot return NULL } struct X { void *operator new(size_t) { - return 0; // { dg-error "" } cannot return NULL + return 0; // { dg-warning "NULL" } cannot return NULL } void *operator new[](size_t) { - return 0; // { dg-error "" } cannot return NULL + return 0; // { dg-warning "NULL" } cannot return NULL } }; diff --git a/gcc/testsuite/g++.old-deja/g++.other/linkage1.C b/gcc/testsuite/g++.old-deja/g++.other/linkage1.C index 5e8ee1b..e9b5a9d 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/linkage1.C +++ b/gcc/testsuite/g++.old-deja/g++.other/linkage1.C @@ -4,12 +4,12 @@ typedef struct { } *p; void f (p) { } // { dg-error "uses anonymous type" } -p q; // { dg-error "uses anonymous type" } +p q; // { dg-warning "uses anonymous type" } int main() { - extern p j; // { dg-error "uses anonymous type" } + extern p j; // { dg-warning "uses anonymous type" } struct A { int j; }; - extern A a; // { dg-error "uses local type" } + extern A a; // { dg-warning "uses local type" } extern void f (A); // { dg-error "uses local type" } } diff --git a/gcc/testsuite/g++.old-deja/g++.other/ptrmem8.C b/gcc/testsuite/g++.old-deja/g++.other/ptrmem8.C index 2e6adde..aff6ffa 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/ptrmem8.C +++ b/gcc/testsuite/g++.old-deja/g++.other/ptrmem8.C @@ -35,8 +35,8 @@ typedef int foo::*foomPtr; int main () { foofPtr fp = &foo::b; - barfPtr bp = (barfPtr)fp; // { dg-warning "" } pointer to member - foofPtr fp2 = (foofPtr)bp; // { dg-warning "" } pointer to member + barfPtr bp = (barfPtr)fp; // { dg-error "pointer to member" } + foofPtr fp2 = (foofPtr)bp; // { dg-error "pointer to member" } if (fp2 != fp) return 1; @@ -51,8 +51,8 @@ int main () fobj.m = 78; foomPtr fmp = &foo::m; - barmPtr bmp = (barmPtr)fmp; // { dg-warning "" } pointer to member - foomPtr fmp2 = (foomPtr)bmp; // { dg-warning "" } pointer to member + barmPtr bmp = (barmPtr)fmp; // { dg-error "pointer to member" } + foomPtr fmp2 = (foomPtr)bmp; // { dg-error "pointer to member" } bar *bptr = &fobj; if (fmp != fmp2) diff --git a/gcc/testsuite/g++.old-deja/g++.other/typename1.C b/gcc/testsuite/g++.old-deja/g++.other/typename1.C index 81e7571..43d1352 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/typename1.C +++ b/gcc/testsuite/g++.old-deja/g++.other/typename1.C @@ -13,5 +13,5 @@ public: template void f() { - Vector::iterator i = 0; // { dg-warning "" } missing typename + Vector::iterator i = 0; // { dg-error "expected" } missing typename } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename14.C b/gcc/testsuite/g++.old-deja/g++.pt/typename14.C index 3fc7ff5..2e39383 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/typename14.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/typename14.C @@ -10,6 +10,6 @@ template struct S : public B { struct I { - void f(X x); // { dg-warning "" } implicit typename + void f(X x); // { dg-error "'X' has not been declared" } implicit typename }; }; diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename4.C b/gcc/testsuite/g++.old-deja/g++.pt/typename4.C index 674cfb4..286795c 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/typename4.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/typename4.C @@ -17,10 +17,10 @@ struct B : public A template struct C : public B { - A_Type Func(); // { dg-warning "" } implicit typename + A_Type Func(); // { dg-error "does not name a type" } implicit typename }; template -C::A_Type C::Func() { // { dg-warning "" } implicit typename +C::A_Type C::Func() { // { dg-error "expected" } implicit typename } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename5.C b/gcc/testsuite/g++.old-deja/g++.pt/typename5.C index bb97158..bf3acc9 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/typename5.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/typename5.C @@ -17,10 +17,11 @@ struct B : public A template struct C : public B { - void Func(A_Type); // { dg-warning "" } implicit typename + void Func(A_Type); // { dg-error "has not been declared" } implicit typename }; template -void C::Func(A_Type) { // { dg-warning "" } implicit typename +void C::Func(A_Type) { // { dg-error "declared void" "void" } implicit typename +// { dg-error "not declared" "decl" { target *-*-* } 25 } } diff --git a/gcc/testsuite/g++.old-deja/g++.pt/typename7.C b/gcc/testsuite/g++.old-deja/g++.pt/typename7.C index e7f3790..9bdc4b2 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/typename7.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/typename7.C @@ -15,6 +15,8 @@ template struct D : public A > { void f () { - B* new_entries = (B *) 0; // { dg-warning "" } implicit typename + B* new_entries = (B *) 0; // { dg-error "'B' was not declared in this scope" "B" } + // { dg-error "'new_entries' was not declared in this scope" "new_entries" { target *-*-* } 18 } + // { dg-error "expected" "exp" { target *-*-* } 18 } } }; -- 2.7.4