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