constant1.C: Specify C++98 mode.
authorJason Merrill <jason@redhat.com>
Fri, 25 Feb 2011 06:23:00 +0000 (01:23 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 25 Feb 2011 06:23:00 +0000 (01:23 -0500)
* g++.dg/parse/constant1.C: Specify C++98 mode.
* g++.dg/parse/constant5.C: Likewise.
* g++.dg/parse/error2.C: Likewise.
* g++.dg/parse/semicolon3.C: Likewise.
* g++.dg/template/crash14.C: Likewise.
* g++.dg/template/local4.C: Likewise.
* g++.dg/template/nontype3.C: Likewise.
* g++.dg/parse/crash31.C: Adjust expected errors.
* g++.dg/template/function1.C: Likewise.
* g++.dg/template/ref3.C: Likewise.
* g++.dg/template/static9.C: Likewise.
* g++.old-deja/g++.pt/crash41.C: Instantiate template.

From-SVN: r170489

13 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/parse/constant1.C
gcc/testsuite/g++.dg/parse/constant5.C
gcc/testsuite/g++.dg/parse/crash31.C
gcc/testsuite/g++.dg/parse/error2.C
gcc/testsuite/g++.dg/parse/semicolon3.C
gcc/testsuite/g++.dg/template/crash14.C
gcc/testsuite/g++.dg/template/function1.C
gcc/testsuite/g++.dg/template/local4.C
gcc/testsuite/g++.dg/template/nontype3.C
gcc/testsuite/g++.dg/template/ref3.C
gcc/testsuite/g++.dg/template/static9.C
gcc/testsuite/g++.old-deja/g++.pt/crash41.C

index 5acd9f250571176636042000d60facab7c25d010..3d3d81275eb5de38a628480ea569855148ac30e9 100644 (file)
@@ -1,5 +1,18 @@
 2011-02-24  Jason Merrill  <jason@redhat.com>
 
+       * g++.dg/parse/constant1.C: Specify C++98 mode.
+       * g++.dg/parse/constant5.C: Likewise.
+       * g++.dg/parse/error2.C: Likewise.
+       * g++.dg/parse/semicolon3.C: Likewise.
+       * g++.dg/template/crash14.C: Likewise.
+       * g++.dg/template/local4.C: Likewise.
+       * g++.dg/template/nontype3.C: Likewise.
+       * g++.dg/parse/crash31.C: Adjust expected errors.
+       * g++.dg/template/function1.C: Likewise.
+       * g++.dg/template/ref3.C: Likewise.
+       * g++.dg/template/static9.C: Likewise.
+       * g++.old-deja/g++.pt/crash41.C: Instantiate template.
+
        * g++.dg/cpp0x/constexpr-array-tparm.C: New.
        * g++.dg/cpp0x/regress/parse-ambig5.C: Copy from parse/ambig5.C.
        * g++.dg/cpp0x/regress/debug-debug7.C: Copy from debug/debug7.C.
index 0a889289b72a8b7c6c2a3f03929b72363d8c9a48..c8a948a576005c9366e883ac50bf99dcd1c2c0aa 100644 (file)
@@ -1,3 +1,5 @@
+// { dg-options -std=c++98 }
+
 void f () {
   switch (0) {
   case (3, 0): // { dg-error "" }
index db11afb51b255f4107be3548a82742f151d043c2..f868108a644ad9868a68b72096600f864f7610ac 100644 (file)
@@ -1,3 +1,5 @@
+// { dg-options "-std=c++98 -pedantic-errors" }
+
 enum E { 
   a = 24.2, // { dg-error "constant" }
   b = (int)3.7, 
index 0068846755b87af4cd510540faf5480a394b411e..b0a7e1877ce21b3842d57bff515ef47dc0e1429d 100644 (file)
@@ -3,7 +3,7 @@ struct A // { dg-error "forward declaration" }
   A : A; // { dg-error "expected|incomplete" }
   A : B; // { dg-error "not declared|incomplete" }
   A : A(); // { dg-error "undefined type|incomplete" }
-  A : B(); // { dg-error "function call|incomplete" }
+  A : B(); // { dg-error "function call|incomplete|not declared" }
   A : A[]; // { dg-error "expected|array reference|incomplete" }
   A : B[]; // { dg-error "not declared|expected|array reference|incomplete" }
 };
index 619f89421d97ccc1dd3d9f37d6866e58137fd523..7b08df4546685f9ea4335a6ca5b7956ab79d9304 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do compile }
-// { dg-options "-fshow-column" }
+// { dg-options "-fshow-column -std=c++98" }
 // Properly print CALL_EXPRs while dumping expressions
 
 double g;
index bc43b48cff700810943d4d89578bdf1cd71919ae..8a2b1ac46301f6a0ee7f18cfff3b391f0f58db5d 100644 (file)
@@ -1,5 +1,6 @@
 // PR c++/45331
 // { dg-do compile }
+// { dg-options -std=c++98 }
 
 struct OK1
 {
index 7b3af045fa9e5fb6bddf87f33ec0d93e9a459917..cf6fffa1a6bdd65e111bc855f23a05573c71c136 100644 (file)
@@ -1,3 +1,5 @@
+// { dg-options -std=c++98 }
+
 template <int T> class foo { public: foo() { } class Z { };};
 template <int I[2]> void dep7(foo<I[0]> *) { } // { dg-error "" }
 
index 3f82d5326f69adcddfd96c4c7b19fcd80bb081fc..8a112c1459f81f33132f80771fd02780e01cdf54 100644 (file)
@@ -3,25 +3,25 @@
 
 template<const char *, int> struct A {};
 const char func[] = "abc";
-template<int N> struct A<func, N> {};  // { dg-error "cannot appear|is invalid|not a valid" }
+template<int N> struct A<func, N> {};  // { dg-error "cannot appear|is invalid|not a valid|not declared constexpr" }
 
 char a1[1];
 A<a1, 0> a;
 
 template<const char *, int> struct B {};
-template<int N> struct B<__FUNCTION__, N> {};  // { dg-error "cannot appear|is invalid|is not a valid" }
+template<int N> struct B<__FUNCTION__, N> {};  // { dg-error "cannot appear|is invalid|is not a valid|not declared constexpr" }
 
 char b1[1];
 B<b1, 0> b;
 
 template<const char *, int> struct C {};
-template<int N> struct C<__PRETTY_FUNCTION__, N> {};   // { dg-error "cannot appear|is invalid|is not a valid" }
+template<int N> struct C<__PRETTY_FUNCTION__, N> {};   // { dg-error "cannot appear|is invalid|is not a valid|not declared constexpr" }
 
 char c1[1];
 C<c1, 0> c;
 
 template<const char *, int> struct D {};
-template<int N> struct D<__func__, N> {};      // { dg-error "cannot appear|is invalid|is not a valid|function scope" }
+template<int N> struct D<__func__, N> {};      // { dg-error "cannot appear|is invalid|is not a valid|function scope|not declared constexpr" }
 
 char d1[1];
 D<d1, 0> d;
index 7ee922ba6d3c67da341da9701155a29ae5e2ac37..9a03c9a7b98e09cae2dbd258bc4995fbcedfb88d 100644 (file)
@@ -1,9 +1,10 @@
 // PR c++/17413
+// { dg-options -std=c++98 }
 
 template <typename T> void foo() {} // { dg-message "note" }
 
 int main () {
   struct S {};
   foo<S> (); // { dg-error "match" } 
-  // { dg-message "candidate" "candidate note" { target *-*-* } 7 }
+  // { dg-message "candidate" "candidate note" { target *-*-* } 8 }
 }
index 5f245620a838fe0eb888d5d3b4085d0cfdd2f3a8..d0c6b72a1d33bfdea4db06f95ef56ad683197e26 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do compile }
+// { dg-options -std=c++98 }
 // Origin: <drow at gcc dot gnu dot org>,
 //         <giovannibajo at gcc dot gnu dot org>
 // c++/13243: Template parameters of non integral or enumeration type can't be
index 4390f71b4077455ac7386407b9ec213b8aef7d14..976c093a15b7244540da35cf6847b2a716525cca 100644 (file)
@@ -4,8 +4,8 @@ template<const int&> struct A {};
 
 template<typename T> struct B
 {
-  A<(T)0> b; // { dg-error "constant" }
-  A<T(0)> a; // { dg-error "constant" }
+  A<(T)0> b; // { dg-error "constant|not a valid" }
+  A<T(0)> a; // { dg-error "constant|not a valid" }
 };
 
 B<const int&> b;
index a98144185bb4ad1e5171a9810b54d3910d6571e1..8845647601b4b972f3d1824b9f1eab9de5c970b6 100644 (file)
@@ -3,7 +3,7 @@
 template<typename T> struct A
 {
   static const T i = 0; // { dg-error "declared void" "void" }
-                       // { dg-error "invalid" "invalid" { target *-*-* } 5 }
+                       // { dg-error "invalid|non-literal" "invalid" { target *-*-* } 5 }
 };
 
 A<void> a; // { dg-message "instantiated" }
index fc7f7b51497c0d559555917b89a7dc295d133d70..452ba91dc84b4fa1061d831be99414dd20b66f15 100644 (file)
@@ -9,3 +9,5 @@ template <class T>
 void f(S2 s2) {
   S1<s2.i> s1; // { dg-error "" }
 }
+
+template void f<int>(S2);