diff --git a/include/boost/config/compiler/pathscale.hpp b/include/boost/config/compiler/pathscale.hpp index 7c211c45..83410733 100644 --- a/include/boost/config/compiler/pathscale.hpp +++ b/include/boost/config/compiler/pathscale.hpp @@ -83,6 +83,10 @@ # define BOOST_NO_CXX11_REF_QUALIFIERS # define BOOST_NO_CXX11_FINAL +// C++0y headers not yet implemented +// +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX + // C++ 14: #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) # define BOOST_NO_CXX14_AGGREGATE_NSDMI diff --git a/include/boost/config/compiler/pgi.hpp b/include/boost/config/compiler/pgi.hpp index e5605c9e..9e1991f2 100644 --- a/include/boost/config/compiler/pgi.hpp +++ b/include/boost/config/compiler/pgi.hpp @@ -121,6 +121,10 @@ #define BOOST_NO_CXX11_REF_QUALIFIERS #define BOOST_NO_CXX11_FINAL +// C++0y headers not yet implemented +// +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX + // C++ 14: #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) # define BOOST_NO_CXX14_AGGREGATE_NSDMI diff --git a/include/boost/config/stdlib/dinkumware.hpp b/include/boost/config/stdlib/dinkumware.hpp index 404e6863..ebd5226e 100644 --- a/include/boost/config/stdlib/dinkumware.hpp +++ b/include/boost/config/stdlib/dinkumware.hpp @@ -147,6 +147,21 @@ # define BOOST_NO_CXX11_STD_ALIGN #endif +// C++0y headers not yet implemented +// +// I haven't been able to find any information +// about what version of Dinkumware supports C++14. +// The Dinkumware website says that they now support +// C++14 but they give no further information about +// their standard library. So I will mark the shared_mutex +// header as unsupported until someone finds a version +// of a compiler that uses the Dinkumware standard library +// and they can see that shared_ptr is distributed in that +// version and they can see the value of _CPPLIB_VER in rhat +// version's yvals.h header file. +// +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX + #if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400) // Intel's compiler can't handle this header yet: # define BOOST_NO_CXX11_HDR_ATOMIC diff --git a/include/boost/config/stdlib/libcomo.hpp b/include/boost/config/stdlib/libcomo.hpp index 5aacfb2a..ad63f86a 100644 --- a/include/boost/config/stdlib/libcomo.hpp +++ b/include/boost/config/stdlib/libcomo.hpp @@ -62,6 +62,10 @@ # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF +// C++0y headers not yet implemented +// +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX + // // Intrinsic type_traits support. // The SGI STL has it's own __type_traits class, which diff --git a/include/boost/config/stdlib/libstdcpp3.hpp b/include/boost/config/stdlib/libstdcpp3.hpp index 48d9e949..9a27140e 100644 --- a/include/boost/config/stdlib/libstdcpp3.hpp +++ b/include/boost/config/stdlib/libstdcpp3.hpp @@ -219,6 +219,11 @@ // Although is present and compilable against, the actual implementation is not functional // even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively. # define BOOST_NO_CXX11_HDR_REGEX +// +// C++0y headers not yet implemented +// +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +// #endif #if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7))) @@ -254,6 +259,9 @@ # ifndef BOOST_NO_CXX11_HDR_THREAD # define BOOST_NO_CXX11_HDR_THREAD # endif +# ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +# endif #endif #if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX) diff --git a/include/boost/config/stdlib/modena.hpp b/include/boost/config/stdlib/modena.hpp index f2a83888..2c96bfee 100644 --- a/include/boost/config/stdlib/modena.hpp +++ b/include/boost/config/stdlib/modena.hpp @@ -51,6 +51,10 @@ # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF +// C++0y headers not yet implemented +// +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX + #define BOOST_STDLIB "Modena C++ standard library" diff --git a/include/boost/config/stdlib/msl.hpp b/include/boost/config/stdlib/msl.hpp index b8f43a12..c7af2f7f 100644 --- a/include/boost/config/stdlib/msl.hpp +++ b/include/boost/config/stdlib/msl.hpp @@ -75,6 +75,10 @@ # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF +// C++0y headers not yet implemented +// +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX + #define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__) diff --git a/include/boost/config/stdlib/roguewave.hpp b/include/boost/config/stdlib/roguewave.hpp index 2b4e8636..2c348c3a 100644 --- a/include/boost/config/stdlib/roguewave.hpp +++ b/include/boost/config/stdlib/roguewave.hpp @@ -187,3 +187,6 @@ # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF +// C++0y headers not yet implemented +// +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX \ No newline at end of file diff --git a/include/boost/config/stdlib/sgi.hpp b/include/boost/config/stdlib/sgi.hpp index bda77c22..4992bd05 100644 --- a/include/boost/config/stdlib/sgi.hpp +++ b/include/boost/config/stdlib/sgi.hpp @@ -145,7 +145,8 @@ # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF -#define BOOST_STDLIB "SGI standard library" - - +// C++0y headers not yet implemented +// +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#define BOOST_STDLIB "SGI standard library" \ No newline at end of file diff --git a/include/boost/config/stdlib/stlport.hpp b/include/boost/config/stdlib/stlport.hpp index fd5d3a5a..e34f3864 100644 --- a/include/boost/config/stdlib/stlport.hpp +++ b/include/boost/config/stdlib/stlport.hpp @@ -235,6 +235,10 @@ namespace boost { using std::min; using std::max; } # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF +// C++0y headers not yet implemented +// +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX + #define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT) diff --git a/include/boost/config/stdlib/vacpp.hpp b/include/boost/config/stdlib/vacpp.hpp index a58ec1c5..82589b84 100644 --- a/include/boost/config/stdlib/vacpp.hpp +++ b/include/boost/config/stdlib/vacpp.hpp @@ -51,6 +51,10 @@ # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF +// C++0y headers not yet implemented +// +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX + #define BOOST_STDLIB "Visual Age default standard library" diff --git a/test/boost_no_cxx14_hdr_shared_mutex.ipp b/test/boost_no_cxx14_hdr_shared_mutex.ipp new file mode 100644 index 00000000..7cac6fcc --- /dev/null +++ b/test/boost_no_cxx14_hdr_shared_mutex.ipp @@ -0,0 +1,24 @@ +// (C) Copyright Edward Diener 2015 + +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for more information. + +// MACRO: BOOST_NO_CXX14_HDR_SHARED_MUTEX +// TITLE: C++0y header unavailable +// DESCRIPTION: The standard library does not supply C++0y header + +#include + +namespace boost_no_cxx14_hdr_shared_mutex { + +int test() +{ + using std::shared_mutex; + using std::shared_timed_mutex; + return 0; +} + +}