Commit Graph
271 Commits
Author SHA1 Message Date
jzmaddock f1f686ec65 Correct non-c++20 builds. 2021-03-05 10:51:17 +00:00
jzmaddock 8bacf65145 Begin C++20 support. 2021-03-04 20:38:19 +00:00
Nikita Kniazev 18d34e3123 Remove BOOST_NO_CXX11_HDR_ATOMIC for Clang < 3.7
This restriction is either too pessimistic or completely wrong.

Closes #367
2021-03-03 04:51:34 +03:00
jzmaddock 45f7d00813 Update libcpp.hpp for C++17 features.
Most particularly BOOST_NO_CXX17_HDR_EXECUTION.
2021-02-03 17:46:25 +00:00
jzmaddock b4a0ebc265 Update libstdcpp3.hpp to use has_include to check for has_set/hash_map presence.
Correct doc typo.
Update tests to use BOOST_HASH_SET_HEADER.
Fixes https://github.com/boostorg/config/issues/349.
2020-12-18 10:53:01 +00:00
jzmaddock a9bc134610 Merge pull request #340 from boostorg/cxx17_headers
Macros for c++17 headers
2020-10-12 18:09:14 +01:00
Victor Westerhuis 3b62357c43 Do not use C++98 binders when _GLIBCXX_USE_DEPRECATED=0
They are not available from libstdc++ in that case.
2020-09-14 14:49:40 +02:00
jzmaddock 2276736ced Another try to configure <execution> correctly for libstdc++. 2020-07-29 19:12:24 +01:00
jzmaddock d0f983f942 Header <execution> may not be available if it depends on Intel's TBB. 2020-07-29 18:57:56 +01:00
jzmaddock 03e99668f6 Define BOOST_NO_CXX17_HDR_CHARCONV pre-gcc-10. 2020-07-28 19:07:19 +01:00
jzmaddock d068116805 Add all C++17 headers not already covered. 2020-07-27 18:14:55 +01:00
jzmaddock 4d253c0efb Merge branch 'develop' of https://github.com/boostorg/config into develop 2020-07-25 19:46:34 +01:00
jzmaddock 46e0a13496 Further restrict typeinfo workarounds to msvc. 2020-07-25 19:46:13 +01:00
Andrey Semashev 48a22d91b3 Detect libstdc++ from gcc 10 by the presence of <compare> header. 2020-05-23 19:46:40 +03:00
Edward Diener efaceea8c3 Updated configuration for Embarcadero C++ clang-based compilers. Created a better test for CWCHAR compatibility which involves a minimum of multi-byte character functionality also. 2020-04-03 20:53:01 -04:00
Edward Diener aa90bfdb4a Support for Embarcadero clang-based C++ compilers in Boost Config. 2020-03-18 20:23:04 -04:00
jzmaddock 035c096da9 Disable <typeinfo> workaround when not required. 2020-01-24 18:19:31 +00:00
jzmaddock 7292b5d6d1 Fix accidental removal of BOOST_NO_CXX11_HDR_EXCEPTION define 2019-10-28 19:30:59 +00:00
jzmaddock c035825792 Update libstdc++ library version detection: fixes https://github.com/boostorg/config/issues/302 2019-10-28 17:59:35 +00:00
jzmaddock 7bc82dbefd Add BOOST_NO_CXX11_EXCECPTION.
Replaces: https://github.com/boostorg/config/pull/285
Fixes https://github.com/boostorg/config/issues/284
See also: https://github.com/boostorg/exception/issues/10
2019-08-23 12:45:33 +01:00
jzmaddock b97ab76eae Big clean up to fix issues identified by the inspect program.
Regenerate docs.
2019-08-20 18:51:17 +01:00
jzmaddock d112744885 Add BOOST_NO_CXX17_HDR_VARIANT.
See https://github.com/boostorg/config/issues/264
2019-04-01 19:08:54 +01:00
jzmaddock e27ecad25e Fix BOOST_NO_CXX17_HDR_STRING_VIEW and BOOST_NO_CXX17_HDR_OPTIONAL for msvc and clang/msvc. 2019-04-01 18:23:26 +01:00
jzmaddock b420491e88 Add BOOST_NO_CXX17_HDR_STRING_VIEW. 2018-08-16 11:25:16 +01:00
jzmaddock d3084e8cb0 Stop testing C++1z with obsolete libc++ version.
There is also no shared_timed_mutex in obsolete libc++ versions.
2018-08-05 08:31:18 +01:00
jzmaddock 5364a2e8a7 Add new macro BOOST_NO_CXX17_HDR_OPTIONAL.
Fixes: https://github.com/boostorg/config/issues/236.
2018-08-04 19:21:21 +01:00
jzmaddock eb4e8d58d5 Clang/libc++: Disable thread_local prior to clang-6 as it appears not to work.
See: https://github.com/boostorg/config/issues/231.
2018-08-04 17:55:58 +01:00
jzmaddock ffd6682a8b No need to define BOOST_NO_CXX11_THREAD_LOCAL for recent libc++ versions on Linux.
Fixes https://github.com/boostorg/config/issues/231.
2018-08-04 08:25:09 +01:00
jzmaddock 28b1b02546 Merge pull request #220 from pkolbus/remove-c4668-warning
Fix MSVC C4668 on _HAS_NAMESPACE
2018-04-18 19:21:29 +01:00
jzmaddock 149bfe1c93 libcpp has no invoke_result. 2018-04-04 18:37:59 +01:00
jzmaddock 4370498457 std::invoke is only feature complete in VC2015.3 and later. 2018-04-04 18:20:47 +01:00
jzmaddock 3764d61f25 BOOST_NO_CXX17_STD_INVOKE: Update test case to check we have std::invoke_result.
MSVC has no std::invoke in C++14 mode.
GCC has no std::invoke_result prior to 7.1.
2018-04-03 19:08:57 +01:00
Peter Kolbus 77a290c237 Fix MSVC C4668 on _HAS_NAMESPACE
Resolve MSVC warning C4668 (undefined preprocessor macro) for _HAS_NAMESPACE by short-circuiting (checking for Green Hills compiler first).
2018-03-26 22:19:21 -05:00
Peter Dimov 9d3cef6dba Define BOOST_NO_CXX11_THREAD_LOCAL for libc++ on Linux 2018-01-18 21:45:06 +02:00
jzmaddock e376809717 Config.msvc-15.5: enable some initial C++17 features. 2017-12-09 12:44:38 +00:00
Brian Kuhl 918c5fc486 Update vxworks.hpp for VxWorks 7 2017-09-02 06:21:57 -04:00
Marshall Clow 186a7316b9 Fix copy-paste-o
Now checks `_LIBCPP_ENABLE_CXX17_REMOVED_BINDERS` instead.
2017-08-07 06:11:30 -07:00
Marshall Clow b2ee38f94b Add code to set for BOOST_NO_CXX98_RANDOM_SHUFFLE and BOOST_NO_CXX98_BINDERS correctly 2017-08-06 17:53:56 -07:00
Andrey Semashev 34f320c4c9 Added BOOST_NO_CXX17_ITERATOR_TRAITS macro.
The macro indicates that the standard library does not implement SFINAE-friendly
std::iterator_traits (LWG issue 2408, [iterator.traits]/2).
2017-07-12 20:37:47 +03:00
jzmaddock ecd1c79fd0 Merge pull request #134 from glenfe/develop
Add BOOST_NO_CXX11_POINTER_TRAITS library defect detection
2017-05-20 11:30:15 +01:00
jzmaddock b73cb38a43 Merge pull request #136 from mclow/patch-2
define BOOST_NO_AUTO_PTR when building with libc++ and C++17
2017-05-20 11:28:11 +01:00
jzmaddock f5afbf8e27 Merge pull request #135 from DanielaE/fix/dinkumware-v650-apply
The library implementations in MSVC 14.0 and 14.1 have both version n…
2017-05-20 11:27:23 +01:00
Marshall Clow 0df7552f38 define BOOST_NO_AUTO_PTR when building with libc++ and C++17
New libc++ versions remove `std::auto_ptr` when building as C++17, unless the magic tag `_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR` is defined. Tell the rest of Boost that there's no `auto_ptr` in that case.
2017-05-19 12:22:13 -06:00
John Maddock cd396b619a Clang 3.x can't parse <chrono> from gcc-4.6 and earlier. 2017-05-19 19:18:40 +01:00
Glen Fernandes 219c351cb4 Add BOOST_NO_CXX11_POINTER_TRAITS 2017-05-19 13:29:52 -04:00
jzmaddock 40f4e6ed2f Disable <chrono> for older clang versions. 2017-05-19 18:11:29 +01:00
Daniela Engert 15a0c119a1 The library implementations in MSVC 14.0 and 14.1 have both version number V6.50:0009, and therefore _CPPLIB_VER defined to 650. But the library in 14.0 does *not* have std::apply whereas the one in 14.1 *does*.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-05-19 16:06:39 +02:00
John Maddock 6d7592091c When using clang + libstdC++ not all C++11 features are necessarily available 2017-05-19 13:38:02 +01:00
jzmaddock 0e364efe0b Add more macros for removed std lib features:
BOOST_NO_CXX98_FUNCTION_BASE
BOOST_NO_CXX98_BINDERS
Added new documentation section for features that have been removed from the standard.
2017-04-17 18:41:44 +01:00
Daniela Engert f3cea5a8e4 Introduce feature-test macro BOOST_NO_CXX98_RANDOM_SHUFFLE
The algorithm std::random_shuffle was marked as deprecated in C++14 and is removed from the upcoming C++17 standard. The name itself is still reserved and library implementations may continue to ship it. In this sense, support for std::random_shuffle must be regarded as purely optional and a feature-test macro is required to test for its presence.

Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-04-17 13:48:08 +02:00