public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* C++ PATCHes to fix issues with running the testsuite in C++0x mode
@ 2011-06-10  5:20 Jason Merrill
  0 siblings, 0 replies; only message in thread
From: Jason Merrill @ 2011-06-10  5:20 UTC (permalink / raw)
  To: gcc-patches List

[-- Attachment #1: Type: text/plain, Size: 1049 bytes --]

Periodically I run the G++ testsuite with 
--target_board=unix/-std=gnu++0x to catch any regressions relative to 
C++98 mode.  Here are the fixes from this round:

overflow.patch -- we were forgetting about overflow in some cases, 
causing us to treat an expression as a constant expression when it 
should not be.

build-non.patch -- the call to fold_non_dependent_expr was generating a 
hard error on one testcase, so I've changed it to pass tf_none.

parse-const.patch -- returning error_mark_node in the case of a 
non-constant expression was causing poorer diagnostics in some 
testcases, and returning the expression after complaining doesn't seem 
to break anything.

compound-lit.patch -- some places in the compiler expect a compound 
literal to have TREE_HAS_CONSTRUCTOR set, but we weren't setting it 
anymore.  This patch fixes some ext/ testcases.

cx-testsuite.patch -- various adjustments to either update tests to 
allow C++0x mode output or specify that they are only for C++98 mode.

Tested x86_64-pc-linux-gnu, applying to trunk.

[-- Attachment #2: overflow.patch --]
[-- Type: text/x-patch, Size: 1820 bytes --]

commit e71736621b375d376091a50d17c0cbfb789e2536
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Jun 9 13:59:04 2011 -0400

    	* semantics.c (maybe_constant_value): Handle overflowed input.

diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index bf6486b..481318e 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -6902,7 +6902,8 @@ non_const_var_error (tree r)
       else if (CP_TYPE_VOLATILE_P (type))
 	inform (DECL_SOURCE_LOCATION (r),
 		"%q#D is volatile", r);
-      else if (!DECL_INITIAL (r))
+      else if (!DECL_INITIAL (r)
+	       || !TREE_CONSTANT (DECL_INITIAL (r)))
 	inform (DECL_SOURCE_LOCATION (r),
 		"%qD was not initialized with a constant "
 		"expression", r);
@@ -7337,7 +7338,14 @@ maybe_constant_value (tree t)
       || type_unknown_p (t)
       || !potential_constant_expression (t)
       || value_dependent_expression_p (t))
-    return t;
+    {
+      if (TREE_OVERFLOW_P (t))
+	{
+	  t = build_nop (TREE_TYPE (t), t);
+	  TREE_CONSTANT (t) = false;
+	}
+      return t;
+    }
 
   r = cxx_eval_outermost_constant_expr (t, true);
 #ifdef ENABLE_CHECKING
diff --git a/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc b/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
index 83f5ce1..8aa72f2 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
@@ -51,4 +51,5 @@ test04()
 // { dg-error "required from here" "" { target *-*-* } 46 }
 // { dg-error "denominator cannot be zero" "" { target *-*-* } 268 }
 // { dg-error "out of range" "" { target *-*-* } 269 }
-// { dg-error "overflow in constant expression" "" { target *-*-* } 109 }
+// { dg-error "overflow in constant expression" "" { target *-*-* } 61 }
+// { dg-prune-output "not a member" }

[-- Attachment #3: build-non.patch --]
[-- Type: text/x-patch, Size: 766 bytes --]

commit fa869080e6f284376c4371644ae9077994eb771b
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Jun 9 13:58:30 2011 -0400

    	* pt.c (build_non_dependent_expr): Use fold_non_dependent_expr_sfinae.

diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 51d590e..ac150ce 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -19124,7 +19124,7 @@ build_non_dependent_expr (tree expr)
   /* Try to get a constant value for all non-type-dependent expressions in
       order to expose bugs in *_dependent_expression_p and constexpr.  */
   if (cxx_dialect >= cxx0x)
-    maybe_constant_value (fold_non_dependent_expr (expr));
+    maybe_constant_value (fold_non_dependent_expr_sfinae (expr, tf_none));
 #endif
 
   /* Preserve OVERLOADs; the functions must be available to resolve

[-- Attachment #4: parse-const.patch --]
[-- Type: text/x-patch, Size: 1551 bytes --]

commit 6fc693c2f5ff6c2ae656bf3e6795b758e223f2cc
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Jun 9 13:58:11 2011 -0400

    	* parser.c (cp_parser_constant_expression): Just return the
    	non-constant expression.

diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 1d182a3..35f8957 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -7050,8 +7050,6 @@ cp_parser_constant_expression (cp_parser* parser,
     }
   if (allow_non_constant_p)
     *non_constant_p = parser->non_integral_constant_expression_p;
-  else if (parser->non_integral_constant_expression_p)
-    expression = error_mark_node;
   parser->non_integral_constant_expression_p
     = saved_non_integral_constant_expression_p;
 
diff --git a/gcc/testsuite/g++.dg/cpp0x/regress/error-recovery1.C b/gcc/testsuite/g++.dg/cpp0x/regress/error-recovery1.C
index 2094d3e..9942c58 100644
--- a/gcc/testsuite/g++.dg/cpp0x/regress/error-recovery1.C
+++ b/gcc/testsuite/g++.dg/cpp0x/regress/error-recovery1.C
@@ -7,3 +7,5 @@ foo ()
   const bool b =;		// { dg-error "" }
   foo < b > ();			// { dg-error "constant expression" }
 };
+
+// { dg-error "no match" "" { target *-*-* } 8 }
diff --git a/gcc/testsuite/g++.dg/parse/template7.C b/gcc/testsuite/g++.dg/parse/template7.C
index 0d3f3fa..d7dfef7 100644
--- a/gcc/testsuite/g++.dg/parse/template7.C
+++ b/gcc/testsuite/g++.dg/parse/template7.C
@@ -2,4 +2,3 @@ template <int I>
 void f();			// { dg-message "note" }
 
 void g() { f<(3, 2)>(); } // { dg-error "" }
-// { dg-message "candidate" "candidate note" { target *-*-* } 4 }

[-- Attachment #5: compound-lit.patch --]
[-- Type: text/x-patch, Size: 833 bytes --]

commit 499bc6705442c7842bb3b2e338930ff615a39b38
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Jun 9 00:56:22 2011 -0400

    	* semantics.c (finish_compound_literal): Set TREE_HAS_CONSTRUCTOR.

diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index 53e5993..bf6486b 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -2387,6 +2387,8 @@ finish_compound_literal (tree type, tree compound_literal,
 	return error_mark_node;
     }
   compound_literal = digest_init (type, compound_literal, complain);
+  if (TREE_CODE (compound_literal) == CONSTRUCTOR)
+    TREE_HAS_CONSTRUCTOR (compound_literal) = true;
   /* Put static/constant array temporaries in static variables, but always
      represent class temporaries with TARGET_EXPR so we elide copies.  */
   if ((!at_function_scope_p () || CP_TYPE_CONST_P (type))

[-- Attachment #6: cx-testsuite.patch --]
[-- Type: text/x-patch, Size: 15643 bytes --]

commit cb52a4df30a31f1916d8d4ee8237a938ae3002fb
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Jun 9 13:59:23 2011 -0400

    	* lib/prune.exp: Prune "note"s.
    	* g++.dg/uninit-pred-3_b.C: Remove dg-excess-errors.
    
    	* g++.dg/ext/injected-ttp.C: Specify -std=c++98.
    	* g++.dg/template/dependent-expr3.C: Likewise.
    	* g++.dg/parse/template7.C: Likewise.
    	* g++.old-deja/g++.bugs/900119_01.C: Likewise.
    	* g++.old-deja/g++.jason/rfg10.C: Likewise.
    	* g++.old-deja/g++.pt/friend38.C: Likewise.
    	* g++.old-deja/g++.pt/crash32.C: Likewise.
    	* g++.old-deja/g++.other/init4.C: Likewise.
    	* g++.old-deja/g++.other/friend8.C: Likewise.
    
    	* g++.dg/ext/complex7.C: Adjust expected output.
    	* g++.dg/diagnostic/method1.C: Likewise.
    	* g++.dg/parse/parameter-declaration-2.C: Likewise.
    	* g++.dg/parse/crash33.C: Likewise.
    	* g++.dg/other/warning1.C: Likewise.
    	* g++.dg/init/pr29571.C: Likewise.
    	* g++.dg/warn/overflow-warn-1.C: Likewise.
    	* g++.dg/warn/overflow-warn-3.C: Likewise.
    	* g++.dg/warn/overflow-warn-4.C: Likewise.
    	* g++.old-deja/g++.oliva/template1.C: Likewise.

diff --git a/gcc/testsuite/g++.dg/diagnostic/method1.C b/gcc/testsuite/g++.dg/diagnostic/method1.C
index 8e1225d..4a78104 100644
--- a/gcc/testsuite/g++.dg/diagnostic/method1.C
+++ b/gcc/testsuite/g++.dg/diagnostic/method1.C
@@ -18,3 +18,5 @@ baz ()
 {
   bar <int> ();
 }
+
+// { dg-prune-output "without object" }
diff --git a/gcc/testsuite/g++.dg/ext/complex7.C b/gcc/testsuite/g++.dg/ext/complex7.C
index 9d5463f..5b3eead 100644
--- a/gcc/testsuite/g++.dg/ext/complex7.C
+++ b/gcc/testsuite/g++.dg/ext/complex7.C
@@ -4,3 +4,5 @@ class A
 {
   static const _Complex double x = 1.0 + 2.0i;
 };
+
+// { dg-prune-output "constexpr. needed" }
diff --git a/gcc/testsuite/g++.dg/ext/injected-ttp.C b/gcc/testsuite/g++.dg/ext/injected-ttp.C
index 405bee8..5ef4a4e 100644
--- a/gcc/testsuite/g++.dg/ext/injected-ttp.C
+++ b/gcc/testsuite/g++.dg/ext/injected-ttp.C
@@ -1,7 +1,7 @@
 // Test for doing the right thing with injected-class-name used as template
 // type argument.  This is an extension from DR 176.
 
-// { dg-options "-pedantic" }
+// { dg-options "-pedantic -std=c++98" }
 
 template <class T>
 struct A { };
diff --git a/gcc/testsuite/g++.dg/init/pr29571.C b/gcc/testsuite/g++.dg/init/pr29571.C
index 9e8e609..c9bfa28 100644
--- a/gcc/testsuite/g++.dg/init/pr29571.C
+++ b/gcc/testsuite/g++.dg/init/pr29571.C
@@ -3,6 +3,6 @@
 struct A
 {
   static const int i = 0/0 + ""; // { dg-warning "division by zero" }
-  // { dg-error "field initializer is not constant" "" { target *-*-* } 5 }
+  // { dg-error "field initializer is not constant|not a constant-expression" "" { target *-*-* } 5 }
   static const int j = int(i);
 };
diff --git a/gcc/testsuite/g++.dg/other/warning1.C b/gcc/testsuite/g++.dg/other/warning1.C
index 77653a1..c65ae0f 100644
--- a/gcc/testsuite/g++.dg/other/warning1.C
+++ b/gcc/testsuite/g++.dg/other/warning1.C
@@ -7,8 +7,8 @@ extern "C" int printf(const char *, ...);
 
 struct S
 {
-  static const float inf = 1.0f / 0.0f; // { dg-warning "1.0|float|initialization" }
-  static const float nan = 0.0f / 0.0f; // { dg-warning "0.0|float|initialization" }
+  static const float inf = 1.0f / 0.0f; // { dg-warning "1.0|float|initializ" }
+  static const float nan = 0.0f / 0.0f; // { dg-warning "0.0|float|initializ" }
 };
 
 int main()
diff --git a/gcc/testsuite/g++.dg/parse/crash33.C b/gcc/testsuite/g++.dg/parse/crash33.C
index 2ab84df..5ccb652 100644
--- a/gcc/testsuite/g++.dg/parse/crash33.C
+++ b/gcc/testsuite/g++.dg/parse/crash33.C
@@ -4,5 +4,8 @@
 template<int>
 void foo()
 [
-  throw;	// { dg-error "expected" }
-}		// { dg-error "expected" }
+  throw;
+}
+
+// { dg-prune-output "expected" }
+// { dg-prune-output "array bound" }
diff --git a/gcc/testsuite/g++.dg/parse/parameter-declaration-2.C b/gcc/testsuite/g++.dg/parse/parameter-declaration-2.C
index 7a9a24f..6116630 100644
--- a/gcc/testsuite/g++.dg/parse/parameter-declaration-2.C
+++ b/gcc/testsuite/g++.dg/parse/parameter-declaration-2.C
@@ -1 +1,2 @@
 void f (int i, int p[i]); // { dg-error "use of parameter .i. outside function body" }
+// { dg-prune-output "array bound" }
diff --git a/gcc/testsuite/g++.dg/parse/template7.C b/gcc/testsuite/g++.dg/parse/template7.C
index d7dfef7..930e259 100644
--- a/gcc/testsuite/g++.dg/parse/template7.C
+++ b/gcc/testsuite/g++.dg/parse/template7.C
@@ -1,3 +1,5 @@
+// { dg-options -std=c++98 }
+
 template <int I>
 void f();			// { dg-message "note" }
 
diff --git a/gcc/testsuite/g++.dg/template/dependent-expr3.C b/gcc/testsuite/g++.dg/template/dependent-expr3.C
index 97fddbd..bf14c49 100644
--- a/gcc/testsuite/g++.dg/template/dependent-expr3.C
+++ b/gcc/testsuite/g++.dg/template/dependent-expr3.C
@@ -1,3 +1,4 @@
+// { dg-options -std=c++98 }
 // { dg-do compile }
 // Origin: jbrandmeyer at users dot sourceforge dot net
 // PR c++/12573: COMPONENT_REFs must be inspected for dependness.
diff --git a/gcc/testsuite/g++.dg/uninit-pred-3_b.C b/gcc/testsuite/g++.dg/uninit-pred-3_b.C
index cfe2113..a66e04b 100644
--- a/gcc/testsuite/g++.dg/uninit-pred-3_b.C
+++ b/gcc/testsuite/g++.dg/uninit-pred-3_b.C
@@ -65,7 +65,7 @@ class M {
 
   void P (int64 t)
     {
-      int cc; /* { dg-excess-errors "note: 'cc' was declared here" } */
+      int cc;
       if (!GetC (&cc))
         return;
 
diff --git a/gcc/testsuite/g++.dg/warn/overflow-warn-1.C b/gcc/testsuite/g++.dg/warn/overflow-warn-1.C
index 22c512a..7cd76e7 100644
--- a/gcc/testsuite/g++.dg/warn/overflow-warn-1.C
+++ b/gcc/testsuite/g++.dg/warn/overflow-warn-1.C
@@ -13,7 +13,7 @@ enum e {
      in the standard).  */
   E2 = 2 || 1 / 0, /* { dg-bogus "warning: division by zero" "" { xfail *-*-* } 14 } */
   E3 = 1 / 0, /* { dg-warning "division by zero" } */
-  /* { dg-error "enumerator value for 'E3' is not an integer constant|not a constant expression" "enum error" { target *-*-* } 15 } */
+  /* { dg-error "enumerator value for 'E3' is not an integer constant|not a constant.expression" "enum error" { target *-*-* } 15 } */
   /* But as in DR#031, the 1/0 in an evaluated subexpression means the
      whole expression violates the constraints.  */
   E4 = 0 * (1 / 0), /* { dg-warning "division by zero" } */
diff --git a/gcc/testsuite/g++.dg/warn/overflow-warn-3.C b/gcc/testsuite/g++.dg/warn/overflow-warn-3.C
index d88c87a..73c0e00 100644
--- a/gcc/testsuite/g++.dg/warn/overflow-warn-3.C
+++ b/gcc/testsuite/g++.dg/warn/overflow-warn-3.C
@@ -13,7 +13,7 @@ enum e {
      in the standard).  */
   E2 = 2 || 1 / 0, /* { dg-bogus "warning: division by zero" "" { xfail *-*-* } 14 } */
   E3 = 1 / 0, /* { dg-warning "division by zero" } */
-  /* { dg-error "enumerator value for 'E3' is not an integer constant|not a constant expression" "enum error" { target *-*-* } 15 } */
+  /* { dg-error "enumerator value for 'E3' is not an integer constant|not a constant.expression" "enum error" { target *-*-* } 15 } */
   /* But as in DR#031, the 1/0 in an evaluated subexpression means the
      whole expression violates the constraints.  */
   E4 = 0 * (1 / 0), /* { dg-warning "division by zero" } */
diff --git a/gcc/testsuite/g++.dg/warn/overflow-warn-4.C b/gcc/testsuite/g++.dg/warn/overflow-warn-4.C
index 374d294..24b3959 100644
--- a/gcc/testsuite/g++.dg/warn/overflow-warn-4.C
+++ b/gcc/testsuite/g++.dg/warn/overflow-warn-4.C
@@ -13,7 +13,7 @@ enum e {
      in the standard).  */
   E2 = 2 || 1 / 0, /* { dg-bogus "warning: division by zero" "" { xfail *-*-* } } */
   E3 = 1 / 0, /* { dg-warning "division by zero" } */
-  /* { dg-error "enumerator value for 'E3' is not an integer constant|not a constant expression" "enum error" { target *-*-* } 15 } */
+  /* { dg-error "enumerator value for 'E3' is not an integer constant|not a constant.expression" "enum error" { target *-*-* } 15 } */
   /* But as in DR#031, the 1/0 in an evaluated subexpression means the
      whole expression violates the constraints.  */
   E4 = 0 * (1 / 0), /* { dg-warning "division by zero" } */
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900119_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900119_01.C
index ace4e4b..0d181c7 100644
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900119_01.C
+++ b/gcc/testsuite/g++.old-deja/g++.bugs/900119_01.C
@@ -1,3 +1,4 @@
+// { dg-options "-pedantic-errors -std=c++98" }
 // { dg-do assemble  }
 // g++ 1.36.1 bug 900119_01
 
@@ -8,7 +9,7 @@
 
 // keywords: member declaration, member initialization
 
-// { dg-prune-output "non-static data member initializers" }
+// { dg-prune-output "is a static data member" }
 
 int global_int;
 
@@ -18,7 +19,7 @@ public:
   static int class0_member_1 = 99;		/* { dg-error "" }  */
   int &class0_member_2 = global_int;		/* { dg-error "" }  */
 
-  class0 () : class0_member_2 (global_int) { }  /* { dg-error "" }  */
+  class0 () : class0_member_2 (global_int) { }
 };
 
 
@@ -27,7 +28,7 @@ struct struct0 {
   static int struct0_member_1 = 99;		/* { dg-error "" }  */
   int &struct0_member_2 = global_int;		/* { dg-error "" }  */
 
-  struct0 () : struct0_member_2 (global_int) { } /* { dg-error "" }  */
+  struct0 () : struct0_member_2 (global_int) { }
 };
 
 // g++ does not allow unions to have more than one member with an initializer
@@ -43,7 +44,7 @@ union union1 {
 union union2 {
   int &union2_member_0 = global_int;		/* { dg-error "" }  */
 
-  union2 () : union2_member_0 (global_int) { }  /* { dg-error "" }  */
+  union2 () : union2_member_0 (global_int) { }
 };
 
 int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/rfg10.C b/gcc/testsuite/g++.old-deja/g++.jason/rfg10.C
index 58af19c..8769f5a 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/rfg10.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/rfg10.C
@@ -1,5 +1,5 @@
 // { dg-do assemble  }
-// { dg-options "-pedantic-errors" }
+// { dg-options "-pedantic-errors -std=c++98" }
 // Bug: g++ doesn't notice the overflow in the enum values.
 
 #include <limits.h>
index 995ac91..0000000
index 0000000..995ac91
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog-2005
@@ -0,0 +1,127 @@
+2005-04-03  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR c++/19199
+	* expr2.C: Fixed.
+
+2003-06-04  J"orn Rennecke <joern.rennecke@superh.com>
+
+	* template1.C (bar): Remove xfail marker.
+
+2002-07-06  Alexandre Oliva  <aoliva@redhat.com>
+
+	* linkage1.C, linkage1-main.cc: New test.
+
+2001-02-15  Alexandre Oliva  <aoliva@redhat.com>
+
+	* friend1.C: New test.
+
+2000-05-28  Alexandre Oliva  <aoliva@cygnus.com>
+
+	* expr2.C: New test.
+
+2000-04-19  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+	* stkalign.C: New test.
+
+1999-12-22  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+	* nameret2.C: New test.
+
+	* nameret1.C: New test.
+
+	* template10.C: New test.
+
+1999-11-21  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+	* delete2.C, delete3.C, delete4.C, delete5.C: New tests.
+
+1999-11-19  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+	* template7.C: Crash test passes, bug error is now bogus.
+
+1999-11-11  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+	* template9.C: New test.
+
+1999-09-18  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+	* overload1.C: New test.
+
+	* inline1.C: New test.
+
+1999-08-25  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* thunk1.C: New test.
+
+1999-08-06  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* dwarf2.C, dwarf3.C: Added XFAIL for Solaris/x86.  Removed
+	-gdwarf.
+	* dwarf1.C: Removed -gdwarf.
+
+1999-08-05  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* new1.C, template8.C: Removed XFAIL.
+	* template3.C: Re-introduced XFAIL.  :-(
+
+1999-08-03  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* ext1.C: New test.
+
+	* dwarf1.C, dwarf2.C, dwarf3.C: New tests.
+
+1999-07-20  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* template8.C, typeof1.C: New test.
+
+1999-07-17  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* template6.C, delete1.C, template7.C: New test.
+
+1999-07-13  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* template5.C: New test.
+
+	* template4.C: New test.
+
+	* expr1.C: New test.
+
+	* partspec1.C: New test.
+
+1999-07-05  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* typename1.C, typename2.C: New tests.
+
+	* template3.C: Fixed.
+
+	* ns3.C: New test.
+
+1999-07-03  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* ctor1.C: New test.
+
+	* template3.C: New test.
+
+1999-07-02  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* ns1.C: Typo.
+	* ns2.C: New test.
+
+	* template2.C: New test.
+
+	* ns1.C: New test.
+
+1999-07-01  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* new1.C: New test.
+
+	* partord1.C: New test.
+
+	* template1.C: New test.
+
+\f
+Copyright (C) 1999, 2000, 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/template1.C b/gcc/testsuite/g++.old-deja/g++.oliva/template1.C
index ce39496..908a069 100644
--- a/gcc/testsuite/g++.old-deja/g++.oliva/template1.C
+++ b/gcc/testsuite/g++.old-deja/g++.oliva/template1.C
@@ -7,7 +7,7 @@
 
 
 template<int P = 0> struct foo {
-  static void bar(double (*)[dim]) {} // { dg-error "'dim' was not declared" } 
+  static void bar(double (*)[dim]) {} // { dg-error "'dim' was not declared|array bound" }
 };
 
 void bar() {
diff --git a/gcc/testsuite/g++.old-deja/g++.other/friend8.C b/gcc/testsuite/g++.old-deja/g++.other/friend8.C
index bbe4bf5..c1e93d9 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/friend8.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/friend8.C
@@ -1,3 +1,4 @@
+// { dg-options "-std=c++98 -pedantic-errors" }
 // { dg-do assemble  }
 // 
 // Copyright (C) 2000 Free Software Foundation, Inc.
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init4.C b/gcc/testsuite/g++.old-deja/g++.other/init4.C
index f877f2a..92562ef 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/init4.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/init4.C
@@ -1,3 +1,4 @@
+// { dg-options -std=c++98 }
 // { dg-do assemble  }
 
 class error {
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash32.C b/gcc/testsuite/g++.old-deja/g++.pt/crash32.C
index 64ed229..0be26ea 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash32.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/crash32.C
@@ -1,3 +1,4 @@
+// { dg-options "-std=c++98 -pedantic-errors" }
 // { dg-do assemble  }
 // Origin: Jason Merrill <jason@cygnus.com>
 
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/friend38.C b/gcc/testsuite/g++.old-deja/g++.pt/friend38.C
index 429e421..f2343d0 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/friend38.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/friend38.C
@@ -1,3 +1,4 @@
+// { dg-options "-std=c++98 -pedantic-errors" }
 // { dg-do assemble  }
 
 // Overly simplified from testcase by "B. K. Oxley" <binkley@bigfoot.com>
diff --git a/gcc/testsuite/lib/prune.exp b/gcc/testsuite/lib/prune.exp
index 58b59a4..f5cbc4c 100644
--- a/gcc/testsuite/lib/prune.exp
+++ b/gcc/testsuite/lib/prune.exp
@@ -30,6 +30,9 @@ proc prune_gcc_output { text } {
     regsub -all "(^|\n)Please submit.*instructions\[^\n\]*" $text "" text
     regsub -all "(^|\n)\[0-9\]\[0-9\]* errors\." $text "" text
 
+    # Ignore informational notes.
+    regsub -all "(^|\n)\[^\n\]*: note: \[^\n\]*" $text "" text
+
     # Ignore harmless -fpic warnings.
     regsub -all "(^|\n)\[^\n\]*: warning: -f(pic|PIC) ignored for target\[^\n\]*" $text "" text
     regsub -all "(^|\n)\[^\n\]*: warning: -f(pic|PIC)( and -fpic are| is)? not supported\[^\n\]*" $text "" text

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2011-06-10  3:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-10  5:20 C++ PATCHes to fix issues with running the testsuite in C++0x mode Jason Merrill

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).