105 Commits
Author SHA1 Message Date
jzmaddock 8104280db6 Refactor C++20 header configuration.
Fixes: https://github.com/boostorg/config/issues/418
Fixes: https://github.com/boostorg/config/issues/420
2022-02-03 18:54:20 +00:00
jzmaddock d719bee32a Correct Dinkumware header detection to account for clang-cl.
Fixes https://github.com/boostorg/config/issues/417.
2022-02-03 12:55:34 +00:00
jzmaddock 77df5deb6e Configuration update for msvc-2022. 2021-11-23 16:04:45 +00:00
jzmaddock 88866861d2 MSVC update that handled deprecation of <codecvt> and availability of <stop_token>.
See also https://github.com/boostorg/config/issues/391.
2021-08-17 17:32:09 +01:00
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
jzmaddock d068116805 Add all C++17 headers not already covered. 2020-07-27 18:14:55 +01:00
jzmaddock 46e0a13496 Further restrict typeinfo workarounds to msvc. 2020-07-25 19:46:13 +01: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 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 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 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
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
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
Glen Fernandes 219c351cb4 Add BOOST_NO_CXX11_POINTER_TRAITS 2017-05-19 13:29:52 -04: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
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
Daniela Engert 4c3433434f vc++ 19.10 has std::apply if enabled by /std:c++latest
Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-04-07 18:00:00 +02:00
jzmaddock ab0fa3b3d7 Fix to get config_test passing with /clr or /clr pure and msvc.
See https://svn.boost.org/trac/boost/ticket/12713.
Note that /clr safe is still not supported - so much doesn't work it's hard to call it a C++ compiler in that case.
2016-12-27 19:34:05 +00:00
jzmaddock 54f108a006 MSVC compatible compilers may have __has_include but still set __cplusplus to obsolete versions numbers for MSVC compatibility (ie Intel). 2016-12-15 18:29:58 +00:00
jzmaddock 553dcbec96 MSVC has no std::apply. 2016-12-15 10:21:26 +00:00
Oliver Kowalke 13f5d9c88a defect macro for C++14 feature std::exchange() 2016-12-12 19:41:30 +01:00
Oliver Kowalke 68b7cc8759 defect macro for C++17 feature std::apply() 2016-12-11 12:25:53 +01:00
jzmaddock 72116963c5 Correct #if code in last PR. 2016-10-20 19:41:09 +01:00
Oliver Kowalke b0b52d6c75 defect macro for C++17 feature std::invoke() 2016-10-14 20:49:48 +02:00
Marcel Raad 776bc8ac10 Update for MSVC14's _HAS_AUTO_PTR_ETC
If _HAS_AUTO_PTR_ETC is defined to 0, MSVC14's standard library implements C++17's N4190, thus removing std::auto_ptr.
2015-08-11 10:05:33 +02:00
jzmaddock a66898d292 Disable <codecvt> for VC14 as it fails at link time when using the facets. 2015-07-27 09:23:25 +01:00
jzmaddock d5839ad09b Enable <shared_mutex> support for VC14. 2015-07-25 13:23:33 +01:00
Marcel Raad 16f491d48d Update for the VS14 RTM standard library
As mentioned by Stephan T. Lavavej here:
http://lists.boost.org/Archives/boost/2014/11/217698.php
BOOST_NO_CXX11_ADDRESSOF shouldn't be necessary anymore for MSVC 14 RTM. The unit test passes.
2015-07-20 19:58:59 +02:00
Edward Diener 2f24d9811f Added logic when header file found to check for C++14 __cplusplus kevel. 2015-06-30 23:42:05 -04:00
Edward Diener 4f80398754 Updated using SD-6 2015-06-27 21:06:57 -04:00
Edward Diener 3fa00f8adb Support for C++14 shared_mutex header 2015-06-09 08:32:28 -04:00
jzmaddock 975a488549 Fix for https://svn.boost.org/trac/boost/ticket/10955 2015-02-23 13:07:00 +00:00
jzmaddock 2662b12166 Disable <atomic> for Intel C++ as it can't yet parse the file. 2014-08-22 18:50:05 +01:00
Glen Fernandes e853f2714c Dinkumware's BOOST_NO_CXX11_STD_ALIGN at < 610
Dinkumware 540 has std::align but it is a non-conforming implementation.
2014-02-12 18:05:29 -08:00
Peter Dimov 9c117007ba Add BOOST_NO_CXX11_ADDRESSOF, BOOST_NO_CXX11_STD_ALIGN 2014-02-11 18:20:31 +02:00
jzmaddock 08392fd952 Update test for C++11 std::allocator to check that member rebind is a template alias. Update config headers to match. 2014-02-06 13:29:59 +00:00
Edward Diener c75b0e9d8b Merge branch 'develop' of https://github.com/boostorg/config into develop 2013-12-14 15:06:55 -05:00
Edward Diener 0762a554c6 Corrected spelling change in comment 2013-12-14 15:06:08 -05:00
jzmaddock 1c3cec7a15 Fix buggy test cases.
VC++ has <atomic> in recent versions.
2013-12-13 18:51:32 +00:00