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.
This commit is contained in:
Jonathan Wakely 2023-09-04 14:25:14 +01:00
parent affbb7b432
commit 678834e9ff
16 changed files with 44 additions and 31 deletions

View file

@ -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 );

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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]

View file

@ -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]

View file

@ -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]