forked from boostorg/config
Support for C++14 shared_mutex header
This commit is contained in:
@@ -83,6 +83,10 @@
|
|||||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||||
# define BOOST_NO_CXX11_FINAL
|
# define BOOST_NO_CXX11_FINAL
|
||||||
|
|
||||||
|
// C++0y headers not yet implemented
|
||||||
|
//
|
||||||
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
|
|
||||||
// C++ 14:
|
// C++ 14:
|
||||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||||
|
@@ -121,6 +121,10 @@
|
|||||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||||
#define BOOST_NO_CXX11_FINAL
|
#define BOOST_NO_CXX11_FINAL
|
||||||
|
|
||||||
|
// C++0y headers not yet implemented
|
||||||
|
//
|
||||||
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
|
|
||||||
// C++ 14:
|
// C++ 14:
|
||||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||||
|
@@ -147,6 +147,21 @@
|
|||||||
# define BOOST_NO_CXX11_STD_ALIGN
|
# define BOOST_NO_CXX11_STD_ALIGN
|
||||||
#endif
|
#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)
|
#if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400)
|
||||||
// Intel's compiler can't handle this header yet:
|
// Intel's compiler can't handle this header yet:
|
||||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||||
|
@@ -62,6 +62,10 @@
|
|||||||
# define BOOST_NO_CXX11_STD_ALIGN
|
# define BOOST_NO_CXX11_STD_ALIGN
|
||||||
# define BOOST_NO_CXX11_ADDRESSOF
|
# define BOOST_NO_CXX11_ADDRESSOF
|
||||||
|
|
||||||
|
// C++0y headers not yet implemented
|
||||||
|
//
|
||||||
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
|
|
||||||
//
|
//
|
||||||
// Intrinsic type_traits support.
|
// Intrinsic type_traits support.
|
||||||
// The SGI STL has it's own __type_traits class, which
|
// The SGI STL has it's own __type_traits class, which
|
||||||
|
@@ -219,6 +219,11 @@
|
|||||||
// Although <regex> is present and compilable against, the actual implementation is not functional
|
// Although <regex> 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.
|
// 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
|
# define BOOST_NO_CXX11_HDR_REGEX
|
||||||
|
//
|
||||||
|
// C++0y headers not yet implemented
|
||||||
|
//
|
||||||
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
|
//
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7)))
|
#if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7)))
|
||||||
@@ -254,6 +259,9 @@
|
|||||||
# ifndef BOOST_NO_CXX11_HDR_THREAD
|
# ifndef BOOST_NO_CXX11_HDR_THREAD
|
||||||
# define BOOST_NO_CXX11_HDR_THREAD
|
# define BOOST_NO_CXX11_HDR_THREAD
|
||||||
# endif
|
# endif
|
||||||
|
# ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX)
|
#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX)
|
||||||
|
@@ -51,6 +51,10 @@
|
|||||||
# define BOOST_NO_CXX11_STD_ALIGN
|
# define BOOST_NO_CXX11_STD_ALIGN
|
||||||
# define BOOST_NO_CXX11_ADDRESSOF
|
# 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"
|
#define BOOST_STDLIB "Modena C++ standard library"
|
||||||
|
|
||||||
|
|
||||||
|
@@ -75,6 +75,10 @@
|
|||||||
# define BOOST_NO_CXX11_STD_ALIGN
|
# define BOOST_NO_CXX11_STD_ALIGN
|
||||||
# define BOOST_NO_CXX11_ADDRESSOF
|
# 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__)
|
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
|
||||||
|
|
||||||
|
|
||||||
|
@@ -187,3 +187,6 @@
|
|||||||
# define BOOST_NO_CXX11_STD_ALIGN
|
# define BOOST_NO_CXX11_STD_ALIGN
|
||||||
# define BOOST_NO_CXX11_ADDRESSOF
|
# define BOOST_NO_CXX11_ADDRESSOF
|
||||||
|
|
||||||
|
// C++0y headers not yet implemented
|
||||||
|
//
|
||||||
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
@@ -145,7 +145,8 @@
|
|||||||
# define BOOST_NO_CXX11_STD_ALIGN
|
# define BOOST_NO_CXX11_STD_ALIGN
|
||||||
# define BOOST_NO_CXX11_ADDRESSOF
|
# define BOOST_NO_CXX11_ADDRESSOF
|
||||||
|
|
||||||
|
// C++0y headers not yet implemented
|
||||||
|
//
|
||||||
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||||
|
|
||||||
#define BOOST_STDLIB "SGI standard library"
|
#define BOOST_STDLIB "SGI standard library"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -235,6 +235,10 @@ namespace boost { using std::min; using std::max; }
|
|||||||
# define BOOST_NO_CXX11_STD_ALIGN
|
# define BOOST_NO_CXX11_STD_ALIGN
|
||||||
# define BOOST_NO_CXX11_ADDRESSOF
|
# 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)
|
#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
|
||||||
|
|
||||||
|
|
||||||
|
@@ -51,6 +51,10 @@
|
|||||||
# define BOOST_NO_CXX11_STD_ALIGN
|
# define BOOST_NO_CXX11_STD_ALIGN
|
||||||
# define BOOST_NO_CXX11_ADDRESSOF
|
# 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"
|
#define BOOST_STDLIB "Visual Age default standard library"
|
||||||
|
|
||||||
|
|
||||||
|
24
test/boost_no_cxx14_hdr_shared_mutex.ipp
Normal file
24
test/boost_no_cxx14_hdr_shared_mutex.ipp
Normal file
@@ -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 <shared_mutex> unavailable
|
||||||
|
// DESCRIPTION: The standard library does not supply C++0y header <shared_mutex>
|
||||||
|
|
||||||
|
#include <shared_mutex>
|
||||||
|
|
||||||
|
namespace boost_no_cxx14_hdr_shared_mutex {
|
||||||
|
|
||||||
|
int test()
|
||||||
|
{
|
||||||
|
using std::shared_mutex;
|
||||||
|
using std::shared_timed_mutex;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Reference in New Issue
Block a user