From 4aa9afb41f6c68620efc35697c00bbd60b3ba460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Dumont?= Date: Thu, 2 Dec 2010 22:05:29 +0100 Subject: [PATCH] 2.cc: Hide explicit instantiation with non default constructible type ... MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2010-12-02 François Dumont * testsuite/23_containers/vector/requirements/explicit_instantiation/ 2.cc: Hide explicit instantiation with non default constructible type in C++0x mode. * testsuite/23_containers/deque/requirements/explicit_instantiation/ 2.cc: Likewise * testsuite/23_containers/list/requirements/explicit_instantiation/ 2.cc: Likewise. From-SVN: r167391 --- libstdc++-v3/ChangeLog | 14 ++++++++++++-- .../deque/requirements/explicit_instantiation/2.cc | 5 ++++- .../list/requirements/explicit_instantiation/2.cc | 5 ++++- .../requirements/explicit_instantiation/2.cc | 5 ++++- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index c5f6ab9555f2..7d110a31e10b 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,13 @@ +2010-12-02 François Dumont + + * testsuite/23_containers/vector/requirements/explicit_instantiation/ + 2.cc: Hide explicit instantiation with non default constructible type + in C++0x mode. + * testsuite/23_containers/deque/requirements/explicit_instantiation/ + 2.cc: Likewise. + * testsuite/23_containers/list/requirements/explicit_instantiation/ + 2.cc: Likewise. + 2010-12-02 Kai Tietz PR libstdc++/43738 @@ -7,8 +17,8 @@ 2010-12-01 François Dumont - * testsuite/23_containers/deque/cons/2.cc: Fix to explicitely invoke - the copy construtor with or without C++0x mode. + * testsuite/23_containers/deque/cons/2.cc: Fix to explicitly invoke + the copy constructor with or without C++0x mode. * testsuite/23_containers/vector/cons/4.cc: Likewise. 2010-12-01 Rainer Orth diff --git a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc index 8e6eaaee7754..82efd2605b56 100644 --- a/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc @@ -19,9 +19,12 @@ // This file tests explicit instantiation of library containers #include -#include #include // { dg-do compile } +// N.B. In C++0x mode we cannot instantiate with T == NonDefaultConstructible +// because of 23.3.2.1.4 +#ifndef __GXX_EXPERIMENTAL_CXX0X__ template class std::deque<__gnu_test::NonDefaultConstructible>; +#endif diff --git a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/2.cc index c64c2159d44e..50ae785600b9 100644 --- a/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/list/requirements/explicit_instantiation/2.cc @@ -19,9 +19,12 @@ // This file tests explicit instantiation of library containers #include -#include #include // { dg-do compile } +// N.B. In C++0x mode we cannot instantiate with T == NonDefaultConstructible +// because of 23.3.4.1.4 +#ifndef __GXX_EXPERIMENTAL_CXX0X__ template class std::list<__gnu_test::NonDefaultConstructible>; +#endif diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/2.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/2.cc index 576ba1e71170..4ec749b73574 100644 --- a/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/2.cc +++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/explicit_instantiation/2.cc @@ -19,9 +19,12 @@ // This file tests explicit instantiation of library containers #include -#include #include // { dg-do compile } +// N.B. In C++0x mode we cannot instantiate with T == NonDefaultConstructible +// because of 23.4.1.1.4 +#ifndef __GXX_EXPERIMENTAL_CXX0X__ template class std::vector<__gnu_test::NonDefaultConstructible>; +#endif