mirror of
https://github.com/boostorg/math.git
synced 2026-01-19 04:22:09 +00:00
Improve check for incomplete <execution> header
All versions of libc++ currently include a useless <execution> header by default, not just the version shipped with Apple Clang. For example, IBM Open XL C/C++ 17.1.3 on AIX is affected as well.
This commit is contained in:
@@ -84,6 +84,8 @@
|
|||||||
|
|
||||||
#else // Things from boost/config that are required, and easy to replicate
|
#else // Things from boost/config that are required, and easy to replicate
|
||||||
|
|
||||||
|
#include <version>
|
||||||
|
|
||||||
#define BOOST_MATH_PREVENT_MACRO_SUBSTITUTION
|
#define BOOST_MATH_PREVENT_MACRO_SUBSTITUTION
|
||||||
#define BOOST_MATH_NO_REAL_CONCEPT_TESTS
|
#define BOOST_MATH_NO_REAL_CONCEPT_TESTS
|
||||||
#define BOOST_MATH_NO_DISTRIBUTION_CONCEPT_TESTS
|
#define BOOST_MATH_NO_DISTRIBUTION_CONCEPT_TESTS
|
||||||
@@ -102,9 +104,9 @@
|
|||||||
#if ((__cplusplus > 201700L) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700L)))
|
#if ((__cplusplus > 201700L) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700L)))
|
||||||
#define BOOST_MATH_IF_CONSTEXPR if constexpr
|
#define BOOST_MATH_IF_CONSTEXPR if constexpr
|
||||||
|
|
||||||
// Clang on mac provides the execution header with none of the functionality. TODO: Check back on this
|
// libc++ currently provides the execution header with none of the functionality.
|
||||||
// https://en.cppreference.com/w/cpp/compiler_support "Standardization of Parallelism TS"
|
// https://en.cppreference.com/w/cpp/compiler_support "Standardization of Parallelism TS"
|
||||||
# if !__has_include(<execution>) || (defined(__APPLE__) && defined(__clang__))
|
# if !__has_include(<execution>) || !defined(__cpp_lib_execution) || (__cpp_lib_execution < 201603L)
|
||||||
# define BOOST_MATH_NO_CXX17_HDR_EXECUTION
|
# define BOOST_MATH_NO_CXX17_HDR_EXECUTION
|
||||||
# endif
|
# endif
|
||||||
#else
|
#else
|
||||||
|
|||||||
Reference in New Issue
Block a user