From c641e8e5447f936a2804f72b0a03a134f53773ab Mon Sep 17 00:00:00 2001 From: Andrey Semashev Date: Fri, 17 Jul 2015 21:37:01 +0300 Subject: [PATCH] Disabled libstdc++ warnings about auto_ptr deprecation. --- include/boost/get_pointer.hpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/include/boost/get_pointer.hpp b/include/boost/get_pointer.hpp index 5e38832..774f52c 100644 --- a/include/boost/get_pointer.hpp +++ b/include/boost/get_pointer.hpp @@ -26,13 +26,35 @@ template T * get_pointer(T * p) #if !defined( BOOST_NO_AUTO_PTR ) +#if defined( __GNUC__ ) +#if defined( BOOST_GCC ) && BOOST_GCC >= 40600 +#define BOOST_CORE_DETAIL_DISABLE_LIBSTDCXX_DEPRECATED_WARNINGS +#elif defined( __clang__ ) && defined( __has_warning ) +#if __has_warning("-Wdeprecated-declarations") +#define BOOST_CORE_DETAIL_DISABLE_LIBSTDCXX_DEPRECATED_WARNINGS +#endif // __has_warning("-Wdeprecated-declarations") +#endif +#endif // defined( __GNUC__ ) + +#if defined( BOOST_CORE_DETAIL_DISABLE_LIBSTDCXX_DEPRECATED_WARNINGS ) +// Disable libstdc++ warnings about std::auto_ptr being deprecated in C++11 mode +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#define BOOST_CORE_DETAIL_DISABLED_DEPRECATED_WARNINGS +#endif + template T * get_pointer(std::auto_ptr const& p) { return p.get(); } +#if defined( BOOST_CORE_DETAIL_DISABLE_LIBSTDCXX_DEPRECATED_WARNINGS ) +#pragma GCC diagnostic pop +#undef BOOST_CORE_DETAIL_DISABLE_LIBSTDCXX_DEPRECATED_WARNINGS #endif +#endif // !defined( BOOST_NO_AUTO_PTR ) + #if !defined( BOOST_NO_CXX11_SMART_PTR ) template T * get_pointer( std::unique_ptr const& p )