Tests for the implicit allocator rebinding extension will fail if the
extension is disabled, so skip them.
* testsuite/23_containers/array/requirements/explicit_instantiation/
3.cc: Skip test when compiled with a -std=c++NN strict mode.
* testsuite/23_containers/deque/requirements/explicit_instantiation/
3.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/list/requirements/explicit_instantiation/
3.cc: Likewise.
* testsuite/23_containers/map/requirements/explicit_instantiation/
3.cc: Likewise.
* testsuite/23_containers/multimap/requirements/explicit_instantiation/
3.cc: Likewise.
* testsuite/23_containers/multiset/requirements/explicit_instantiation/
3.cc: Likewise.
* testsuite/23_containers/set/requirements/explicit_instantiation/
3.cc: Likewise.
* testsuite/23_containers/unordered_map/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/unordered_multimap/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/unordered_multiset/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/unordered_set/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
3.cc: Likewise.
* testsuite/23_containers/vector/requirements/explicit_instantiation/
3.cc: Likewise.
Tested powerpc64le-linux, committed to trunk.
commit 2bcdb54ddf73aebf4935fde4ee9e0eabbdd18d83
Author: Jonathan Wakely <jwak...@redhat.com>
Date: Fri Oct 19 22:23:00 2018 +0100
Skip tests for GNU extensions when testing with strict mode
Tests for the implicit allocator rebinding extension will fail if the
extension is disabled, so skip them.
* testsuite/23_containers/array/requirements/explicit_instantiation/
3.cc: Skip test when compiled with a -std=c++NN strict mode.
* testsuite/23_containers/deque/requirements/explicit_instantiation/
3.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/list/requirements/explicit_instantiation/
3.cc: Likewise.
* testsuite/23_containers/map/requirements/explicit_instantiation/
3.cc: Likewise.
*
testsuite/23_containers/multimap/requirements/explicit_instantiation/
3.cc: Likewise.
*
testsuite/23_containers/multiset/requirements/explicit_instantiation/
3.cc: Likewise.
* testsuite/23_containers/set/requirements/explicit_instantiation/
3.cc: Likewise.
* testsuite/23_containers/unordered_map/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/unordered_multimap/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/unordered_multiset/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/unordered_set/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
3.cc: Likewise.
*
testsuite/23_containers/vector/requirements/explicit_instantiation/
3.cc: Likewise.
diff --git
a/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/3.cc
b/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/3.cc
index 56c6492c176..000281c6c56 100644
---
a/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/3.cc
+++
b/libstdc++-v3/testsuite/23_containers/array/requirements/explicit_instantiation/3.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "no extensions in strict dialects" { *-*-* } { "-std=c++*" } }
// 2010-05-20 Paolo Carlini <paolo.carl...@oracle.com>
//
@@ -20,6 +21,7 @@
// <http://www.gnu.org/licenses/>.
// This file tests explicit instantiation of library containers
+// with an allocator for a different value_type (which is a GNU extension).
#include <array>
#include <testsuite_hooks.h>
diff --git
a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc
b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc
index ced9c45d0cf..22aa6cf836f 100644
---
a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc
+++
b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/3.cc
@@ -15,12 +15,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-
// This file tests explicit instantiation of library containers
+// with an allocator for a different value_type (which is a GNU extension).
#include <deque>
// { dg-do compile }
+// { dg-skip-if "no extensions in strict dialects" { *-*-* } { "-std=c++*" } }
// libstdc++/21770
template class std::deque<int, std::allocator<char> >;
diff --git
a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc
b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc
index 097cee38d3d..808b5912c3b 100644
---
a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc
+++
b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/explicit_instantiation/3.cc
@@ -16,12 +16,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-
// This file tests explicit instantiation of library containers
+// with an allocator for a different value_type (which is a GNU extension).
#include <forward_list>
// { dg-do compile { target c++11 } }
+// { dg-skip-if "no extensions in strict dialects" { *-*-* } { "-std=c++*" } }
// libstdc++/21770
template class std::forward_list<int, std::allocator<char> >;
diff --git
a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/3.cc
b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/3.cc
index 9fb49859bed..33a3315b84c 100644
---
a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/3.cc
+++
b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/3.cc
@@ -15,12 +15,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-
// This file tests explicit instantiation of library containers
+// with an allocator for a different value_type (which is a GNU extension).
#include <list>
// { dg-do compile }
+// { dg-skip-if "no extensions in strict dialects" { *-*-* } { "-std=c++*" } }
// libstdc++/21770
template class std::list<int, std::allocator<char> >;
diff --git
a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/3.cc
b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/3.cc
index eed10231e60..def50c608e7 100644
---
a/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/3.cc
+++
b/libstdc++-v3/testsuite/23_containers/map/requirements/explicit_instantiation/3.cc
@@ -15,12 +15,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-
// This file tests explicit instantiation of library containers
+// with an allocator for a different value_type (which is a GNU extension).
#include <map>
// { dg-do compile }
+// { dg-skip-if "no extensions in strict dialects" { *-*-* } { "-std=c++*" } }
// libstdc++/21770
template class std::map<int, double, std::less<int>, std::allocator<char> >;
diff --git
a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc
b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc
index 0dcf96219e4..af33f7c67f6 100644
---
a/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc
+++
b/libstdc++-v3/testsuite/23_containers/multimap/requirements/explicit_instantiation/3.cc
@@ -15,12 +15,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-
// This file tests explicit instantiation of library containers
+// with an allocator for a different value_type (which is a GNU extension).
#include <map>
// { dg-do compile }
+// { dg-skip-if "no extensions in strict dialects" { *-*-* } { "-std=c++*" } }
// libstdc++/21770
template class std::multimap<int, double, std::less<int>, std::allocator<char>
>;
diff --git
a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc
b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc
index 366f9a6d1ec..18b20b61e8f 100644
---
a/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc
+++
b/libstdc++-v3/testsuite/23_containers/multiset/requirements/explicit_instantiation/3.cc
@@ -15,12 +15,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-
// This file tests explicit instantiation of library containers
+// with an allocator for a different value_type (which is a GNU extension).
#include <set>
// { dg-do compile }
+// { dg-skip-if "no extensions in strict dialects" { *-*-* } { "-std=c++*" } }
// libstdc++/21770
template class std::multiset<int, std::less<int>, std::allocator<char> >;
diff --git
a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/3.cc
b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/3.cc
index cd5c0969294..a51bf47da9e 100644
---
a/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/3.cc
+++
b/libstdc++-v3/testsuite/23_containers/set/requirements/explicit_instantiation/3.cc
@@ -15,12 +15,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-
// This file tests explicit instantiation of library containers
+// with an allocator for a different value_type (which is a GNU extension).
#include <set>
// { dg-do compile }
+// { dg-skip-if "no extensions in strict dialects" { *-*-* } { "-std=c++*" } }
// libstdc++/21770
template class std::set<int, std::less<int>, std::allocator<char> >;
diff --git
a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc
b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc
index 1332d76ec11..09e2267b666 100644
---
a/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc
+++
b/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/3.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "no extensions in strict dialects" { *-*-* } { "-std=c++*" } }
// Copyright (C) 2007-2018 Free Software Foundation, Inc.
//
@@ -17,6 +18,9 @@
// along with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
+// This file tests explicit instantiation of library containers
+// with an allocator for a different value_type (which is a GNU extension).
+
#include <unordered_map>
using namespace std;
diff --git
a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc
b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc
index 024b4394b19..64c13e5d34d 100644
---
a/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc
+++
b/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/3.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "no extensions in strict dialects" { *-*-* } { "-std=c++*" } }
// Copyright (C) 2007-2018 Free Software Foundation, Inc.
//
@@ -17,6 +18,9 @@
// along with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
+// This file tests explicit instantiation of library containers
+// with an allocator for a different value_type (which is a GNU extension).
+
#include <unordered_map>
using namespace std;
diff --git
a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc
b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc
index ebbb62767e7..71189548490 100644
---
a/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc
+++
b/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/3.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "no extensions in strict dialects" { *-*-* } { "-std=c++*" } }
// Copyright (C) 2007-2018 Free Software Foundation, Inc.
//
@@ -17,6 +18,9 @@
// along with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
+// This file tests explicit instantiation of library containers
+// with an allocator for a different value_type (which is a GNU extension).
+
#include <unordered_set>
using namespace std;
diff --git
a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc
b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc
index f1b6d97554e..892f5528bd3 100644
---
a/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc
+++
b/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/3.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "no extensions in strict dialects" { *-*-* } { "-std=c++*" } }
// Copyright (C) 2007-2018 Free Software Foundation, Inc.
//
@@ -17,6 +18,9 @@
// along with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
+// This file tests explicit instantiation of library containers
+// with an allocator for a different value_type (which is a GNU extension).
+
#include <unordered_set>
using namespace std;
diff --git
a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc
b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc
index bbb4e1bfe11..b067404b963 100644
---
a/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc
+++
b/libstdc++-v3/testsuite/23_containers/vector/ext_pointer/explicit_instantiation/3.cc
@@ -17,11 +17,14 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
+// This file tests explicit instantiation of library containers
+// with an allocator for a different value_type (which is a GNU extension).
#include <vector>
#include <ext/extptr_allocator.h>
// { dg-do compile }
+// { dg-skip-if "no extensions in strict dialects" { *-*-* } { "-std=c++*" } }
// libstdc++/21770
template class std::vector<int, __gnu_cxx::_ExtPtr_allocator<char> >;
diff --git
a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc
b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc
index d3a5682b877..3d41864e63c 100644
---
a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc
+++
b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/3.cc
@@ -15,12 +15,13 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-
// This file tests explicit instantiation of library containers
+// with an allocator for a different value_type (which is a GNU extension).
#include <vector>
// { dg-do compile }
+// { dg-skip-if "no extensions in strict dialects" { *-*-* } { "-std=c++*" } }
// libstdc++/21770
template class std::vector<int, std::allocator<char> >;