mirror of
https://github.com/boostorg/core.git
synced 2025-07-31 05:17:22 +02:00
Added a workaround for uncaught_exceptions for older Mac OS and iOS.
libc++ disables std::uncaught_exceptions for Mac OS < 10.12 and iOS < 10.0, even though it defines __cpp_lib_uncaught_exceptions. Fixes https://github.com/boostorg/core/issues/80.
This commit is contained in:
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright Andrey Semashev 2018.
|
* Copyright Andrey Semashev 2018 - 2020.
|
||||||
* Distributed under the Boost Software License, Version 1.0.
|
* Distributed under the Boost Software License, Version 1.0.
|
||||||
* (See accompanying file LICENSE_1_0.txt or copy at
|
* (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
* https://www.boost.org/LICENSE_1_0.txt)
|
* https://www.boost.org/LICENSE_1_0.txt)
|
||||||
@ -26,8 +26,23 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Visual Studio 14 supports N4152 std::uncaught_exceptions()
|
#if defined(__APPLE__)
|
||||||
#if (defined(__cpp_lib_uncaught_exceptions) && __cpp_lib_uncaught_exceptions >= 201411) || \
|
#include <Availability.h>
|
||||||
|
// Apple systems only support std::uncaught_exceptions starting with specific versions:
|
||||||
|
// - Mac OS >= 10.12
|
||||||
|
// - iOS >= 10.0
|
||||||
|
// - tvOS >= 10.0
|
||||||
|
// - watchOS >= 3.0
|
||||||
|
// https://github.com/boostorg/core/issues/80
|
||||||
|
#if (defined(__cpp_lib_uncaught_exceptions) && __cpp_lib_uncaught_exceptions >= 201411) && \
|
||||||
|
( \
|
||||||
|
(defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200) || \
|
||||||
|
(defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 100000) \
|
||||||
|
)
|
||||||
|
#define BOOST_CORE_HAS_UNCAUGHT_EXCEPTIONS
|
||||||
|
#endif
|
||||||
|
// Visual Studio 14.0 supports N4152 std::uncaught_exceptions() but doesn't define __cpp_lib_uncaught_exceptions
|
||||||
|
#elif (defined(__cpp_lib_uncaught_exceptions) && __cpp_lib_uncaught_exceptions >= 201411) || \
|
||||||
(defined(_MSC_VER) && _MSC_VER >= 1900)
|
(defined(_MSC_VER) && _MSC_VER >= 1900)
|
||||||
#define BOOST_CORE_HAS_UNCAUGHT_EXCEPTIONS
|
#define BOOST_CORE_HAS_UNCAUGHT_EXCEPTIONS
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user