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?
commit 2ceec8c8f2d4fe83111012361a235dea3c6e5aba
Author: Jason Merrill <ja...@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" }
commit 7f74b6410bd019ebe1d2349e42bf2eaa056b7852
Author: Jason Merrill <ja...@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 "" }