diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2023-09-04 14:25:14 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2023-09-04 16:24:35 +0100 |
commit | 678834e9ff541f4a5b1065357e94e863b6f34913 (patch) | |
tree | 5fd7ef70d93c14f7987085d30cf12c18678e05fb | |
parent | affbb7b4322a01cecddaa4dfb70faee925a2348b (diff) | |
download | gcc-678834e9ff541f4a5b1065357e94e863b6f34913.zip gcc-678834e9ff541f4a5b1065357e94e863b6f34913.tar.gz gcc-678834e9ff541f4a5b1065357e94e863b6f34913.tar.bz2 |
libstdc++: Enable std::auto_ptr tests for C++11 and later
There is no reason to only test std::auto_ptr with -std=c++03, we just
need to handle the deprecated warnings for C++11 and later.
libstdc++-v3/ChangeLog:
* testsuite/20_util/auto_ptr/1.cc: Remove dg-options -std=c++03
and add dg-warning for deprecation warnings.
* testsuite/20_util/auto_ptr/2.cc: Likewise.
* testsuite/20_util/auto_ptr/3.cc: Likewise.
* testsuite/20_util/auto_ptr/3946.cc: Likewise.
* testsuite/20_util/auto_ptr/4.cc: Likewise.
* testsuite/20_util/auto_ptr/5.cc: Likewise.
* testsuite/20_util/auto_ptr/6.cc: Likewise.
* testsuite/20_util/auto_ptr/7.cc: Likewise.
* testsuite/20_util/auto_ptr/assign_neg.cc: Likewise.
* testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.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/43820_neg.cc:
Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
Likewise.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
Likewise.
16 files changed, 44 insertions, 31 deletions
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc index b498711..64c0cf9 100644 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc +++ b/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc @@ -15,9 +15,9 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// 20.4.5 Template class auto_ptr [lib.auto.ptr] +// C++03 20.4.5 Template class auto_ptr [lib.auto.ptr] -// { dg-options "-std=c++98" } +// { dg-add-options using-deprecated } #include <memory> #include <testsuite_hooks.h> @@ -63,21 +63,21 @@ test01() { reset_count_struct __attribute__((unused)) reset; - std::auto_ptr<A> A_default; + std::auto_ptr<A> A_default; // { dg-warning "deprecated" "" { target c++11 } } VERIFY( A_default.get() == 0 ); VERIFY( A::ctor_count == 0 ); VERIFY( A::dtor_count == 0 ); VERIFY( B::ctor_count == 0 ); VERIFY( B::dtor_count == 0 ); - std::auto_ptr<A> A_from_A(new A); + std::auto_ptr<A> A_from_A(new A); // { dg-warning "deprecated" "" { target c++11 } } VERIFY( A_from_A.get() != 0 ); VERIFY( A::ctor_count == 1 ); VERIFY( A::dtor_count == 0 ); VERIFY( B::ctor_count == 0 ); VERIFY( B::dtor_count == 0 ); - std::auto_ptr<A> A_from_B(new B); + std::auto_ptr<A> A_from_B(new B); // { dg-warning "deprecated" "" { target c++11 } } VERIFY( A_from_B.get() != 0 ); VERIFY( A::ctor_count == 2 ); VERIFY( A::dtor_count == 0 ); diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc index 0d5aabe..9cbab13 100644 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc +++ b/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc @@ -15,9 +15,10 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// 20.4.5 Template class auto_ptr [lib.auto.ptr] +// C++03 20.4.5 Template class auto_ptr [lib.auto.ptr] -// { dg-options "-std=c++98" } +// { dg-add-options using-deprecated } +// { dg-warning "auto_ptr. is deprecated" "" { target c++11 } 0 } #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 afac401..ce02040 100644 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc +++ b/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc @@ -15,9 +15,10 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// 20.4.5 Template class auto_ptr [lib.auto.ptr] +// C++03 20.4.5 Template class auto_ptr [lib.auto.ptr] -// { dg-options "-std=c++98" } +// { dg-add-options using-deprecated } +// { dg-warning "auto_ptr. is deprecated" "" { target c++11 } 0 } #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 d6d755a..42ccf99 100644 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc +++ b/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc @@ -15,9 +15,10 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// 20.4.5 Template class auto_ptr [lib.auto.ptr] +// C++03 20.4.5 Template class auto_ptr [lib.auto.ptr] -// { dg-options "-std=c++98" } +// { dg-add-options using-deprecated } +// { dg-warning "auto_ptr. is deprecated" "" { target c++11 } 0 } #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 fb896e1..7cf5996 100644 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc +++ b/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc @@ -15,9 +15,10 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// 20.4.5 Template class auto_ptr [lib.auto.ptr] +// C++03 20.4.5 Template class auto_ptr [lib.auto.ptr] -// { dg-options "-std=c++98" } +// { dg-add-options using-deprecated } +// { dg-warning "auto_ptr. is deprecated" "" { target c++11 } 0 } #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 8a766e6..1e60f13 100644 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc +++ b/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc @@ -15,9 +15,10 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// 20.4.5 Template class auto_ptr [lib.auto.ptr] +// C++03 20.4.5 Template class auto_ptr [lib.auto.ptr] -// { dg-options "-std=c++98" } +// { dg-add-options using-deprecated } +// { dg-warning "auto_ptr. is deprecated" "" { target c++11 } 0 } #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 cd1f054..d888301 100644 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc +++ b/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc @@ -15,9 +15,10 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// 20.4.5 Template class auto_ptr [lib.auto.ptr] +// C++03 20.4.5 Template class auto_ptr [lib.auto.ptr] -// { dg-options "-std=c++98" } +// { dg-add-options using-deprecated } +// { dg-warning "auto_ptr. is deprecated" "" { target c++11 } 0 } #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 86338c7..fd3f78a 100644 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc +++ b/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc @@ -15,9 +15,10 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// 20.4.5 Template class auto_ptr [lib.auto.ptr] +// C++03 20.4.5 Template class auto_ptr [lib.auto.ptr] -// { dg-options "-std=c++98" } +// { dg-add-options using-deprecated } +// { dg-warning "auto_ptr. is deprecated" "" { target c++11 } 0 } #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 5ff2ddb..fa890fa 100644 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc +++ b/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc @@ -1,4 +1,6 @@ // { dg-do compile } +// { dg-add-options using-deprecated } +// { dg-warning "auto_ptr. is deprecated" "" { target c++11 } 0 } // Copyright (C) 2002-2023 Free Software Foundation, Inc. // @@ -17,9 +19,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// 20.4.5 Template class auto_ptr negative tests [lib.auto.ptr] - -// { dg-options "-std=c++98" } +// C++03 20.4.5 Template class auto_ptr negative tests [lib.auto.ptr] #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 be7fb48..b26b784 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 @@ -1,4 +1,6 @@ // { dg-do compile } +// { dg-add-options using-deprecated } +// { dg-warning "auto_ptr. is deprecated" "" { target c++11 } 0 } // Copyright (C) 2007-2023 Free Software Foundation, Inc. // @@ -18,9 +20,7 @@ // <http://www.gnu.org/licenses/>. -// This file tests explicit instantiation of library containers. - -// { dg-options "-std=c++98" } +// This file tests explicit instantiation of library templates. #include <memory> 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 c3ac4af..ad39e18 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,7 +17,8 @@ // TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared] -// { dg-options "-std=c++98" } +// { dg-add-options using-deprecated } +// { dg-warning "auto_ptr. is deprecated" "" { target c++11 } 0 } #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 56cc149..2f8697a 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,7 +19,8 @@ // TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared] -// { dg-options "-std=c++98" } +// { dg-add-options using-deprecated } +// { dg-warning "auto_ptr. is deprecated" "" { target c++11 } 0 } #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 b77208a..2efc9de 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,7 +19,8 @@ // TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared] -// { dg-options "-std=c++98" } +// { dg-add-options using-deprecated } +// { dg-warning "auto_ptr. is deprecated" "" { target c++11 } 0 } #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 f6ba60a..3229a52 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,7 +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" } +// { dg-add-options using-deprecated } +// { dg-warning "auto_ptr. is deprecated" "" { target c++11 } 0 } // 2.2.3 Class template shared_ptr [tr.util.smartptr.shared] 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 371b2a8..d885597 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,7 +15,8 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// { dg-options "-std=c++98" } +// { dg-add-options using-deprecated } +// { dg-warning "auto_ptr. is deprecated" "" { target c++11 } 0 } // TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared] 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 88c896c..8b2fff2 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,7 +17,8 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// { dg-options "-std=c++98" } +// { dg-add-options using-deprecated } +// { dg-warning "auto_ptr. is deprecated" "" { target c++11 } 0 } // TR1 2.2.2 Template class shared_ptr [tr.util.smartptr.shared] |