1 // Copyright (c) 2018 Andrey Semashev 2 // 3 // Use, modification, and distribution is subject to the Boost Software 4 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 5 // https://www.boost.org/LICENSE_1_0.txt) 6 7 #ifndef BOOST_INTEGER_TEST_MULTIPRECISION_CONFIG_HPP_INCLUDED_ 8 #define BOOST_INTEGER_TEST_MULTIPRECISION_CONFIG_HPP_INCLUDED_ 9 10 #include <boost/config.hpp> 11 #include <boost/config/workaround.hpp> 12 13 #if (defined(BOOST_MSVC) && (BOOST_MSVC < 1500)) || \ 14 (defined(__clang_major__) && (__clang_major__ == 3) && (__clang_minor__ < 2)) || \ 15 (defined(BOOST_GCC) && defined(BOOST_GCC_CXX11) && BOOST_GCC < 40800) 16 #define DISABLE_MP_TESTS 17 #endif 18 19 // This list of checks matches those in Boost.Multiprecision, boost/multiprecision/detail/number_base.hpp, 20 // as it no longer supports C++03 since 2021. 21 #if !defined(DISABLE_MP_TESTS) && \ 22 (\ 23 defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) || defined(BOOST_NO_CXX11_HDR_ARRAY) || defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)\ 24 || defined(BOOST_NO_CXX11_ALLOCATOR) || defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) || defined(BOOST_NO_CXX11_CONSTEXPR)\ 25 || (defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) || BOOST_WORKAROUND(__SUNPRO_CC, < 0x5140)) || defined(BOOST_NO_CXX11_REF_QUALIFIERS) || defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)\ 26 || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_USER_DEFINED_LITERALS) || defined(BOOST_NO_CXX11_THREAD_LOCAL)\ 27 || defined(BOOST_NO_CXX11_DECLTYPE) || defined(BOOST_NO_CXX11_STATIC_ASSERT) || defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)\ 28 || defined(BOOST_NO_CXX11_NOEXCEPT) || defined(BOOST_NO_CXX11_REF_QUALIFIERS)\ 29 ) 30 #define DISABLE_MP_TESTS 31 #endif 32 33 #endif // BOOST_INTEGER_TEST_MULTIPRECISION_CONFIG_HPP_INCLUDED_ 34