diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2017-04-21 14:08:51 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2017-04-21 14:08:51 +0100 |
commit | a2c0a1942c16c58b39024aaecba443b84b3ad8f6 (patch) | |
tree | 98cc5ef81715dbbb0ab702b455a08d5d56871520 /libstdc++-v3 | |
parent | 2fd30fbe0d3a9525ec14e0102f3ebb0e80a2736e (diff) | |
download | gcc-a2c0a1942c16c58b39024aaecba443b84b3ad8f6.zip gcc-a2c0a1942c16c58b39024aaecba443b84b3ad8f6.tar.gz gcc-a2c0a1942c16c58b39024aaecba443b84b3ad8f6.tar.bz2 |
Avoid deprecated warnings about std::auto_ptr in library headers
* include/backward/auto_ptr.h: Ignore deprecated warnings from use
of auto_ptr.
* include/bits/shared_ptr.h: Likewise.
* include/bits/shared_ptr_base.h: Likewise.
* include/bits/unique_ptr.h: Likewise.
* libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc: Adjust
dg-error lineno.
* libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc: Likewise.
* libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc:
Likewise.
* libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc:
Likewise.
From-SVN: r247063
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 15 | ||||
-rw-r--r-- | libstdc++-v3/include/backward/auto_ptr.h | 4 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/shared_ptr.h | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/shared_ptr_base.h | 12 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/unique_ptr.h | 6 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc | 2 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc | 2 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc | 4 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc | 2 |
9 files changed, 48 insertions, 5 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 7fb1998..2e58773 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,18 @@ +2017-04-21 Jonathan Wakely <jwakely@redhat.com> + + * include/backward/auto_ptr.h: Ignore deprecated warnings from use + of auto_ptr. + * include/bits/shared_ptr.h: Likewise. + * include/bits/shared_ptr_base.h: Likewise. + * include/bits/unique_ptr.h: Likewise. + * libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc: Adjust + dg-error lineno. + * libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc: Likewise. + * libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc: + Likewise. + * libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: + Likewise. + 2017-04-20 Edward Smith-Rowland <3dw4rd@verizon.net> PR libstdc++/68397 std::tr1::expint fails ... long double arguments. diff --git a/libstdc++-v3/include/backward/auto_ptr.h b/libstdc++-v3/include/backward/auto_ptr.h index 9ad18738..e8aadf2 100644 --- a/libstdc++-v3/include/backward/auto_ptr.h +++ b/libstdc++-v3/include/backward/auto_ptr.h @@ -53,6 +53,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { } } _GLIBCXX_DEPRECATED; +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" /** * @brief A simple smart pointer providing strict ownership semantics. @@ -327,6 +329,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION : _M_t(__u.release(), deleter_type()) { } #endif +#pragma GCC diagnostic pop + _GLIBCXX_END_NAMESPACE_VERSION } // namespace diff --git a/libstdc++-v3/include/bits/shared_ptr.h b/libstdc++-v3/include/bits/shared_ptr.h index fe933ff..2ddb221 100644 --- a/libstdc++-v3/include/bits/shared_ptr.h +++ b/libstdc++-v3/include/bits/shared_ptr.h @@ -266,8 +266,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION : __shared_ptr<_Tp>(__r) { } #if _GLIBCXX_USE_DEPRECATED +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" template<typename _Yp, typename = _Constructible<auto_ptr<_Yp>>> shared_ptr(auto_ptr<_Yp>&& __r); +#pragma GCC diagnostic pop #endif // _GLIBCXX_RESOLVE_LIB_DEFECTS @@ -304,6 +307,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } #if _GLIBCXX_USE_DEPRECATED +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" template<typename _Yp> _Assignable<auto_ptr<_Yp>> operator=(auto_ptr<_Yp>&& __r) @@ -311,6 +316,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION this->__shared_ptr<_Tp>::operator=(std::move(__r)); return *this; } +#pragma GCC diagnostic pop #endif shared_ptr& diff --git a/libstdc++-v3/include/bits/shared_ptr_base.h b/libstdc++-v3/include/bits/shared_ptr_base.h index c8d7f20..c32cd0f 100644 --- a/libstdc++-v3/include/bits/shared_ptr_base.h +++ b/libstdc++-v3/include/bits/shared_ptr_base.h @@ -62,7 +62,10 @@ namespace std _GLIBCXX_VISIBILITY(default) _GLIBCXX_BEGIN_NAMESPACE_VERSION #if _GLIBCXX_USE_DEPRECATED +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" template<typename> class auto_ptr; +#pragma GCC diagnostic pop #endif /** @@ -639,10 +642,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } #if _GLIBCXX_USE_DEPRECATED +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" // Special case for auto_ptr<_Tp> to provide the strong guarantee. template<typename _Tp> explicit __shared_count(std::auto_ptr<_Tp>&& __r); +#pragma GCC diagnostic pop #endif // Special case for unique_ptr<_Tp,_Del> to provide the strong guarantee. @@ -1179,9 +1185,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif #if _GLIBCXX_USE_DEPRECATED +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" // Postcondition: use_count() == 1 and __r.get() == 0 template<typename _Yp, typename = _Compatible<_Yp>> __shared_ptr(auto_ptr<_Yp>&& __r); +#pragma GCC diagnostic pop #endif constexpr __shared_ptr(nullptr_t) noexcept : __shared_ptr() { } @@ -1196,6 +1205,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } #if _GLIBCXX_USE_DEPRECATED +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" template<typename _Yp> _Assignable<_Yp> operator=(auto_ptr<_Yp>&& __r) @@ -1203,6 +1214,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __shared_ptr(std::move(__r)).swap(*this); return *this; } +#pragma GCC diagnostic pop #endif __shared_ptr& diff --git a/libstdc++-v3/include/bits/unique_ptr.h b/libstdc++-v3/include/bits/unique_ptr.h index a31cd67..92029c2 100644 --- a/libstdc++-v3/include/bits/unique_ptr.h +++ b/libstdc++-v3/include/bits/unique_ptr.h @@ -48,7 +48,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION */ #if _GLIBCXX_USE_DEPRECATED +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" template<typename> class auto_ptr; +#pragma GCC diagnostic pop #endif /// Primary template of default_delete, used by unique_ptr @@ -254,10 +257,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { } #if _GLIBCXX_USE_DEPRECATED +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" /// Converting constructor from @c auto_ptr template<typename _Up, typename = _Require< is_convertible<_Up*, _Tp*>, is_same<_Dp, default_delete<_Tp>>>> unique_ptr(auto_ptr<_Up>&& __u) noexcept; +#pragma GCC diagnostic pop #endif /// Destructor, invokes the deleter if the stored pointer is not null. diff --git a/libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc b/libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc index d8bdf7f..33850d5 100644 --- a/libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc +++ b/libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc @@ -26,4 +26,4 @@ struct D : B { }; D d; std::default_delete<B[]> db; typedef decltype(db(&d)) type; // { dg-error "no match" } -// { dg-error "no type" "" { target *-*-* } 108 } +// { dg-error "no type" "" { target *-*-* } 111 } diff --git a/libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc b/libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc index db00f81..7709f0c 100644 --- a/libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc +++ b/libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc @@ -25,5 +25,5 @@ void test01() { std::default_delete<void> d; d(nullptr); // { dg-error "here" } - // { dg-error "incomplete" "" { target *-*-* } 74 } + // { dg-error "incomplete" "" { target *-*-* } 77 } } diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc index 9000ad9..259282a 100644 --- a/libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc @@ -42,10 +42,10 @@ void f() std::unique_ptr<int, D&> ud(nullptr, d); ub = std::move(ud); // { dg-error "no match" } ub2 = ud; // { dg-error "no match" } -// { dg-error "no type" "" { target *-*-* } 301 } +// { dg-error "no type" "" { target *-*-* } 307 } std::unique_ptr<int[], B&> uba(nullptr, b); std::unique_ptr<int[], D&> uda(nullptr, d); uba = std::move(uda); // { dg-error "no match" } -// { dg-error "no type" "" { target *-*-* } 560 } +// { dg-error "no type" "" { target *-*-* } 566 } } diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc index 8d29c91..3ef7878 100644 --- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc @@ -39,7 +39,7 @@ test07() std::unique_ptr<const A[]> cA3(p); // { dg-error "no matching function" } std::unique_ptr<volatile A[]> vA3(p); // { dg-error "no matching function" } std::unique_ptr<const volatile A[]> cvA3(p); // { dg-error "no matching function" } - // { dg-error "no type" "" { target *-*-* } 467 } + // { dg-error "no type" "" { target *-*-* } 473 } } template<typename T> |