auto27.C: Add comments to checks for multiple messages reported for one line of sourc...
authorJanis Johnson <janosjo@codesourcery.com>
Fri, 15 Jun 2012 18:03:34 +0000 (18:03 +0000)
committerJanis Johnson <janis@gcc.gnu.org>
Fri, 15 Jun 2012 18:03:34 +0000 (18:03 +0000)
* g++.dg/cpp0x/auto27.C: Add comments to checks for multiple
messages reported for one line of source code.
* g++.dg/cpp0x/constexpr-decl.C: Likewise.
* g++.dg/cpp0x/decltype2.C: Likewise.
* g++.dg/cpp0x/decltype3.C: Likewise.
* g++.dg/cpp0x/lambda/lambda-syntax1.C: Likewise.
* g++.dg/cpp0x/regress/error-recovery1.C: Likewise.
* g++.dg/cpp0x/static_assert3.C: Likewise.
* g++.dg/cpp0x/udlit-cpp98-neg.C: Likewise.
* g++.dg/cpp0x/udlit-shadow-neg.C: Likewise.
* g++.dg/cpp0x/union1.C: Likewise.
* g++.dg/cpp0x/variadic-ex10.C: Likewise.
* g++.dg/cpp0x/variadic-ex14.C: Likewise.
* g++.dg/cpp0x/variadic2.C: Likewise.
* g++.dg/cpp0x/variadic20.C: Likewise.
* g++.dg/cpp0x/variadic74.C: Likewise.
* g++.dg/diagnostic/bitfld2.C: Likewise.
* g++.dg/ext/attrib44.C: Likewise.
* g++.dg/ext/no-asm-1.C: Likewise.
* g++.dg/other/error34.C: Likewise.
* g++.dg/parse/crash46.C: Likewise.
* g++.dg/parse/error10.C: Likewise.
* g++.dg/parse/error2.C: Likewise.
* g++.dg/parse/error3.C: Likewise.
* g++.dg/parse/error36.C: Likewise.
* g++.dg/parse/error8.C: Likewise.
* g++.dg/parse/error9.C: Likewise.
* g++.dg/parse/parser-pr28152-2.C: Likewise.
* g++.dg/parse/parser-pr28152.C: Likewise.
* g++.dg/parse/template25.C: Likewise.
* g++.dg/parse/typename11.C: Likewise.
* g++.dg/tc1/dr147.C: Likewise.
* g++.dg/template/deduce3.C: Likewise.
* g++.dg/template/koenig9.C: Likewise.
* g++.dg/template/pr23510.C: Likewise.
* g++.dg/warn/pr12242.C: Likewise.
* g++.dg/warn/pr30551-2.C: Likewise.
* g++.dg/warn/pr30551.C: Likewise.
* g++.old-deja/g++.other/typename1.C: Likewise.
* g++.old-deja/g++.pt/niklas01a.C: Likewise.

From-SVN: r188677

40 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/auto27.C
gcc/testsuite/g++.dg/cpp0x/constexpr-decl.C
gcc/testsuite/g++.dg/cpp0x/decltype2.C
gcc/testsuite/g++.dg/cpp0x/decltype3.C
gcc/testsuite/g++.dg/cpp0x/lambda/lambda-syntax1.C
gcc/testsuite/g++.dg/cpp0x/regress/error-recovery1.C
gcc/testsuite/g++.dg/cpp0x/static_assert3.C
gcc/testsuite/g++.dg/cpp0x/udlit-cpp98-neg.C
gcc/testsuite/g++.dg/cpp0x/udlit-shadow-neg.C
gcc/testsuite/g++.dg/cpp0x/union1.C
gcc/testsuite/g++.dg/cpp0x/variadic-ex10.C
gcc/testsuite/g++.dg/cpp0x/variadic-ex14.C
gcc/testsuite/g++.dg/cpp0x/variadic2.C
gcc/testsuite/g++.dg/cpp0x/variadic20.C
gcc/testsuite/g++.dg/cpp0x/variadic74.C
gcc/testsuite/g++.dg/diagnostic/bitfld2.C
gcc/testsuite/g++.dg/ext/attrib44.C
gcc/testsuite/g++.dg/ext/no-asm-1.C
gcc/testsuite/g++.dg/other/error34.C
gcc/testsuite/g++.dg/parse/crash46.C
gcc/testsuite/g++.dg/parse/error10.C
gcc/testsuite/g++.dg/parse/error2.C
gcc/testsuite/g++.dg/parse/error3.C
gcc/testsuite/g++.dg/parse/error36.C
gcc/testsuite/g++.dg/parse/error8.C
gcc/testsuite/g++.dg/parse/error9.C
gcc/testsuite/g++.dg/parse/parser-pr28152-2.C
gcc/testsuite/g++.dg/parse/parser-pr28152.C
gcc/testsuite/g++.dg/parse/template25.C
gcc/testsuite/g++.dg/parse/typename11.C
gcc/testsuite/g++.dg/tc1/dr147.C
gcc/testsuite/g++.dg/template/deduce3.C
gcc/testsuite/g++.dg/template/koenig9.C
gcc/testsuite/g++.dg/template/pr23510.C
gcc/testsuite/g++.dg/warn/pr12242.C
gcc/testsuite/g++.dg/warn/pr30551-2.C
gcc/testsuite/g++.dg/warn/pr30551.C
gcc/testsuite/g++.old-deja/g++.other/typename1.C
gcc/testsuite/g++.old-deja/g++.pt/niklas01a.C

index a81b00121cee87eb36a1dd4dfe2d9538f25fe005..7679c27913f918957afde35084accca74100f700 100644 (file)
@@ -1,3 +1,46 @@
+2012-06-15  Janis Johnson  <janosjo@codesourcery.com>
+
+       * g++.dg/cpp0x/auto27.C: Add comments to checks for multiple
+       messages reported for one line of source code.
+       * g++.dg/cpp0x/constexpr-decl.C: Likewise.
+       * g++.dg/cpp0x/decltype2.C: Likewise.
+       * g++.dg/cpp0x/decltype3.C: Likewise.
+       * g++.dg/cpp0x/lambda/lambda-syntax1.C: Likewise.
+       * g++.dg/cpp0x/regress/error-recovery1.C: Likewise.
+       * g++.dg/cpp0x/static_assert3.C: Likewise.
+       * g++.dg/cpp0x/udlit-cpp98-neg.C: Likewise.
+       * g++.dg/cpp0x/udlit-shadow-neg.C: Likewise.
+       * g++.dg/cpp0x/union1.C: Likewise.
+       * g++.dg/cpp0x/variadic-ex10.C: Likewise.
+       * g++.dg/cpp0x/variadic-ex14.C: Likewise.
+       * g++.dg/cpp0x/variadic2.C: Likewise.
+       * g++.dg/cpp0x/variadic20.C: Likewise.
+       * g++.dg/cpp0x/variadic74.C: Likewise.
+       * g++.dg/diagnostic/bitfld2.C: Likewise.
+       * g++.dg/ext/attrib44.C: Likewise.
+       * g++.dg/ext/no-asm-1.C: Likewise.
+       * g++.dg/other/error34.C: Likewise.
+       * g++.dg/parse/crash46.C: Likewise.
+       * g++.dg/parse/error10.C: Likewise.
+       * g++.dg/parse/error2.C: Likewise.
+       * g++.dg/parse/error3.C: Likewise.
+       * g++.dg/parse/error36.C: Likewise.
+       * g++.dg/parse/error8.C: Likewise.
+       * g++.dg/parse/error9.C: Likewise.
+       * g++.dg/parse/parser-pr28152-2.C: Likewise.
+       * g++.dg/parse/parser-pr28152.C: Likewise.
+       * g++.dg/parse/template25.C: Likewise.
+       * g++.dg/parse/typename11.C: Likewise.
+       * g++.dg/tc1/dr147.C: Likewise.
+       * g++.dg/template/deduce3.C: Likewise.
+       * g++.dg/template/koenig9.C: Likewise.
+       * g++.dg/template/pr23510.C: Likewise.
+       * g++.dg/warn/pr12242.C: Likewise.
+       * g++.dg/warn/pr30551-2.C: Likewise.
+       * g++.dg/warn/pr30551.C: Likewise.
+       * g++.old-deja/g++.other/typename1.C: Likewise.
+       * g++.old-deja/g++.pt/niklas01a.C: Likewise.
+
 2012-06-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
 
        PR c++/51033
index c1041df54b0ad22b4c6ec6bd11f9d700ef286447..1921763607ac27bbf764ac7dbc9f85db2495dca4 100644 (file)
@@ -1,6 +1,6 @@
 // PR c++/51186
 
-auto main()->int              // { dg-error "std=" "" { target c++98 } }
-                              // { dg-error "auto" "" { target c++98 } 3 }
-                              // { dg-error "no type" "" { target c++98 } 3 }
+auto main()->int              // { dg-error "std=" "std" { target c++98 } }
+                              // { dg-error "auto" "auto" { target c++98 } 3 }
+                              // { dg-error "no type" "no type" { target c++98 } 3 }
 { }
index 0a3fcb6562337bf30366ebcf3d07f7cfa4cdc00b..8c46fab33341e2af587f450cedcd687de999fe5a 100644 (file)
@@ -2,8 +2,8 @@
 // { dg-options -std=c++0x }
 
 struct S {
-  static constexpr int size;   // { dg-error "must have an initializer" }
-  // { dg-error "previous declaration" "" { target *-*-* } 5 }
+  static constexpr int size;   // { dg-error "must have an initializer" "must have" }
+  // { dg-error "previous declaration" "previous" { target *-*-* } 5 }
 };
 
 const int limit = 2 * S::size;
index 186d75b7250fa65e14377fa52a4c493fe14de310..e0c5900304705cdcd7f67ddd0d89e0b7b64018c2 100644 (file)
@@ -45,8 +45,8 @@ int bar(char);
 int bar(int); 
 CHECK_DECLTYPE(decltype(foo), int(char));
 
-decltype(bar) z; // { dg-error "overload" }
-// { dg-error "invalid type" "" { target *-*-* } 48 }
+decltype(bar) z; // { dg-error "overload" "overload" }
+// { dg-error "invalid type" "invalid" { target *-*-* } 48 }
 
 CHECK_DECLTYPE(decltype(&foo), int(*)(char));
 CHECK_DECLTYPE(decltype(*&foo), int(&)(char));
index aeacfae091c2064537971dec2a2a261986739ea3..b44dd17c8eadde914730f6bb61c995681be172e4 100644 (file)
@@ -55,8 +55,8 @@ public:
 }; 
 
 CHECK_DECLTYPE(decltype(aa.*&A::a), int&);
-decltype(aa.*&A::b) zz; // { dg-error "cannot create pointer to reference member" }
-// { dg-error "invalid type" "" { target *-*-* } 58 }
+decltype(aa.*&A::b) zz; // { dg-error "cannot create pointer to reference member" "cannot" }
+// { dg-error "invalid type" "invalid type" { target *-*-* } 58 }
 CHECK_DECLTYPE(decltype(caa.*&A::a), const int&);
 
 class X { 
index f350133ac6dfe1de47abb1c0ae20ae73252e624a..b3b749c2a5187afbff00763e9d0818b668f33922 100644 (file)
@@ -1,5 +1,5 @@
 // PR c++/46124
 // { dg-options -std=c++0x }
 
-void foo() { [] () -> void (); } // { dg-error "returning a function" }
-// { dg-error "expected .\{" "" { target *-*-* } 4 }
+void foo() { [] () -> void (); } // { dg-error "returning a function" "returning" }
+// { dg-error "expected .\{" "expected" { target *-*-* } 4 }
index 9942c58ab1c20519a74193dad63f400f6fe4e272..cdf99408473e935131547e23cbec6c62bc9647b8 100644 (file)
@@ -5,7 +5,7 @@ template < bool > void
 foo ()
 {
   const bool b =;              // { dg-error "" }
-  foo < b > ();                        // { dg-error "constant expression" }
+  foo < b > ();                        // { dg-error "constant expression" "const expr" }
 };
 
-// { dg-error "no match" "" { target *-*-* } 8 }
+// { dg-error "no match" "no match" { target *-*-* } 8 }
index 1ff2ffc94f7096e9696e8ade6a4f24f8806b8258..0a4cbc98aff9bc3ea54c30e74d75423ec7a35023 100644 (file)
@@ -1,4 +1,4 @@
 // { dg-options "-std=c++0x" }
-static_assert(7 / 0, "X"); // { dg-error "non-constant condition" }
-// { dg-warning "division by zero" "" { target *-*-* } 2 }
-// { dg-error "7 / 0.. is not a constant expression" "" { target *-*-* } 2 }
+static_assert(7 / 0, "X"); // { dg-error "non-constant condition" "non-constant" }
+// { dg-warning "division by zero" "zero" { target *-*-* } 2 }
+// { dg-error "7 / 0.. is not a constant expression" "not a constant" { target *-*-* } 2 }
index cb78a2c9c3e3c80e6c9e4b34d9b037803e1b3028..cb4c359658cdeb9e336e30e8050ffbc430e8efb1 100644 (file)
@@ -12,6 +12,6 @@ int
 operator"" _Q(const char *, std::size_t)       // { dg-warning "user-defined literals only available with" }
 { return 42; }
 
-int x = "Hello"_Q;     // { dg-error "invalid conversion from" }
+int x = "Hello"_Q;     // { dg-error "invalid conversion from" "invalid" }
 
-// { dg-error "expected" "" { target *-*-* } 15 }
+// { dg-error "expected" "expected" { target *-*-* } 15 }
index 6d38252ff2a25a4241bfd2df6d6e7222b678f1ac..994d58c1a0b6518c68c74effec985f0574e22a4a 100644 (file)
@@ -39,11 +39,11 @@ operator"" ull(unsigned long long int k)  // { dg-warning "integer suffix|shadow
 
 }
 
-// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "" { target *-*-* } 5 }
-// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "" { target *-*-* } 9 }
-// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "" { target *-*-* } 13 }
-// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "" { target *-*-* } 17 }
-// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "" { target *-*-* } 25 }
-// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "" { target *-*-* } 29 }
-// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "" { target *-*-* } 33 }
-// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "" { target *-*-* } 37 }
+// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 5 }
+// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 9 }
+// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 13 }
+// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 17 }
+// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 25 }
+// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 29 }
+// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 33 }
+// { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 37 }
index 291853d5aaeb6c86385480711f3ed397ad9707aa..cb0f01719c9e1619b9d679b302c9043dbf7c42eb 100644 (file)
@@ -14,8 +14,8 @@ union B
   A a;                         // { dg-error "union member" }
 };
 
-B b;                           // { dg-error "B::B\\(\\)" }
-B b2(b);                       // { dg-error "B::B\\(const B&\\)" }
+B b;                           // { dg-error "B::B\\(\\)" "B::B" }
+B b2(b);                       // { dg-error "B::B\\(const B&\\)" "B::B" }
 
 struct C
 {
@@ -25,10 +25,10 @@ struct C
   };
 };
 
-C c;                           // { dg-error "C::C\\(\\)" }
-C c2(c);                       // { dg-error "C::C\\(const C&\\)" }
+C c;                           // { dg-error "C::C\\(\\)" "C::C" }
+C c2(c);                       // { dg-error "C::C\\(const C&\\)" "C::C" }
 
-// { dg-error "B::~B" "" { target *-*-* } 17 }
-// { dg-error "B::~B" "" { target *-*-* } 18 }
-// { dg-error "C::~C" "" { target *-*-* } 28 }
-// { dg-error "C::~C" "" { target *-*-* } 29 }
+// { dg-error "B::~B" "B::~B" { target *-*-* } 17 }
+// { dg-error "B::~B" "B::~B" { target *-*-* } 18 }
+// { dg-error "C::~C" "C::~C" { target *-*-* } 28 }
+// { dg-error "C::~C" "C::~C" { target *-*-* } 29 }
index a392bd7d43f2558650c975f48515d423b43705b1..e8b6b7221489886879cecbb3cfa3a5de6bc62f71 100644 (file)
@@ -4,6 +4,6 @@ template<typename... Types> struct Tuple { };
 Tuple<> t0; // Types contains no arguments
 Tuple<int> t1; // Types contains one argument: int
 Tuple<int, float> t2; // Types contains two arguments: int and float
-Tuple<0> error; // { dg-error "mismatch" }
-// { dg-error "expected a type" "" { target *-*-* } 7 }
-// { dg-error "in declaration" "" { target *-*-* } 7 }
+Tuple<0> error; // { dg-error "mismatch" "mismatch" }
+// { dg-error "expected a type" "expected a type" { target *-*-* } 7 }
+// { dg-error "in declaration" "in declaration" { target *-*-* } 7 }
index f33ca0e8618ae8ff4621c4a3e2ec41a77278249c..105096a78bf35e3289c42ee1b8962841484d493f 100644 (file)
@@ -8,12 +8,12 @@ template<template<class> class P> class X { /* ... */ };
 template<template<class...> class Q> class Y { /* ... */ };
 
 X<A> xA; // okay
-X<B> xB; // { dg-error "mismatch" }
-// { dg-error "expected a template" "" { target *-*-* } 11 }
-// { dg-error "invalid type" "" { target *-*-* } 11 }
-X<C> xC; // { dg-error "mismatch" }
-// { dg-error "expected a template" "" { target *-*-* } 14 }
-// { dg-error "invalid type" "" { target *-*-* } 14 }
+X<B> xB; // { dg-error "mismatch" "mismatch" }
+// { dg-error "expected a template" "expected" { target *-*-* } 11 }
+// { dg-error "invalid type" "invalid" { target *-*-* } 11 }
+X<C> xC; // { dg-error "mismatch" "mismatch" }
+// { dg-error "expected a template" "expected" { target *-*-* } 14 }
+// { dg-error "invalid type" "invalid" { target *-*-* } 14 }
 Y<A> yA;
 Y<B> yB;
 Y<C> yC; // okay
index d62a54245e4d912c2a801d5e10bbfd9921cd6a42..207a80648f3b5c9e01d0dc001a2cfd2b8a45a3b7 100644 (file)
@@ -8,8 +8,8 @@ class tuple3;
 template<typename T1, typename T2, typename... Rest>
 struct two_or_more {}; // { dg-error "provided for" }
 
-typedef two_or_more<int> bad; // { dg-error "2 or more" }
-// { dg-error "invalid type" "" { target *-*-* } 11 }
+typedef two_or_more<int> bad; // { dg-error "2 or more" "2 or more" }
+// { dg-error "invalid type" "invalid type" { target *-*-* } 11 }
 
 void f()
 {
index 7f2446e5585ae0c3d9b98ca3829e7946d6d3fc37..bfb42bea09cea509efcd333f847fde148f4ede05 100644 (file)
@@ -37,11 +37,11 @@ struct metatuple<First, Second, Metafunctions...> { // { dg-error "struct" }
 
 int a0[metatuple<>::value == 0? 1 : -1];
 int a1[metatuple<add_pointer>::value == 1? 1 : -1];
-int a2a[metatuple<add_pointer, add_pointer>::value == 2? 1 : -1]; // { dg-error "ambiguous|array bound" }
+int a2a[metatuple<add_pointer, add_pointer>::value == 2? 1 : -1]; // { dg-error "ambiguous|array bound" "bound" }
 int a2b[metatuple<add_reference, add_reference>::value == 2? 1 : -1];
-int a3[metatuple<add_pointer, add_reference>::value == 3? 1 : -1]; // { dg-error "ambiguous|array bound" }
+int a3[metatuple<add_pointer, add_reference>::value == 3? 1 : -1]; // { dg-error "ambiguous|array bound" "bound" }
 int a4[metatuple<add_reference>::value == 4? 1 : -1];
 int a5[metatuple<add_reference, add_pointer>::value == 5? 1 : -1];
 
-// { dg-error "incomplete" "" { target *-*-* } 40 }
-// { dg-error "incomplete" "" { target *-*-* } 42 }
+// { dg-error "incomplete" "incomplete" { target *-*-* } 40 }
+// { dg-error "incomplete" "incomplete" { target *-*-* } 42 }
index 5b502b974ccb19ec6e053a21a67579ec5d11d34d..312fe9d7040ed4bd85ebea33d6f5164190c6ba01 100644 (file)
@@ -19,8 +19,8 @@ float f;
 A<int*, float*>::X<&i, &f> apple1;
 B<int, float>::X<&i, &f> banana1;
 
-A<int*, float*>::X<&i> apple2; // { dg-error "wrong number of template arguments" }
-// { dg-error "invalid type" "" { target *-*-* } 22 }
-A<int*, float*>::X<&i, &f, &f> apple3; // { dg-error "wrong number of template arguments" }
-// { dg-error "invalid type" "" { target *-*-* } 24 }
+A<int*, float*>::X<&i> apple2; // { dg-error "wrong number of template arguments" "wrong number" }
+// { dg-error "invalid type" "invalid" { target *-*-* } 22 }
+A<int*, float*>::X<&i, &f, &f> apple3; // { dg-error "wrong number of template arguments" "wrong number" }
+// { dg-error "invalid type" "invalid" { target *-*-* } 24 }
 A<int, float> apple4;
index 10b7d9cea501f3773287af9a213b5a681d5c1d8b..46d5ee2ab784fb17c4ab446f3b426224609ff89e 100644 (file)
@@ -3,7 +3,7 @@
 
 template<int> struct A
 {
-  struct {} : 2;   // { dg-error "expected ';' after struct" }
+  struct {} : 2;   // { dg-error "expected ';' after struct" "expected" }
 };
-// { dg-error "ISO C.. forbids declaration" "" { target *-*-* } 6 }
-// { dg-error "ISO C.. prohibits anonymous" "" { target *-*-* } 6 }
+// { dg-error "ISO C.. forbids declaration" "declaration" { target *-*-* } 6 }
+// { dg-error "ISO C.. prohibits anonymous" "anonymous" { target *-*-* } 6 }
index ae08191d8ff1cbce9d199c543fa3f4cf30ed03e8..cb83653f30da7a8cfb151361ba32686e28d06969 100644 (file)
@@ -1,4 +1,4 @@
 // PR c++/52671
 // { dg-do compile }
-__attribute__ ((deprecated)) enum E { E0 };    // { dg-warning "attribute ignored in declaration of" }
-// { dg-message "must follow the" "" { target *-*-* } 3 }
+__attribute__ ((deprecated)) enum E { E0 };    // { dg-warning "attribute ignored in declaration of" "ignored" }
+// { dg-message "must follow the" "must follow" { target *-*-* } 3 }
index 6c4c20439591660d14b0b7e5e17f6fbcd419be22..e41ebbefcd84baf32c872fa6b3ded038541a79d5 100644 (file)
@@ -5,6 +5,6 @@
 // keywords.
 
 int asm;       // { dg-error "before .asm." }
-int typeof;    // { dg-error "expected" }
-// { dg-error "multiple types" "" { target *-*-* } 8 }
-// { dg-error "declaration" "" { target *-*-* } 8 }
+int typeof;    // { dg-error "expected" "expected" }
+// { dg-error "multiple types" "multiple" { target *-*-* } 8 }
+// { dg-error "declaration" "declaration" { target *-*-* } 8 }
index 10a782d387d5737f4b41d738e0dd1fd430b44f8a..d6f3eb590ea2728f6cbab0165f001a73c58d6f59 100644 (file)
@@ -2,5 +2,5 @@
 // { dg-do compile }
 // { dg-options "" }
 
-S () : str(__PRETTY_FUNCTION__) {}     // { dg-error "forbids declaration" }
-// { dg-error "only constructors" "" { target *-*-* } 5 }
+S () : str(__PRETTY_FUNCTION__) {}     // { dg-error "forbids declaration" "decl" }
+// { dg-error "only constructors" "constructor" { target *-*-* } 5 }
index f454a0a192cfee59ac62010464d757a2698490c6..0ae22480fde9a59357481f3def6bdd114b5e2942 100644 (file)
@@ -2,17 +2,17 @@
 // { dg-do compile }
 
 void
-foo (_Decimal32)       // { dg-error "declared void" }
+foo (_Decimal32)       // { dg-error "declared void" "declared" }
 {
 }
-                       // { dg-error "was not declared" "" { target *-*-* } 5 }
+                       // { dg-error "was not declared" "not" { target *-*-* } 5 }
 void
-bar (_Bool)            // { dg-error "declared void" }
+bar (_Bool)            // { dg-error "declared void" "declared" }
 {
 }
-                       // { dg-error "was not declared" "" { target *-*-* } 10 }
+                       // { dg-error "was not declared" "not" { target *-*-* } 10 }
 void
-baz (_Fract)           // { dg-error "declared void" }
+baz (_Fract)           // { dg-error "declared void" "declared" }
 {
 }
-                       // { dg-error "was not declared" "" { target *-*-* } 15 }
+                       // { dg-error "was not declared" "not" { target *-*-* } 15 }
index 8301172adbeabc98a0708f02e54d4a7256519f2b..c2cd7e26bad8d5ef1d7b84d842fa9dad8e0f7441 100644 (file)
@@ -15,5 +15,5 @@ template <typename T> void foo()
 }
 
 // Here, columns nums are not very accurate either. Still acceptable though
-// { 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 }
+// { dg-error "30:invalid type in declaration before ';' token" "invalid" { target *-*-* } 14 }
+// { dg-error "30:two or more data types in declaration of 'e4'" "2 or more" { target *-*-* } 14 }
index 7b08df4546685f9ea4335a6ca5b7956ab79d9304..713957a319dbd90f079645f5eabf613da448019a 100644 (file)
@@ -8,8 +8,8 @@ int func(double);
 template <int>
 struct Foo {};
 
-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 }
+Foo<func(g)> f; // { dg-error "5:'int func.double.' cannot appear in a constant-expression" "func double" { target *-*-* } 11 }
+// { dg-error "10:'g' cannot appear in a constant-expression" "g" { target *-*-* } 11 }
+// { dg-error "11:a function call cannot appear in a constant-expression" "call" { target *-*-* } 11 }
+// { dg-error "12:template argument 1 is invalid" "invalid template argument" { target *-*-* } 11 }
+// { dg-error "15:invalid type in declaration before ';' token" "invalid type" { target *-*-* } 11 }
index 7e8cf8de000f8c1e4836cd69e177dd7a341cc779..58739934156f20e65a94acbc30045886313a8032 100644 (file)
@@ -5,5 +5,5 @@ static void InstantiateConstraint(const float&, unsigned,
                                   void(*AddFunction)(const TYPE&,bool&,
                                                      char*, char*,
                                                      unsigned*));
-// { dg-error "64: ISO C\\+\\+ forbids declaration of 'parameter' with no type" "" { target *-*-* }  { 5 } }
-// { dg-error "60: 'TYPE' does not name a type" "" { target *-*-* } { 5 } }
+// { dg-error "64: ISO C\\+\\+ forbids declaration of 'parameter' with no type" "forbids" { target *-*-* }  { 5 } }
+// { dg-error "60: 'TYPE' does not name a type" "does not" { target *-*-* } { 5 } }
index 8fcaa2fb232b156916fd7ebf2f2c4026f1c166c5..a99ad299d39c35d68a5e3c34fbe4622fa8947879 100644 (file)
@@ -11,22 +11,22 @@ template <class T>
 void f(T t)
 {
   typedef A<T>::foo type;      // { dg-error "typename" }
-  A<T>::bar b;                 // { dg-error "typename" }
-} // { dg-error "expected ';'" "" { target *-*-* } 14 }
+  A<T>::bar b;                 // { dg-error "typename" "typename" }
+} // { dg-error "expected ';'" "expected" { target *-*-* } 14 }
 
 // PR c++/36353
 template <class T> struct B
 {
   void f()
   {
-    A<T>::baz z;               // { dg-error "typename" }
-  } // { dg-error "expected ';'" "" { target *-*-* } 22 }
+    A<T>::baz z;               // { dg-error "typename" "typename" }
+  } // { dg-error "expected ';'" "expected" { target *-*-* } 22 }
 };
 
 // PR c++/40738
 template <class T>
-void g(const A<T>::type &t);   // { dg-error "typename" }
-// { dg-error "no type" "" { target *-*-* } 28 }
+void g(const A<T>::type &t);   // { dg-error "typename" "typename" }
+// { dg-error "no type" "no type" { target *-*-* } 28 }
 
 // PR c++/18451
 template <class T> A<T>::B A<T>::b; // { dg-error "typename" }
index 6d3bf5a856ad1296db8faa8c2ce1be6f87b2ba77..61e42e0299a752e3f3f5dd0bda3d1a206601c75b 100644 (file)
@@ -4,6 +4,6 @@
 struct A { friend typename struct B; };
 
 
-// { 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 }
+// { dg-error "28:expected nested-name-specifier before 'struct'" "expected" { target *-*-* } 4 }
+// { dg-error "35:multiple types in one declaration" "multiple" { target *-*-* } 4 }
+// { dg-error "12:friend declaration does not name a class or function" "friend decl" { target *-*-* } 4 }
index b16c84e81ffdacd105fec6ca3ee957b620ff5012..3426c694000b52da47aead96359eba8edf3de8e7 100644 (file)
@@ -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: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 }
+// { dg-error "28:name 'FOO' used in a GNU-style designated initializer for an array" "FOO" { target *-*-* } 5 }
+// { dg-error "28:name 'BAR' used in a GNU-style designated initializer for an array" "BAR" { target *-*-* } 5 }
index bcccb94a0cf38e138e3ba7bda8624524a26089c0..a5bbb9288c5483b93e6677ad56b6c6120984d508 100644 (file)
@@ -6,8 +6,8 @@ main (void)
 {
   __complex__ float z;
 
-  z = __complex__ (1.90000007326203904e+19, 0.0);   // { dg-error "expected primary-expression before '__complex__'" } 
-  // { dg-error "expected .;. before .__complex__." "" { target *-*-* } 9 } 
-  z = __complex__ (1.0e+0, 0.0) / z;    // { dg-error "expected primary-expression before '__complex__'" } 
-  // { dg-error "expected .;. before '__complex__'" "" { target *-*-* } 11 } 
-  // { dg-error "at end of input" "" { target *-*-* } 11 } 
+  z = __complex__ (1.90000007326203904e+19, 0.0);   // { dg-error "expected primary-expression before '__complex__'" "primary-expression" 
+  // { dg-error "expected .;. before .__complex__." "semicolon" { target *-*-* } 9 } 
+  z = __complex__ (1.0e+0, 0.0) / z;    // { dg-error "expected primary-expression before '__complex__'" "primaty-expression" 
+  // { dg-error "expected .;. before '__complex__'" "semicolon" { target *-*-* } 11 } 
+  // { dg-error "at end of input" "end" { target *-*-* } 11 } 
index 5b3a25e18c978145606c4b4d6e3a18649552a420..4a7c77e45ac32b511162ecee4645aa166df8b176 100644 (file)
@@ -6,8 +6,8 @@ main (void)
 {
   _Complex float z;
 
-  z = _Complex (1.90000007326203904e+19, 0.0);   // { dg-error "expected primary-expression before '_Complex'" } 
-  // { dg-error "expected .;. before ._Complex." "" { target *-*-* } 9 } 
-  z = _Complex (1.0e+0, 0.0) / z;    // { dg-error "expected primary-expression before '_Complex'" } 
-  // { dg-error "expected .;. before '_Complex'" "" { target *-*-* } 11 } 
-  // { dg-error "at end of input" "" { target *-*-* } 11 } 
+  z = _Complex (1.90000007326203904e+19, 0.0);   // { dg-error "expected primary-expression before '_Complex'" "primary-expression" 
+  // { dg-error "expected .;. before ._Complex." "semicolon" { target *-*-* } 9 } 
+  z = _Complex (1.0e+0, 0.0) / z;    // { dg-error "expected primary-expression before '_Complex'" "primary-expression" 
+  // { dg-error "expected .;. before '_Complex'" "semicolon" { target *-*-* } 11 } 
+  // { dg-error "at end of input" "end" { target *-*-* } 11 } 
index 8ffcd121e1850a0b287a6edf500c59cbc05bba73..0da3887c3a4aefee22552d6f5f7c0026d63506da 100644 (file)
@@ -9,6 +9,6 @@ void f(void)
 
 void g(void)
 {
-  template f<int>(); /* { dg-error "expected primary-expression" } */
-  /* { dg-error "expected ';'" "" { target *-*-* } 12 } */
+  template f<int>(); /* { dg-error "expected primary-expression" "primary-expression" } */
+  /* { dg-error "expected ';'" "semicolon" { target *-*-* } 12 } */
 }
index a79e6d88708e7b4728b8d8acae8f3ce340072e41..bbaaec72bccd865f1a2b4f9d06b066896bed3446 100644 (file)
@@ -10,7 +10,7 @@ template <int dim> struct Y : X<dim> {
 
 // note: I is nested type in X, not Y!
 template <int dim>
-Y<dim>::I::I () {}             // { dg-error "dependent typedef" }
-// { dg-error "no type|dependent type" "" { target *-*-* } 13 }
+Y<dim>::I::I () {}             // { dg-error "dependent typedef" "typedef" }
+// { dg-error "no type|dependent type" "no type" { target *-*-* } 13 }
 
 template struct Y<1>;
index 6799b7dccad0c17376e9f2b1ba264ee0d6d3b61a..0fb97e8ab7d367b1e9e5bc510bd95bdbf4010199 100644 (file)
@@ -20,8 +20,8 @@ void A::f()
 
 void f()
 {
-  A::A a; // { dg-error "constructor" }
-} // { dg-error "" "" { target *-*-* } 23 } error cascade
+  A::A a; // { dg-error "constructor" "constructor" }
+} // { dg-error "" "error cascade" { target *-*-* } 23 } error cascade
 }
 
 namespace N2 {
index c5d6e00daf70cf24c8516e302ea3577179ea98b7..72c7e207a638945ecd76925ba316caee66221414 100644 (file)
@@ -1,11 +1,11 @@
 template <typename T>
-void f(int, T (*)() = 0);      // { dg-message "note" }
+void f(int, T (*)() = 0);      // { dg-message "note" "note" }
 
 void g() {
   typedef int A[2];
   f<A>(0); // { dg-error "" }
-  // { dg-error "returning an array" "candidate explanation" { target *-*-* } 2 }
+  // { dg-error "returning an array" "returning an array" { target *-*-* } 2 }
   typedef void F();
   f<F>(0); // { dg-error "" }
-  // { dg-error "returning a function" "candidate explanation" { target *-*-* } 2 }
+  // { dg-error "returning a function" "returning a function" { target *-*-* } 2 }
 }
index ae74a47e50ab5ccb09ed1fbc105ad35c6c641729..f2cf9ed9978ad00b315e51d4444c0cf2b389d0c0 100644 (file)
@@ -16,8 +16,8 @@ struct A
 
 template <class T> struct B: A<T>
 {
-  void f() { h(T()); }         // { dg-error "argument-dependent" }
-  static void g() { h(T()); }  // { dg-error "argument-dependent" }
+  void f() { h(T()); }         // { dg-error "argument-dependent" "arg-dep" }
+  static void g() { h(T()); }  // { dg-error "argument-dependent" "arg-dep" }
 };
 
 int main()
@@ -27,7 +27,7 @@ int main()
   b.g();
 }
 
-// { dg-message "dependent base .A.int" "" { target *-*-* } 19 }
-// { dg-message "this->h" "" { target *-*-* } 19 }
-// { dg-message "dependent base .A.int" "" { target *-*-* } 20 }
-// { dg-message "B::h" "" { target *-*-* } 20 }
+// { dg-message "dependent base .A.int" "base" { target *-*-* } 19 }
+// { dg-message "this->h" "this->h" { target *-*-* } 19 }
+// { dg-message "dependent base .A.int" "base" { target *-*-* } 20 }
+// { dg-message "B::h" "B::h" { target *-*-* } 20 }
index 86310d33b290db124aec741de8d7498ae4179e06..7163e30ba2363e290bb6d78df92cf8896504ef2c 100644 (file)
@@ -3,9 +3,9 @@
 template<unsigned int nFactor>
 struct Factorial
 {
-  enum { nValue = nFactor * Factorial<nFactor - 1>::nValue }; // { dg-error "depth exceeds maximum" } 
-  // { dg-message "recursively required" "" { target *-*-* } 6 }
-  // { dg-error "incomplete type" "" { target *-*-* } 6 } 
+  enum { nValue = nFactor * Factorial<nFactor - 1>::nValue }; // { dg-error "depth exceeds maximum" "exceeds" 
+  // { dg-message "recursively required" "recurse" { target *-*-* } 6 }
+  // { dg-error "incomplete type" "incomplete" { target *-*-* } 6 } 
 } // { dg-error "expected ';' after" }
 
   template<>
index e858c5405dcbae2d48ca01fb8a598266392608a0..a2f81f87a6245050e642cdecb3c01c6576455f76 100644 (file)
@@ -10,8 +10,8 @@ void example ()
   X x;
   Y y;
   
-  x = 10;  // { dg-warning "invalid conversion from .int. to .X." }
-           // { dg-warning "unspecified" "" { target *-*-* } 13 }
+  x = 10;  // { dg-warning "invalid conversion from .int. to .X." "invalid" }
+           // { dg-warning "unspecified" "unspecified" { target *-*-* } 13 }
   x = 1;   // { dg-warning "invalid conversion from .int. to .X." }
   x = C;   // { dg-error "cannot convert .Y. to .X. in assignment" }  
   x = D;   // { dg-error "cannot convert .Y. to .X. in assignment" }  
index 8334746a575d1337cb0227cf173d212549444f9f..fe85c4ff4b4601bcfece426cc5e9fd9bf315f828 100644 (file)
@@ -2,5 +2,5 @@
 // { dg-do compile }
 // { dg-options "-pedantic-errors" }
 // { dg-skip-if "-Wmain not enabled with -pedantic on SPU" { spu-*-* } } 
-int main(char a) {} /* { dg-error "first argument of .*main.* should be .int." } */
-/* { dg-error "main.* takes only zero or two arguments" "" { target *-*-* } 5 } */ 
+int main(char a) {} /* { dg-error "first argument of .*main.* should be .int." "int" } */
+/* { dg-error "main.* takes only zero or two arguments" "zero or two" { target *-*-* } 5 } */ 
index 6d7f662c17e09364921f0d42096e52b7a299c83f..23367139c20ea420d017e75afb9760ee086395fd 100644 (file)
@@ -2,5 +2,5 @@
 // { dg-do compile }
 // { dg-options "" }
 // { dg-skip-if "-Wmain not enabled on SPU" { spu-*-* } } 
-int main(char a) {} /* { dg-warning "first argument of .*main.* should be .int." } */
-/* { dg-warning "main.* takes only zero or two arguments" "" { target *-*-* } 5 } */ 
+int main(char a) {} /* { dg-warning "first argument of .*main.* should be .int." "int" } */
+/* { dg-warning "main.* takes only zero or two arguments" "zero or two" { target *-*-* } 5 } */ 
index 4bf3de39f84a69ae47bb9261aec68a0dd286187a..a5cbad439270734827cb1cbcca2587c1ea2bf8c8 100644 (file)
@@ -13,5 +13,5 @@ public:
 template<class T>
 void f()
 {
-  Vector<T>::iterator i = 0; // { dg-error "typename" } missing typename
-} // { dg-error "expected" "" { target *-*-* } 16 }
+  Vector<T>::iterator i = 0; // { dg-error "typename" "typename" } missing typename
+} // { dg-error "expected" "expected" { target *-*-* } 16 }
index eec11ab003392080e7a4cac6446bb4069449cc57..84765142fe3e4bfdd1d2e9bc8da75944db30304f 100644 (file)
@@ -2,8 +2,8 @@
 // { dg-options "-fshow-column" }
 
 struct A { // { dg-error "" } forward declaration
-  friend struct B : A {                // { dg-error "invalid use of incomplete type 'struct A" }
+  friend struct B : A {                // { dg-error "invalid use of incomplete type 'struct A" "invalid" }
     int x;
-  };   // { dg-error "class definition may not be declared a friend" ""  { target *-*-* } { 5 } }
+  };   // { dg-error "class definition may not be declared a friend" "may not"  { target *-*-* } { 5 } }
   int y;
 };