summaryrefslogtreecommitdiff
path: root/libstdc++-v3/include
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2017-04-21 14:08:51 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2017-04-21 14:08:51 +0100
commita2c0a1942c16c58b39024aaecba443b84b3ad8f6 (patch)
tree98cc5ef81715dbbb0ab702b455a08d5d56871520 /libstdc++-v3/include
parent2fd30fbe0d3a9525ec14e0102f3ebb0e80a2736e (diff)
downloadgcc-a2c0a1942c16c58b39024aaecba443b84b3ad8f6.tar.gz
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/include')
-rw-r--r--libstdc++-v3/include/backward/auto_ptr.h4
-rw-r--r--libstdc++-v3/include/bits/shared_ptr.h6
-rw-r--r--libstdc++-v3/include/bits/shared_ptr_base.h12
-rw-r--r--libstdc++-v3/include/bits/unique_ptr.h6
4 files changed, 28 insertions, 0 deletions
diff --git a/libstdc++-v3/include/backward/auto_ptr.h b/libstdc++-v3/include/backward/auto_ptr.h
index 9ad1873889b..e8aadf2d446 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 fe933ff2afe..2ddb221e2fe 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 c8d7f20d5d7..c32cd0f3cf0 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 a31cd67d6e3..92029c25ab5 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.