diff --git a/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp b/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp index b31997d..8482515 100644 --- a/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +++ b/include/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp @@ -16,6 +16,7 @@ // #include +#include #include #include @@ -26,6 +27,8 @@ BOOST_PRAGMA_MESSAGE("Using HP aCC++/HP-UX/IA64 sp_counted_base") #endif +BOOST_SP_OBSOLETE() + namespace boost { diff --git a/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp b/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp index f9df68a..81387ce 100644 --- a/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +++ b/include/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp @@ -25,6 +25,7 @@ // #include +#include #include #if defined(BOOST_SP_REPORT_IMPLEMENTATION) @@ -34,6 +35,8 @@ BOOST_PRAGMA_MESSAGE("Using CodeWarrior/PowerPC sp_counted_base") #endif +BOOST_SP_OBSOLETE() + namespace boost { diff --git a/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp b/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp index 0c8d172..a6492ec 100644 --- a/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +++ b/include/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp @@ -17,6 +17,7 @@ // #include +#include #include #if defined(BOOST_SP_REPORT_IMPLEMENTATION) @@ -26,6 +27,8 @@ BOOST_PRAGMA_MESSAGE("Using g++/IA64 sp_counted_base") #endif +BOOST_SP_OBSOLETE() + namespace boost { diff --git a/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp b/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp index 5cc5de9..3d3c7d3 100644 --- a/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +++ b/include/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp @@ -21,6 +21,7 @@ // #include +#include #include #if defined(BOOST_SP_REPORT_IMPLEMENTATION) @@ -30,6 +31,8 @@ BOOST_PRAGMA_MESSAGE("Using g++/MIPS sp_counted_base") #endif +BOOST_SP_OBSOLETE() + namespace boost { diff --git a/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp b/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp index c5f84f5..12c8774 100644 --- a/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +++ b/include/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp @@ -25,6 +25,7 @@ // #include +#include #include #if defined(BOOST_SP_REPORT_IMPLEMENTATION) @@ -34,6 +35,8 @@ BOOST_PRAGMA_MESSAGE("Using g++/PowerPC sp_counted_base") #endif +BOOST_SP_OBSOLETE() + namespace boost { diff --git a/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp b/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp index 8062487..a30e2a7 100644 --- a/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +++ b/include/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp @@ -20,6 +20,7 @@ // Thanks to Michael van der Westhuizen #include +#include #include #include // int32_t @@ -30,6 +31,8 @@ BOOST_PRAGMA_MESSAGE("Using g++/Sparc sp_counted_base") #endif +BOOST_SP_OBSOLETE() + namespace boost { diff --git a/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp b/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp index 1c55918..420265d 100644 --- a/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +++ b/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp @@ -25,6 +25,7 @@ // #include +#include #include #if defined(BOOST_SP_REPORT_IMPLEMENTATION) @@ -34,6 +35,8 @@ BOOST_PRAGMA_MESSAGE("Using g++/x86 sp_counted_base") #endif +BOOST_SP_OBSOLETE() + namespace boost { diff --git a/include/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp b/include/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp index d60dd75..fc84ec1 100644 --- a/include/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +++ b/include/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp @@ -20,6 +20,7 @@ // Thanks to Michael van der Westhuizen #include +#include #include #include // uint32_t @@ -30,6 +31,8 @@ BOOST_PRAGMA_MESSAGE("Using PS3 sp_counted_base") #endif +BOOST_SP_OBSOLETE() + namespace boost { diff --git a/include/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp b/include/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp index e08536d..d3e5442 100644 --- a/include/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +++ b/include/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp @@ -22,6 +22,7 @@ // #include +#include #include #if defined(BOOST_SP_REPORT_IMPLEMENTATION) @@ -31,6 +32,8 @@ BOOST_PRAGMA_MESSAGE("Using xlC/PowerPC sp_counted_base") #endif +BOOST_SP_OBSOLETE() + extern "builtin" void __lwsync(void); extern "builtin" void __isync(void); extern "builtin" int __fetch_and_add(volatile int* addr, int val); diff --git a/include/boost/smart_ptr/detail/sp_obsolete.hpp b/include/boost/smart_ptr/detail/sp_obsolete.hpp new file mode 100644 index 0000000..021e72e --- /dev/null +++ b/include/boost/smart_ptr/detail/sp_obsolete.hpp @@ -0,0 +1,32 @@ +#ifndef BOOST_SMART_PTR_DETAIL_SP_OBSOLETE_HPP_INCLUDED +#define BOOST_SMART_PTR_DETAIL_SP_OBSOLETE_HPP_INCLUDED + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +# pragma once +#endif + + +// boost/smart_ptr/detail/sp_obsolete.hpp +// +// Copyright 2020 Peter Dimov +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt +// +// Defines the BOOST_SP_OBSOLETE macro that emits a deprecation +// message. + +#include + +#if !defined( BOOST_SP_NO_OBSOLETE_MESSAGE ) + +#define BOOST_SP_OBSOLETE() BOOST_PRAGMA_MESSAGE("This platform-specific implementation is presumed obsolete and is slated for removal. If you want it retained, please open an issue in https://github.com/boostorg/smart_ptr.") + +#else + +#define BOOST_SP_OBSOLETE() + +#endif + +#endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_OBSOLETE_HPP_INCLUDED