public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* v3 testsuite PATCH to avoid dg-excess-errors
@ 2011-06-10  4:46 Jason Merrill
  2011-06-10  8:56 ` Jonathan Wakely
  0 siblings, 1 reply; 3+ messages in thread
From: Jason Merrill @ 2011-06-10  4:46 UTC (permalink / raw)
  To: Jonathan Wakely; +Cc: gcc-patches List

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

dg-excess-errors is a very large hammer that is rarely what you want to 
use.  To filter out certain messages, it is better to use 
dg-prune-output.  So this patch removes most of the dg-excess-errors 
from the v3 testsuite, replacing some with dg-prune-output, but most 
need no replacement.

Doing this revealed that the bind/ref_neg.cc test was broken; the 
dg-error tags were missing a space before the closing }, so they were 
being ignored.  When I fix that, I find that two of the tests are failing.

I'm committing the first patch, but am holding off on the second for 
now.  Should I go ahead and commit it or would someone like to fix those 
bugs and then commit it themselves?

[-- Attachment #2: lib-excess.patch --]
[-- Type: text/x-patch, Size: 24617 bytes --]

commit 2ceec8c8f2d4fe83111012361a235dea3c6e5aba
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Jun 9 16:11:22 2011 -0400

    	* testsuite/lib/prune.exp (libstdc++-dg-prune): Prune notes.
    	* testsuite/20_util/duration/cons/1_neg.cc: Remove dg-excess-errors.
    	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
    	* testsuite/20_util/forward/1_neg.cc: Likewise.
    	* testsuite/20_util/function/cmp/cmp_neg.cc: Likewise.
    	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
    	* testsuite/20_util/reference_wrapper/ref_neg.cc: Likewise.
    	* testsuite/20_util/tuple/comparison_operators/35480_neg.cc: Likewise.
    	* testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc: Likewise.
    	* testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
    	* testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
    	* testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: Likewise.
    	* testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise.
    	* testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Likewise.
    	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
    	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Likewise.
    	* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: Likewise.
    	* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
    	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
    	* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: Likewise.
    	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
    	* testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc: Likewise.
    	* testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc: Likewise.
    	* testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc: Likewise.
    	* testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc: Likewise.
    	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Likewise.
    	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise.
    	* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise.
    	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise.
    	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Likewise.
    	* testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc: Likewise.
    	* testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc: Likewise.
    	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise.
    	* testsuite/23_containers/map/operators/1_neg.cc: Likewise.
    	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Likewise.
    	* testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
    	* testsuite/decimal/mixed-mode-cmp_neg.cc: Likewise.
    	* testsuite/decimal/operator_neg.cc: Likewise.

diff --git a/libstdc++-v3/testsuite/20_util/duration/cons/1_neg.cc b/libstdc++-v3/testsuite/20_util/duration/cons/1_neg.cc
index 56b4e4f..eddd57c 100644
--- a/libstdc++-v3/testsuite/20_util/duration/cons/1_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/cons/1_neg.cc
@@ -38,4 +38,3 @@ test02()
   duration<int, std::milli> d2_copy(d2); // { dg-error "no matching" }
 }
 
-// { dg-excess-errors "candidates are" }
diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc
index c30d94c..a3ab769 100644
--- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc
@@ -29,9 +29,8 @@ void test01()
   typedef int rep_type;
   typedef int period_type;
   typedef std::chrono::duration<rep_type, period_type> test_type;
-  test_type d;
+  test_type d;			// { dg-error "required from here" }
 }
 
 // { dg-error "must be a specialization of ratio" "" { target *-*-* } 227 }
-// { dg-error "required from here" "" { target *-*-* } 32 }
-// { dg-excess-errors "In instantiation of" }
+// { dg-prune-output "not a member" }
diff --git a/libstdc++-v3/testsuite/20_util/forward/1_neg.cc b/libstdc++-v3/testsuite/20_util/forward/1_neg.cc
index 978ea52..7f16bf3 100644
--- a/libstdc++-v3/testsuite/20_util/forward/1_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/forward/1_neg.cc
@@ -41,4 +41,3 @@ void g()
   std::shared_ptr<A> sp1 = factory<A>(2, 1.414); // { dg-error "required from here" }
 }
 
-// { dg-excess-errors "" }
diff --git a/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc b/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc
index 28c0e12..d5e268e 100644
--- a/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/function/cmp/cmp_neg.cc
@@ -29,4 +29,3 @@ void test01()
   f1 == f2;  // { dg-error "no match" }
   f1 != f2;  // { dg-error "no match" }
 }
-// { dg-excess-errors "candidates are" }
diff --git a/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc b/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc
index 07b1a56..0e36c74 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc
@@ -43,5 +43,5 @@ test02()
 // { dg-error "overflow in multiplication" "" { target *-*-* } 104 }
 // { dg-error "overflow in multiplication" "" { target *-*-* } 100 }
 // { dg-error "overflow in multiplication" "" { target *-*-* } 102 }
-// { dg-excess-errors "In instantiation of" }
-// { dg-excess-errors "out of range" }
+// { dg-prune-output "out of range" }
+// { dg-prune-output "not usable in a constant expression" }
diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/ref_neg.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/ref_neg.cc
index 947a9b0..c3b37f7 100644
--- a/libstdc++-v3/testsuite/20_util/reference_wrapper/ref_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/ref_neg.cc
@@ -38,7 +38,7 @@ void test01()
 
 int main()
 {
-  test02();
+  test01();
 }
 
-// { dg-excess-errors "" }
+// { dg-prune-output "declared here" }
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
index b79a25b..754b616 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
@@ -47,4 +47,5 @@ main()
   test01();
   return 0;
 }
-// { dg-excess-errors "In constructor" }
+
+// { dg-prune-output "cannot convert" }
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc
index dae967b..91af6c0 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc
@@ -46,4 +46,4 @@ main()
   test01();
   return 0;
 }
-// { dg-excess-errors "initializing argument" }
+// { dg-prune-output "initializing argument" }
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
index b078a7d..256f2c9 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
@@ -33,4 +33,3 @@ test01()
   const std::auto_ptr<A> a;
   std::shared_ptr<A> p(std::move(a)); // { dg-error "no match" }
 }
-// { dg-excess-errors "candidates are" }
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc
index 0e2fd68..fc12787 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc
@@ -45,4 +45,4 @@ main()
   test01();
   return 0;
 }
-// { dg-excess-errors "initializing argument" }
+// { dg-prune-output "initializing argument" }
diff --git a/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480_neg.cc b/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480_neg.cc
index 613c27f..eb22938 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480_neg.cc
@@ -30,4 +30,4 @@ void test01()
   if ( t1 < t2 ) {}   // { dg-error "here" }
   if ( t1 == t2 ) {}  // { dg-error "here" }
 }
-// { dg-excess-errors "incomplete type" }
+// { dg-prune-output "incomplete type" }
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc
index 76910c3..32d52ca 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc
@@ -33,4 +33,3 @@ test01()
   const std::auto_ptr<A> a(new A);
   std::unique_ptr<A> a2(std::move(a)); // { dg-error "no match" }
 }
-// { dg-excess-errors "candidates are" }
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc
index e765874..312ecbe 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc
@@ -25,7 +25,7 @@
 
 using std::unique_ptr;
 
-// { dg-excess-errors "static assertion failed" }
+// { dg-prune-output "static assertion failed" }
 
 void
 test01()
diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc
index b6b706c..73a0d0f 100644
--- a/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc
@@ -45,4 +45,3 @@ void test01()
   tuple<Type> t(allocator_arg, a, 1);
 }
 // { dg-error "no matching function" "" { target *-*-* } 112 }
-// { dg-excess-errors "note" }
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc
index 1b0ecec..60f5008 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/assign_neg.cc
@@ -19,7 +19,6 @@
 
 // { dg-do compile }
 // { dg-error "no matching" "" { target *-*-* } 1668 }
-// { dg-excess-errors "" }
 
 #include <deque>
 
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc
index ebb9c3b..2d84537 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc
@@ -19,7 +19,6 @@
 
 // { dg-do compile }
 // { dg-error "no matching" "" { target *-*-* } 1601 }
-// { dg-excess-errors "" }
 
 #include <deque>
 
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc
index 943bc63..2329a32 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc
@@ -19,7 +19,6 @@
 
 // { dg-do compile }
 // { dg-error "no matching" "" { target *-*-* } 1601 }
-// { dg-excess-errors "" }
 
 #include <deque>
 #include <utility>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc
index 396122f..631d76c 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/dr438/insert_neg.cc
@@ -19,7 +19,6 @@
 
 // { dg-do compile }
 // { dg-error "no matching" "" { target *-*-* } 1752 }
-// { dg-excess-errors "" }
 
 #include <deque>
 
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc
index 35ce47e..a2be5cf 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc
@@ -1,7 +1,6 @@
 // { dg-do compile }
 // { dg-options "-std=gnu++0x" }
 // { dg-error "no matching" "" { target *-*-* } 1210 }
-// { dg-excess-errors "" }
 
 // Copyright (C) 2009, 2010 Free Software Foundation
 //
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc
index 9c89fe7..dca3459 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc
@@ -1,7 +1,6 @@
 // { dg-do compile }
 // { dg-options "-std=gnu++0x" }
 // { dg-error "no matching" "" { target *-*-* } 1210 }
-// { dg-excess-errors "" }
 
 // Copyright (C) 2009, 2010, 2011 Free Software Foundation
 //
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc
index cb22c37..ec9e9c1 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc
@@ -1,7 +1,6 @@
 // { dg-do compile }
 // { dg-options "-std=gnu++0x" }
 // { dg-error "no matching" "" { target *-*-* } 1210 }
-// { dg-excess-errors "" }
 
 // Copyright (C) 2009, 2010, 2011 Free Software Foundation
 //
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc
index 684b501..59e74eb 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc
@@ -1,7 +1,6 @@
 // { dg-do compile }
 // { dg-options "-std=gnu++0x" }
 // { dg-error "no matching" "" { target *-*-* } 1210 }
-// { dg-excess-errors "" }
 
 // Copyright (C) 2009, 2010, 2011 Free Software Foundation
 //
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
index 54473ee..600389e 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/assign_neg.cc
@@ -19,7 +19,6 @@
 
 // { dg-do compile }
 // { dg-error "no matching" "" { target *-*-* } 1497 }
-// { dg-excess-errors "" }
 
 #include <list>
 
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
index 5f7b07f..96b9859 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc
@@ -19,7 +19,6 @@
 
 // { dg-do compile }
 // { dg-error "no matching" "" { target *-*-* } 1453 }
-// { dg-excess-errors "" }
 
 #include <list>
 
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
index 1bf19de..33bd0e9 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc
@@ -19,7 +19,6 @@
 
 // { dg-do compile }
 // { dg-error "no matching" "" { target *-*-* } 1453 }
-// { dg-excess-errors "" }
 
 #include <list>
 #include <utility>
diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
index 05dd2e7..4f88cd4 100644
--- a/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/requirements/dr438/insert_neg.cc
@@ -19,7 +19,6 @@
 
 // { dg-do compile }
 // { dg-error "no matching" "" { target *-*-* } 1453 }
-// { dg-excess-errors "" }
 
 #include <list>
 
diff --git a/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc b/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
index c5fd9cd..0912052 100644
--- a/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
@@ -42,4 +42,3 @@ void test01()
   test &= itr == mapByName.end(); // { dg-error "no" } 
 }
 
-// { dg-excess-errors "" }
diff --git a/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc b/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
index babd6db..483054f 100644
--- a/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
@@ -40,4 +40,3 @@ void test01()
   test &= itr == setByName.end(); // { dg-error "no" } 
 }
 
-// { dg-excess-errors "" }
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc
index fcead6a..eba024c 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/assign_neg.cc
@@ -19,7 +19,6 @@
 
 // { dg-do compile }
 // { dg-error "no matching" "" { target *-*-* } 1157 }
-// { dg-excess-errors "" }
 
 #include <vector>
 
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc
index acb1953..24c14ce 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc
@@ -19,7 +19,6 @@
 
 // { dg-do compile }
 // { dg-error "no matching" "" { target *-*-* } 1087 }
-// { dg-excess-errors "" }
 
 #include <vector>
 
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc
index dd519da..b765096 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc
@@ -19,7 +19,6 @@
 
 // { dg-do compile }
 // { dg-error "no matching" "" { target *-*-* } 1087 }
-// { dg-excess-errors "" }
 
 #include <vector>
 #include <utility>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc
index 5fb2045..083f2e0 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/dr438/insert_neg.cc
@@ -19,7 +19,6 @@
 
 // { dg-do compile }
 // { dg-error "no matching" "" { target *-*-* } 1198 }
-// { dg-excess-errors "" }
 
 #include <vector>
 
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc
index 4ee4e7f..5fb4984 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc
@@ -27,7 +27,10 @@ int main()
   return 0;
 }
 
+// { dg-error "deleted" "" { target *-*-* } 426 }
+// { dg-error "deleted" "" { target *-*-* } 427 }
 // { dg-error "operator" "" { target *-*-* } 428 }
 // { dg-error "operator" "" { target *-*-* } 429 }
 // { dg-error "operator" "" { target *-*-* } 430 }
-// { dg-excess-errors "In file included from" }
+
+// { dg-prune-output "declared here" }
diff --git a/libstdc++-v3/testsuite/decimal/mixed-mode-arith_neg.cc b/libstdc++-v3/testsuite/decimal/mixed-mode-arith_neg.cc
index 5cc67fb..afdc038 100644
--- a/libstdc++-v3/testsuite/decimal/mixed-mode-arith_neg.cc
+++ b/libstdc++-v3/testsuite/decimal/mixed-mode-arith_neg.cc
@@ -137,4 +137,3 @@ bad_divideeq (void)
   a128 /= ld;		// { dg-error "error" }
 }
 
-// { dg-excess-errors "notes about candidates" }
diff --git a/libstdc++-v3/testsuite/decimal/mixed-mode-cmp_neg.cc b/libstdc++-v3/testsuite/decimal/mixed-mode-cmp_neg.cc
index 46a38ac..5ff9a71 100644
--- a/libstdc++-v3/testsuite/decimal/mixed-mode-cmp_neg.cc
+++ b/libstdc++-v3/testsuite/decimal/mixed-mode-cmp_neg.cc
@@ -103,4 +103,3 @@ bad_ge (void)
   b6 = d >= b128;	// { dg-error "error" }
 }
 
-// { dg-excess-errors "notes about candidates" }
diff --git a/libstdc++-v3/testsuite/decimal/operator_neg.cc b/libstdc++-v3/testsuite/decimal/operator_neg.cc
index fff81d1..d1db024 100644
--- a/libstdc++-v3/testsuite/decimal/operator_neg.cc
+++ b/libstdc++-v3/testsuite/decimal/operator_neg.cc
@@ -157,4 +157,3 @@ logical_not (void)
   a128 = !b128;		// { dg-error "error" } 
 }
 
-// { dg-excess-errors "" { target *-*-* } }
diff --git a/libstdc++-v3/testsuite/lib/prune.exp b/libstdc++-v3/testsuite/lib/prune.exp
index e7d6a5a..a564406 100644
--- a/libstdc++-v3/testsuite/lib/prune.exp
+++ b/libstdc++-v3/testsuite/lib/prune.exp
@@ -46,6 +46,9 @@ proc libstdc++-dg-prune { system text } {
     regsub -all "(^|\n)In file included from \[^\n\]*" $text "" text
     regsub -all "(^|\n)\[ \t\]*from \[^\n\]*" $text "" text
 
+    # Ignore informational notes.
+    regsub -all "(^|\n)\[^\n\]*: note: \[^\n\]*" $text "" text
+
     # Ignore errata warning from IA64 assembler.
     regsub -all "(^|\n)\[^\n\]*: Additional NOP may be necessary to workaround Itanium processor A/B step errata" $text "" text
     regsub -all "(^|\n)\[^\n*\]*: Assembler messages:\[^\n\]*" $text "" text
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc
index eb067a9..1950459 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc
@@ -46,4 +46,5 @@ main()
   test01();
   return 0;
 }
-// { dg-excess-errors "In constructor" }
+
+// { dg-prune-output "cannot convert" }
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc
index f4d960d..73ffdcb 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc
@@ -45,4 +45,3 @@ main()
   test01();
   return 0;
 }
-// { dg-excess-errors "candidates are" }
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc
index 1d7b921..0990e5e 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc
@@ -44,4 +44,3 @@ main()
   test01();
   return 0;
 }
-// { dg-excess-errors "candidates are" }
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc
index aff8e9a..9c693d4 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc
@@ -29,4 +29,4 @@ void test01()
   if ( t1 < t2 ) {}   // { dg-error "here" }
   if ( t1 == t2 ) {}  // { dg-error "here" }
 }
-// { dg-excess-errors "incomplete type" }
+// { dg-prune-output "incomplete type" }

[-- Attachment #3: bind-ref.patch --]
[-- Type: text/x-patch, Size: 1445 bytes --]

commit 7f74b6410bd019ebe1d2349e42bf2eaa056b7852
Author: Jason Merrill <jason@redhat.com>
Date:   Thu Jun 9 16:47:55 2011 -0400

    	* testsuite/20_util/bind/ref_neg.cc: Remove dg-excess-errors,
    	fix dg-error markup.

diff --git a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
index 060bf87..9843d1b 100644
--- a/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/ref_neg.cc
@@ -29,10 +29,10 @@ int inc(int& i) { return ++i; }
 void test01()
 {
   const int dummy = 0;
-  std::bind(&inc, _1)(0);               // { dg-error  ""}
-  std::bind(&inc, std::ref(dummy))();  // { dg-error  ""}
-  std::bind(&inc, dummy)();  // { dg-error  ""}
-  std::bind(&inc, 0)();  // { dg-error  ""}
+  std::bind(&inc, _1)(0);               // { dg-error  "" }
+  std::bind(&inc, std::ref(dummy))();  // { dg-error  "" }
+  std::bind(&inc, dummy)();  // { dg-error  "" }
+  std::bind(&inc, 0)();  // { dg-error  "" }
 }
 
 struct Inc
@@ -46,8 +46,8 @@ struct Inc
 void test02()
 {
   const int dummy = 0;
-  std::bind(Inc(), _1)(dummy);                  // { dg-error  ""}
-  std::bind(&Inc::f, Inc(), std::ref(dummy))(); // { dg-error  ""}
+  std::bind(Inc(), _1)(dummy);                  // { dg-error  "" }
+  std::bind(&Inc::f, Inc(), std::ref(dummy))(); // { dg-error  "" }
 }
 
 int main()
@@ -56,4 +56,3 @@ int main()
   test02();
 }
 
-// { dg-excess-errors "" }

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: v3 testsuite PATCH to avoid dg-excess-errors
  2011-06-10  4:46 v3 testsuite PATCH to avoid dg-excess-errors Jason Merrill
@ 2011-06-10  8:56 ` Jonathan Wakely
  2011-06-10 12:12   ` Paolo Carlini
  0 siblings, 1 reply; 3+ messages in thread
From: Jonathan Wakely @ 2011-06-10  8:56 UTC (permalink / raw)
  To: Jason Merrill; +Cc: gcc-patches List

On 10 June 2011 04:45, Jason Merrill wrote:
>
> Doing this revealed that the bind/ref_neg.cc test was broken; the dg-error
> tags were missing a space before the closing }, so they were being ignored.
>  When I fix that, I find that two of the tests are failing.

Doh.

> I'm committing the first patch, but am holding off on the second for now.
>  Should I go ahead and commit it or would someone like to fix those bugs and
> then commit it themselves?


I'll look at the broken tests asap, but that will be after work in
about 8 hours.  I'm ok if you want to go ahead and commit the patch,
but if you do let's warn HJ that the regression testers will see the
FAILs.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: v3 testsuite PATCH to avoid dg-excess-errors
  2011-06-10  8:56 ` Jonathan Wakely
@ 2011-06-10 12:12   ` Paolo Carlini
  0 siblings, 0 replies; 3+ messages in thread
From: Paolo Carlini @ 2011-06-10 12:12 UTC (permalink / raw)
  To: Jonathan Wakely; +Cc: Jason Merrill, gcc-patches List

On 06/10/2011 10:36 AM, Jonathan Wakely wrote:
> I'll look at the broken tests asap, but that will be after work in
> about 8 hours.  I'm ok if you want to go ahead and commit the patch,
> but if you do let's warn HJ that the regression testers will see the
> FAILs.
Thanks Jon. The good news is that the same happens - no actual errors 
for line 34 & 35 - also for std::tr1::bind, thus for sure we didn't 
regress in the C++0x bind...

Paolo.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-06-10 11:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-10  4:46 v3 testsuite PATCH to avoid dg-excess-errors Jason Merrill
2011-06-10  8:56 ` Jonathan Wakely
2011-06-10 12:12   ` Paolo Carlini

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).