diff mbox

v3 PATCH to fix libstdc++ build/test with C++11 default compiler

Message ID 554D8E65.4050309@redhat.com
State New
Headers show

Commit Message

Jason Merrill May 9, 2015, 4:34 a.m. UTC
The first patch adds -std=c++98 for building C++98 sources.

The second patch fixes all but one of the testsuite failures that turned 
up with a compiler that defaults to C++11.

Tested x86_64-pc-linux-gnu, OK'd by Jonathan in Lenexa.
diff mbox

Patch

commit 1f4bc9e40a848eac411cac183189a8bcb1bf02ef
Author: Jason Merrill <jason@redhat.com>
Date:   Fri May 8 12:03:13 2015 -0500

    	* testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98.
    	* testsuite/20_util/auto_ptr/1.cc: Add -std=c++98.
    	* testsuite/20_util/auto_ptr/2.cc: Add -std=c++98.
    	* testsuite/20_util/auto_ptr/3.cc: Add -std=c++98.
    	* testsuite/20_util/auto_ptr/4.cc: Add -std=c++98.
    	* testsuite/20_util/auto_ptr/5.cc: Add -std=c++98.
    	* testsuite/20_util/auto_ptr/6.cc: Add -std=c++98.
    	* testsuite/20_util/auto_ptr/7.cc: Add -std=c++98.
    	* testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98.
    	* testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98.
    	* testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc: Likewise.
    	* testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated.
    	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust expected errors.
    	* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: Likewise.
    	* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc: Likewise.
    	* testsuite/23_containers/deque/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/ext/array_allocator/1.cc: Add -Wno-deprecated.
    	* testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated.
    	* testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated.
    	* testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated.
    	* testsuite/ext/array_allocator/check_allocate_max_size.cc: Add -Wno-deprecated.
    	* testsuite/ext/array_allocator/check_deallocate_null.cc: Add -Wno-deprecated.
    	* testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated.
    	* testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated.
    	* testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error.
    	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc: Add -std=c++98.
    	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: Add -std=c++98.
    	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Add -std=c++98.
    	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Add -std=c++98 -fno-show-column.
    	* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc: Add -std=c++98.
    	* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: Add -std=c++98.
    	* testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98.
    	* testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98.

diff --git a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc
index e7982ce..082a505 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc
@@ -1,4 +1,5 @@ 
 // { dg-do compile }
+// { dg-options "-std=gnu++98" }
 
 // Copyright (C) 2007-2015 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc
index df52d10..eb88a2d 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc
@@ -17,6 +17,8 @@ 
 
 // 20.4.5 Template class auto_ptr [lib.auto.ptr]
 
+// { dg-options "-std=c++98" }
+
 #include <memory>
 #include <testsuite_hooks.h>
 
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc
index fb478e4..521bf79 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc
@@ -17,6 +17,8 @@ 
 
 // 20.4.5 Template class auto_ptr [lib.auto.ptr]
 
+// { dg-options "-std=c++98" }
+
 #include <memory>
 #include <testsuite_hooks.h>
 
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc
index 25c5602..a37e220 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc
@@ -17,6 +17,8 @@ 
 
 // 20.4.5 Template class auto_ptr [lib.auto.ptr]
 
+// { dg-options "-std=c++98" }
+
 #include <memory>
 #include <testsuite_hooks.h>
 
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc
index a5ab1fc..0072a6b 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc
@@ -17,6 +17,8 @@ 
 
 // 20.4.5 Template class auto_ptr [lib.auto.ptr]
 
+// { dg-options "-std=c++98" }
+
 #include <memory>
 #include <testsuite_hooks.h>
 
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc
index 88d0cac..5b4469c 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc
@@ -17,6 +17,8 @@ 
 
 // 20.4.5 Template class auto_ptr [lib.auto.ptr]
 
+// { dg-options "-std=c++98" }
+
 #include <memory>
 #include <testsuite_hooks.h>
 
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc
index a27a6ef..45a1805 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc
@@ -17,6 +17,8 @@ 
 
 // 20.4.5 Template class auto_ptr [lib.auto.ptr]
 
+// { dg-options "-std=c++98" }
+
 #include <memory>
 #include <testsuite_hooks.h>
 
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc
index 68379b1..6990aaa 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc
@@ -17,6 +17,8 @@ 
 
 // 20.4.5 Template class auto_ptr [lib.auto.ptr]
 
+// { dg-options "-std=c++98" }
+
 #include <memory>
 #include <testsuite_hooks.h>
 
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc
index 1fff811..ac19a02 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc
@@ -17,6 +17,8 @@ 
 
 // 20.4.5 Template class auto_ptr [lib.auto.ptr]
 
+// { dg-options "-std=c++98" }
+
 #include <memory>
 #include <testsuite_hooks.h>
 
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc
index 5d62c62..fca8c6f 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc
@@ -19,6 +19,8 @@ 
 
 // 20.4.5 Template class auto_ptr negative tests [lib.auto.ptr]
 
+// { dg-options "-std=c++98" }
+
 #include <memory>
 #include <testsuite_hooks.h>
 
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc
index b994262..e9e5775 100644
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc
@@ -20,6 +20,8 @@ 
 
 // This file tests explicit instantiation of library containers.
 
+// { dg-options "-std=c++98" }
+
 #include <memory>
 
 template class std::auto_ptr<int>;
diff --git a/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc b/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc
index 7e76ccb..03d37a6 100644
--- a/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc
@@ -17,6 +17,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-options "-Wno-deprecated" }
+
 #include <functional>
 
 namespace std {
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 8604250..d9bc2ac 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
@@ -18,7 +18,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1881 }
+// { dg-prune-output 1881 }
 
 #include <deque>
 
@@ -30,5 +30,5 @@  struct A
 void f()
 {
   std::deque<A> d;
-  d.assign(10, 1);
+  d.assign(10, 1);		// { dg-error "no match|here" }
 }
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 e8fadaa..b4eb75e 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
@@ -18,11 +18,11 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1814 }
+// { dg-prune-output 1814 }
 
 #include <deque>
 
 void f()
 {
-  std::deque<std::deque<int> > d(10, 1);
+  std::deque<std::deque<int> > d(10, 1); // { dg-error "here|no match" }
 }
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 1444343..90ce50a 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
@@ -18,12 +18,12 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1814 }
+// { dg-prune-output 1814 }
 
 #include <deque>
 #include <utility>
 
 void f()
 {
-  std::deque<std::deque<std::pair<char, char> > > d('a', 'b');
+  std::deque<std::deque<std::pair<char, char> > > d('a', 'b'); // { dg-error "here|no match" }
 }
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 0310cf2..5ff9695 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
@@ -18,7 +18,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1965 }
+// { dg-prune-output 1965 }
 
 #include <deque>
 
@@ -30,5 +30,5 @@  struct A
 void f()
 {
   std::deque<A> d;
-  d.insert(d.begin(), 10, 1);
+  d.insert(d.begin(), 10, 1); // { dg-error "here|no match" }
 }
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 4bb80d2..0a60dd7 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
@@ -18,7 +18,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1730 }
+// { dg-prune-output 1730 }
 
 #include <list>
 
@@ -31,5 +31,5 @@  void f()
 {
   typedef std::list<A> list_type;
   list_type l;
-  l.assign(10, 1);
+  l.assign(10, 1);		// { dg-error "here|no match" }
 }
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 5e848a7..8de8b1a 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
@@ -18,12 +18,12 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1682 }
+// { dg-prune-output 1682 }
 
 #include <list>
 
 void f()
 {
   typedef std::list<std::list<int> > list_type;
-  list_type l(10, 1);
+  list_type l(10, 1);		// { dg-error "here|no match" }
 }
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 c2e0d80..970a10b 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
@@ -18,7 +18,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1682 }
+// { dg-prune-output 1682 }
 
 #include <list>
 #include <utility>
@@ -26,5 +26,5 @@ 
 void f()
 {
   typedef std::list<std::list<std::pair<char, char> > > list_type;
-  list_type l('a', 'b');
+  list_type l('a', 'b');	// { dg-error "here|no match" }
 }
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 a2db078..c927735 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
@@ -18,7 +18,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1682 }
+// { dg-prune-output 1682 }
 
 #include <list>
 
@@ -31,5 +31,5 @@  void f()
 {
   typedef std::list<A> list_type;
   list_type l;
-  l.insert(l.begin(), 10, 1);
+  l.insert(l.begin(), 10, 1);	// { dg-error "here|no match" }
 }
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 61daa28..ce8f525 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
@@ -18,7 +18,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1326 }
+// { dg-prune-output 1326 }
 
 #include <vector>
 
@@ -30,5 +30,5 @@  struct A
 void f()
 {
   std::vector<A> v;
-  v.assign(10, 1);
+  v.assign(10, 1);		// { dg-error "here|no match" }
 }
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 14d1494..4f0d365 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
@@ -18,11 +18,11 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1252 }
+// { dg-prune-output 1252 }
 
 #include <vector>
 
 void f()
 {
-  std::vector<std::vector<int> > v(10, 1);
+  std::vector<std::vector<int> > v(10, 1); // { dg-error "here|no match" }
 }
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 6d3517f..34ffaec 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
@@ -18,12 +18,12 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1252 }
+// { dg-prune-output 1252 }
 
 #include <vector>
 #include <utility>
 
 void f()
 {
-  std::vector<std::vector<std::pair<char, char> > > v('a', 'b');
+  std::vector<std::vector<std::pair<char, char> > > v('a', 'b'); // { dg-error "here|no match" }
 }
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 4fcff54..6f611bf 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
@@ -18,7 +18,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-do compile }
-// { dg-error "no matching" "" { target *-*-* } 1367 }
+// { dg-prune-output 1367 }
 
 #include <vector>
 
@@ -30,5 +30,5 @@  struct A
 void f()
 {
   std::vector<A> v;
-  v.insert(v.begin(), 10, 1);
+  v.insert(v.begin(), 10, 1);	// { dg-error "here|no match" }
 }
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/1.cc b/libstdc++-v3/testsuite/ext/array_allocator/1.cc
index f8592e0..9ce7fef 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/1.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/1.cc
@@ -15,6 +15,7 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-options "-Wno-deprecated" }
 
 #include <ext/vstring.h>
 #include <ext/array_allocator.h>
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/2.cc b/libstdc++-v3/testsuite/ext/array_allocator/2.cc
index a012c09..de9afe7 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/2.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/2.cc
@@ -15,6 +15,7 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-options "-Wno-deprecated" }
 
 #include <iostream>
 #include <ext/vstring.h>
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/26875.cc b/libstdc++-v3/testsuite/ext/array_allocator/26875.cc
index 7a9b2c9..caa795d 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/26875.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/26875.cc
@@ -16,6 +16,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-options "-Wno-deprecated" }
+
 #include <ext/array_allocator.h>
 
 // libstdc++/26875
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/3.cc b/libstdc++-v3/testsuite/ext/array_allocator/3.cc
index 380c473..d8d5727 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/3.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/3.cc
@@ -15,6 +15,7 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-options "-Wno-deprecated" }
 
 #include <ext/vstring.h>
 #include <ext/array_allocator.h>
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/check_allocate_max_size.cc b/libstdc++-v3/testsuite/ext/array_allocator/check_allocate_max_size.cc
index aa26cb3..abb3263 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/check_allocate_max_size.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/check_allocate_max_size.cc
@@ -16,6 +16,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-options "-Wno-deprecated" }
+
 // 20.4.1.1 allocator members
 
 #include <ext/array_allocator.h>
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc b/libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc
index 2ee8f98..ae0963e 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc
@@ -16,6 +16,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-options "-Wno-deprecated" }
+
 // 20.4.1.1 allocator members
 
 #include <ext/array_allocator.h>
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc b/libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc
index a7cdeb6..216f916 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc
@@ -17,6 +17,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-options "-Wno-deprecated" }
+
 // 20.4.1.1 allocator members
 
 #include <cstdlib>
diff --git a/libstdc++-v3/testsuite/ext/array_allocator/check_new.cc b/libstdc++-v3/testsuite/ext/array_allocator/check_new.cc
index d0689c2..eedc6fa 100644
--- a/libstdc++-v3/testsuite/ext/array_allocator/check_new.cc
+++ b/libstdc++-v3/testsuite/ext/array_allocator/check_new.cc
@@ -17,6 +17,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-options "-Wno-deprecated" }
+
 // 20.4.1.1 allocator members
 
 #include <cstdlib>
diff --git a/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc b/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
index dd19f14..78365e7 100644
--- a/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
+++ b/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
@@ -26,3 +26,6 @@ 
 #include <vector>
 
 // { dg-error "multiple inlined namespaces" "" { target *-*-* } 322 }
+
+// "template argument 1 is invalid"
+// { dg-prune-output "tuple:993" }
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
index e57b6c0..94344fc9 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc
@@ -17,6 +17,8 @@ 
 
 // TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
 
+// { dg-options "-std=c++98" }
+
 #include <tr1/memory>
 #include <testsuite_hooks.h>
 
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 b8b9c5d..28b4dda 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
@@ -19,6 +19,8 @@ 
 
 // TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
 
+// { dg-options "-std=c++98" }
+
 #include <tr1/memory>
 #include <testsuite_hooks.h>
 
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 05f9d89..4b8d056 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
@@ -19,6 +19,8 @@ 
 
 // TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
 
+// { dg-options "-std=c++98" }
+
 #include <tr1/memory>
 #include <testsuite_hooks.h>
 
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc
index 5ebf03c..276c6a5 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc
@@ -17,6 +17,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-options "-std=c++98 -fno-show-column" }
+
 // 2.2.3 Class template shared_ptr [tr.util.smartptr.shared]
 
 #include <tr1/memory>
diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc
index c95e21d..32c46a8 100644
--- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc
+++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc
@@ -15,6 +15,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-options "-std=c++98" }
+
 // TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
 
 #include <tr1/memory>
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 6dbf796..a3e24c7 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
@@ -17,6 +17,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-options "-std=c++98" }
+
 // TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared]
 
 #include <tr1/memory>
diff --git a/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc b/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc
index cc3873a..da3ec86 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc
@@ -17,6 +17,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-options "-std=c++98" }
+
 // tr1 additions to pair
 
 #include <tr1/utility>
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc
index d5886c0..245a8a5 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc
@@ -17,6 +17,8 @@ 
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
+// { dg-options "-std=c++98" }
+
 #include <cmath>
 using std::pow;
 #include <tr1/cmath>