Disable use of <shared_mutex> under the XP toolsets (v140_xp and v141_xp). Fixes #110.

This commit is contained in:
Peter Dimov
2023-04-30 18:44:56 +03:00
parent 707b24bfa1
commit 32dbf1b992

View File

@ -31,7 +31,9 @@ struct mutex
} // namespace system
} // namespace boost
#elif defined(BOOST_MSSTL_VERSION) && BOOST_MSSTL_VERSION >= 140
#else // defined(BOOST_SYSTEM_DISABLE_THREADS)
#if defined(BOOST_MSSTL_VERSION) && BOOST_MSSTL_VERSION >= 140
// Under the MS STL, std::mutex::mutex() is not constexpr, as is
// required by the standard, which leads to initialization order
@ -40,6 +42,14 @@ struct mutex
#include <shared_mutex>
#if BOOST_MSSTL_VERSION >= 142 || _HAS_SHARED_MUTEX
# define BOOST_SYSTEM_HAS_MSSTL_SHARED_MUTEX
#endif
#endif
#if defined(BOOST_SYSTEM_HAS_MSSTL_SHARED_MUTEX)
namespace boost
{
namespace system
@ -53,7 +63,7 @@ typedef std::shared_mutex mutex;
} // namespace system
} // namespace boost
#else
#else // defined(BOOST_SYSTEM_HAS_MSSTL_SHARED_MUTEX)
#include <mutex>
@ -70,7 +80,8 @@ using std::mutex;
} // namespace system
} // namespace boost
#endif
#endif // defined(BOOST_SYSTEM_HAS_MSSTL_SHARED_MUTEX)
#endif // defined(BOOST_SYSTEM_DISABLE_THREADS)
namespace boost
{