Compare commits

..

84 Commits

Author SHA1 Message Date
Marshall Clow
e11564fb3d Update version to 1.84.0 2023-08-11 10:17:26 -07:00
jzmaddock
a1cf5d5314 Merge pull request #475 from boostorg/ci_2023_04
Update CI script for current runners.
2023-04-15 13:20:12 +01:00
jzmaddock
a1edcd56a0 Update CI script for current runners. 2023-04-15 12:22:44 +01:00
jzmaddock
f5726a26dc Merge pull request #474 from boostorg/mclow-1.83.0
Bump version to 1.83.0
2023-04-15 09:48:37 +01:00
Marshall Clow
9953128bd4 Bump version to 1.83.0 2023-04-14 17:04:07 -07:00
jzmaddock
4cf70b168f Merge pull request #446 from loongson-zn/develop
Add support for LoongArch
2023-03-23 17:40:42 +00:00
jzmaddock
429c1982d4 Documentation update.
[CI SKIP]
2023-02-22 19:08:52 +00:00
jzmaddock
ab271393a7 Merge pull request #469 from MarcelRaad/msvc_cpp20_with_auto_ptr_etc
Dinkumware: disable C++ 98 binders without adaptor typedefs
2023-01-21 20:08:08 +00:00
Marcel Raad
1f4e789023 Dinkumware: disable C++ 98 binders without adaptor typedefs
When building with MSVC in C++ 20 mode with `_HAS_AUTO_PTR_ETC`
explicitly enabled, `std:bind1st` and `std::bind2nd` are unavailable
unless `_HAS_DEPRECATED_ADAPTOR_TYPEDEFS` is also explicitly enabled.
2023-01-21 14:04:19 +01:00
jzmaddock
42e1b11952 Merge pull request #468 from boostorg/issue467
Update VS/CLR support.
2023-01-14 09:09:34 +00:00
jzmaddock
ceae87e4c0 Update VS/CLR support.
Fixes: https://github.com/boostorg/config/issues/467
2023-01-13 19:23:21 +00:00
jzmaddock
e215d5ba55 Merge pull request #466 from georgthegreat/noexcept
Modernize throw() specifiers
2022-12-30 19:17:40 +00:00
Yuriy Chernyshov
6614ccbef3 Modernize throw() specifiers 2022-12-30 20:35:22 +03:00
jzmaddock
ed87737c13 Merge pull request #465 from boostorg/issue462_cxx17
Try Xcode-9.4.1 C++17 support.
2022-12-30 13:22:53 +00:00
jzmaddock
e6cf358f57 Try Xcode-9.4.1 C++17 support. 2022-12-30 12:30:25 +00:00
jzmaddock
c3efdb4bb8 Add XCode 9.4.1 testing. (#463)
* Add XCode 9.4.1 testing.
Refs https://github.com/boostorg/config/issues/462.

* Disable nullptr and __int128 support on clang/XCode-9.1.

* Correct BOOST_HAS_INT128 undef option.

* Stop testing C++17 mode - it's not supported by the std lib.
2022-12-30 09:15:11 +00:00
Glen Fernandes
dbd0a4776d Bump versions to 1.82 2022-12-14 19:55:52 -05:00
jzmaddock
9915163609 Merge pull request #459 from boostorg/feature/boost-no-cxx11-alignof
Add BOOST_NO_CXX11_ALIGNOF. Closes #427.
2022-12-14 18:42:31 +00:00
jzmaddock
3a0f869732 Merge pull request #461 from boostorg/issue460
Fix some C++23 testing issues:
2022-12-08 11:31:52 +00:00
jzmaddock
b9a3ecaa14 Fix some C++23 testing issues:
Deprecated type_traits and non-const operator==.
Fixes https://github.com/boostorg/config/issues/460
2022-12-07 19:05:45 +00:00
Peter Dimov
a63de62c1f Document BOOST_NO_CXX11_ALIGNOF 2022-11-21 19:54:45 +02:00
Peter Dimov
ebaf02e31b Define BOOST_NO_CXX11_ALIGNOF in boost/config/compiler/*.hpp 2022-11-21 19:50:11 +02:00
Peter Dimov
3ecedc9602 Add tests for BOOST_NO_CXX11_ALIGNOF 2022-11-21 19:32:43 +02:00
jzmaddock
8c6226cafd Merge pull request #458 from boostorg/issue455
Clang should use _GLIBCXX_RELEASE
2022-11-20 19:45:51 +00:00
jzmaddock
1a531cec40 Remove outdated option from docs.
[CI SKIP]
2022-11-20 18:37:52 +00:00
jzmaddock
25932592fe Merge pull request #452 from boostorg/pr/boost-msstl-version
Add macro BOOST_MSSTL_VERSION
2022-11-20 18:36:36 +00:00
jzmaddock
2703431699 Clang should use _GLIBCXX_RELEASE
To determine libstdc++ version.
Fixes https://github.com/boostorg/config/issues/455
2022-11-20 18:33:13 +00:00
Peter Dimov
7cd570492f Document BOOST_MSSTL_VERSION 2022-11-16 22:25:12 +02:00
Peter Dimov
56e7a0e49d Add macro BOOST_MSSTL_VERSION 2022-11-16 22:12:57 +02:00
jzmaddock
7b1f52c85e Merge pull request #457 from boostorg/unused
Expand BOOST_ATTRIBUTE_UNUSED [[maybe_unused]]
2022-11-16 19:29:08 +00:00
jzmaddock
5566315316 Expand BOOST_ATTRIBUTE_UNUSED [[maybe_unused]]
When available, supersedes: https://github.com/boostorg/config/pull/456
2022-11-16 18:57:05 +00:00
jzmaddock
72a2549a89 Merge pull request #454 from Flamefire/patch-1
Fix -Wundef for `_GLIBCXX_USE_DEPRECATED` on libstdc++ >= 4.6
2022-11-16 18:35:16 +00:00
jzmaddock
a16675b5a4 Merge pull request #453 from boostorg/feature/update-msvc-version
Update BOOST_COMPILER_VERSION for msvc-14.3
2022-11-16 18:34:45 +00:00
jzmaddock
ac95706e51 Merge pull request #447 from Lastique/patch-5
Fix typos in BOOST_RESTRICT description
2022-11-16 18:31:39 +00:00
Alexander Grund
3a8ecbb390 Fix -Wundef for _GLIBCXX_USE_DEPRECATED on libstdc++ >= 4.6 2022-11-12 13:32:07 +01:00
jzmaddock
a7276f0397 Merge pull request #451 from boostorg/issue399
GNU libstdc++3 _GTHREAD_USE_MUTEX_TIMEDLOCK is not used post gcc-6.
2022-11-09 12:51:56 +00:00
Peter Dimov
73cc60c503 Update BOOST_COMPILER_VERSION for msvc-14.3 2022-11-09 14:49:18 +02:00
jzmaddock
2c2cac226a Update CI script version numbers. 2022-11-08 17:25:12 +00:00
jzmaddock
1c37e0c38d Back off gcc on MacOS 12 for now as there are inscrutable failures. 2022-11-08 13:18:05 +00:00
jzmaddock
c468ec13e2 Add more MacOS runners. 2022-11-07 17:40:45 +00:00
jzmaddock
deed857d16 Try gcc-11. 2022-11-07 17:02:26 +00:00
jzmaddock
3a54a8554a Correct CI script. 2022-11-07 13:30:53 +00:00
jzmaddock
704d2fa08d Add MacOS GCC test runner. 2022-11-07 13:21:10 +00:00
jzmaddock
5f089cc0aa GNU libstdc++3 _GTHREAD_USE_MUTEX_TIMEDLOCK is not used post gcc-6.
Fixes: https://github.com/boostorg/config/issues/399.
2022-11-06 18:45:30 +00:00
jzmaddock
2543ff1397 Merge pull request #445 from Lastique/patch-4
Add support for detecting libstdc++ 12
2022-10-05 17:49:43 +01:00
jzmaddock
902273e738 Merge pull request #442 from Lastique/feature/deprecated_symbols_markup
Add a BOOST_DEPRECATED macro for deprecated symbol markup
2022-10-05 13:26:35 +01:00
Andrey Semashev
5ee97d22d9 Fix typos in BOOST_RESTRICT description. 2022-09-23 15:02:58 +03:00
Zhang Na
a665838eb0 Add support for LoongArch 2022-09-21 09:08:22 +08:00
jzmaddock
0a17487c3a Merge pull request #441 from jcelerier/develop
Add a macro BOOST_DISABLE_EXPLICIT_SYMBOL_VISIBILITY to disable mandatory symbol visibility
2022-09-17 16:24:50 +01:00
jzmaddock
9f75ca8dfa Fix missing ] in docs. 2022-09-17 13:41:17 +01:00
Jean-Michaël Celerier
ea08901984 Add a macro BOOST_DISABLE_EXPLICIT_SYMBOL_VISIBILITY to disable mandatory symbol visibility 2022-09-12 13:29:11 -04:00
Andrey Semashev
ebb95cbf86 Add support for detecting libstdc++ 12 2022-08-31 10:13:16 +03:00
Peter Dimov
8e94132dad Merge pull request #444 from boostorg/pr/boost-clang-version
Update Clang version detection
2022-08-29 23:20:49 +03:00
Peter Dimov
5d6cf7a2eb Update Apple Clang versions 2022-08-29 20:18:02 +03:00
Peter Dimov
9eaeeb7844 Use __clang_patchlevel__ % 100, because __clang_patchlevel__ is 300080 for Android NDK r16b (refs boostorg/assert#28) 2022-08-29 20:13:53 +03:00
jzmaddock
acd45ca373 Merge pull request #443 from boostorg/ubuntu_18_deprecation
Remove Github testing of Ubuntu-18.04.
2022-08-23 17:22:40 +01:00
jzmaddock
9420e951bc Remove Github testing of Ubuntu-18.04.
As it's being deprecated on Github.
2022-08-23 13:15:56 +01:00
Andrey Semashev
a7a2d4ebf1 Added a BOOST_DEPRECATED macro for deprecated symbol markup.
BOOST_DEPRECATED can be used to mark functions, types and objects as
deprecated, with a message with a recommendation of replacement. Using
such marked symbols in code will generate compiler warnings, with the
specified message, if possible.

The warnings can be suppressed if BOOST_ALLOW_DEPRECATED_SYMBOLS is defined.
Additionally, added support BOOST_ALLOW_DEPRECATED macro that not only
allows for deprecated symbols but also deprecated headers (i.e. defining
BOOST_ALLOW_DEPRECATED is equivalent to defining both
BOOST_ALLOW_DEPRECATED_SYMBOLS and BOOST_ALLOW_DEPRECATED_HEADERS).
2022-08-14 16:15:51 +03:00
Glen Fernandes
e0638d9865 Bump versions to 1.81 2022-08-10 23:36:08 -04:00
jzmaddock
c35885ced4 Merge pull request #440 from boostorg/libcxx15
The std lib unary/binary_function base classes are deprecated/removed…
2022-07-11 19:44:04 +01:00
jzmaddock
f0af4a9184 The std lib unary/binary_function base classes are deprecated/removed from libcpp15.
Fixes https://github.com/boostorg/container_hash/issues/24.
2022-07-11 18:26:34 +01:00
jzmaddock
1cff5e37bb Merge pull request #435 from Lastique/feature/msvc_cxx17_deduction_guides
Enable C++17 CTAD guides for MSVC 14.14 (VS2017 Update 7) and later
2022-06-14 17:56:28 +01:00
Andrey Semashev
cbc2f84709 Enabled C++17 CTAD guides for MSVC 14.14 (VS2017 Update 7) and later.
MSVC doesn't define the standard feature detection macros, so we have to
resort to compiler version checks.
2022-06-06 14:11:25 +03:00
jzmaddock
ae6e2f3dd7 Merge pull request #434 from Lastique/patch-4
Fix a typo in NO_CXX17_DEDUCTION_GUIDES description
2022-06-05 18:26:04 +01:00
Andrey Semashev
f1f0041f28 Fixed a typo in NO_CXX17_DEDUCTION_GUIDES description. 2022-06-05 20:18:37 +03:00
jzmaddock
54a2618377 Merge pull request #433 from boostorg/deduction_guides
Add BOOST_NO_CXX17_DEDUCTION_GUIDES.
2022-06-05 18:13:35 +01:00
jzmaddock
dad856418f Add BOOST_NO_CXX17_DEDUCTION_GUIDES.
Replaces https://github.com/boostorg/config/pull/414.
2022-06-05 16:59:35 +01:00
jzmaddock
68702caadb Merge pull request #432 from boostorg/update-ci2022
Remove no longer supported XCode versions.
2022-06-05 16:26:58 +01:00
jzmaddock
bef3413c30 Remove no longer supported XCode versions.
Reduce when Github jobs are run.
2022-06-05 13:37:28 +01:00
jzmaddock
485ecb42fa Merge pull request #431 from boostorg/pr/boost-nullptr
Add BOOST_NULLPTR helper macro
2022-06-05 12:50:15 +01:00
jzmaddock
424eb5f4ab Change HIP_VERSION to __HIP__
Fixes https://github.com/boostorg/config/issues/392.
2022-06-05 12:45:43 +01:00
Peter Dimov
663198ae92 Add BOOST_NULLPTR helper macro 2022-05-23 02:29:23 +03:00
jzmaddock
26a8d38031 unary_function is deprecated from C++11 onwards.
See https://github.com/boostorg/container_hash/issues/22.
2022-05-12 12:32:08 +01:00
jzmaddock
a7cfad38ea Merge pull request #430 from boostorg/gcc-12-unary_function
Define BOOST_NO_CXX98_FUNCTION_BASE for gcc-12 in C++17 mode or later.
2022-05-10 18:42:46 +01:00
jzmaddock
89ff6355e1 Define BOOST_NO_CXX98_FUNCTION_BASE for gcc-12 in C++17 mode or later.
Fixes: https://github.com/boostorg/container_hash/issues/22.
2022-05-10 18:03:38 +01:00
jzmaddock
2fb424497c Add gcc-11 and 12, plus clang-11, 12, 13 and 14 2022-05-10 17:56:56 +01:00
Glen Fernandes
c11afa5ffa Bump versions to 1.80 2022-04-13 21:36:02 -04:00
jzmaddock
0fb824a274 Merge pull request #426 from Flamefire/patch-1
Doc: Fix description of some macros
2022-03-16 18:50:24 +00:00
Alexander Grund
085a32ae7d Doc: Fix description of some macros
C&P issue and a typo
2022-03-16 18:27:12 +01:00
jzmaddock
6393b50d79 Merge pull request #390 from Kojoley/mips
Rename mips1 to mips and alias mips1 to mips
2022-03-06 11:26:29 +00:00
jzmaddock
a8d36011e7 Merge pull request #415 from Lastique/feature/detect_libstdcxx_11
Add detection of libstdc++ from gcc 11
2022-03-06 11:21:50 +00:00
jzmaddock
9bb8416fc7 Correct msvc-14.0 CI runner. 2022-03-04 09:39:42 +00:00
Andrey Semashev
d39021ce28 Added detection of libstdc++ from gcc 11. 2022-01-21 00:39:29 +03:00
Nikita Kniazev
1a55d1d9c6 Rename mips1 to mips and alias mips1 to mips 2021-07-28 21:06:54 +03:00
57 changed files with 939 additions and 229 deletions

View File

@@ -19,16 +19,16 @@ def main(ctx):
linux_cxx("g++-4.7 03,11", "g++-4.7", packages="g++-4.7", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.7', 'CXXSTD': '03,11', }, globalenv=globalenv),
linux_cxx("g++-4.8 03,11", "g++-4.8", packages="g++-4.8", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.8', 'CXXSTD': '03,11', }, globalenv=globalenv),
linux_cxx("g++-4.9 03,11", "g++-4.9", packages="g++-4.9", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.9', 'CXXSTD': '03,11', }, globalenv=globalenv),
linux_cxx("g++-5 03,11,14,1z", "g++-5", packages="g++-5", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-5', 'CXXSTD': '03,11,14,1z', }, globalenv=globalenv),
linux_cxx("g++-5 gnu-03,11,14,1z", "g++-5", packages="g++-5", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-5', 'CXXSTD': '03,11,14,1z', 'CXXSTD_DIALECT': 'cxxstd-dialect=gnu', }, globalenv=globalenv),
linux_cxx("g++-6 03,11,14,1z", "g++-6", packages="g++-6", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-6', 'CXXSTD': '03,11,14,1z', }, globalenv=globalenv),
linux_cxx("g++-6 gnu++03,11,14,1z Job 9", "g++-6", packages="g++-6", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-6', 'CXXSTD': '03,11,14,1z', 'CXXSTD_DIALECT': 'cxxstd-dialect=gnu', }, globalenv=globalenv),
linux_cxx("g++-7 03,11,14,17", "g++-7", packages="g++-7", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-7', 'CXXSTD': '03,11,14,17', }, globalenv=globalenv),
linux_cxx("g++-7 gnu++03,11,14,17", "g++-7", packages="g++-7", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-7', 'CXXSTD': '03,11,14,17', 'CXXSTD_DIALECT': 'cxxstd-dialect=gnu', }, globalenv=globalenv),
linux_cxx("g++-8 03,11,14,17", "g++-8", packages="g++-8", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-8', 'CXXSTD': '03,11,14,17', }, globalenv=globalenv),
linux_cxx("g++-8 gnu++03,11,14,17", "g++-8", packages="g++-8", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-8', 'CXXSTD': '03,11,14,17', 'CXXSTD_DIALECT': 'cxxstd-dialect=gnu', }, globalenv=globalenv),
linux_cxx("g++-9 03,11,14,17", "g++-9", packages="g++-9", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-9', 'CXXSTD': '03,11,14,17,2a', }, globalenv=globalenv),
linux_cxx("g++-9 gnu++03,11,14,17", "g++-9", packages="g++-9", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-9', 'CXXSTD': '03,11,14,17,2a', 'CXXSTD_DIALECT': 'cxxstd-dialect=gnu', }, globalenv=globalenv),
linux_cxx("g++-5 03,11,14,1z", "g++-5", packages="g++-5", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-5', 'CXXSTD': '03,11,14,1z', }, globalenv=globalenv),
linux_cxx("g++-5 gnu-03,11,14,1z", "g++-5", packages="g++-5", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-5', 'CXXSTD': '03,11,14,1z', 'CXXSTD_DIALECT': 'cxxstd-dialect=gnu', }, globalenv=globalenv),
linux_cxx("g++-6 03,11,14,1z", "g++-6", packages="g++-6", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-6', 'CXXSTD': '03,11,14,1z', }, globalenv=globalenv),
linux_cxx("g++-6 gnu++03,11,14,1z Job 9", "g++-6", packages="g++-6", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-6', 'CXXSTD': '03,11,14,1z', 'CXXSTD_DIALECT': 'cxxstd-dialect=gnu', }, globalenv=globalenv),
linux_cxx("g++-7 03,11,14,17", "g++-7", packages="g++-7", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-7', 'CXXSTD': '03,11,14,17', }, globalenv=globalenv),
linux_cxx("g++-7 gnu++03,11,14,17", "g++-7", packages="g++-7", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-7', 'CXXSTD': '03,11,14,17', 'CXXSTD_DIALECT': 'cxxstd-dialect=gnu', }, globalenv=globalenv),
linux_cxx("g++-8 03,11,14,17", "g++-8", packages="g++-8", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-8', 'CXXSTD': '03,11,14,17', }, globalenv=globalenv),
linux_cxx("g++-8 gnu++03,11,14,17", "g++-8", packages="g++-8", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-8', 'CXXSTD': '03,11,14,17', 'CXXSTD_DIALECT': 'cxxstd-dialect=gnu', }, globalenv=globalenv),
linux_cxx("g++-9 03,11,14,17", "g++-9", packages="g++-9", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-9', 'CXXSTD': '03,11,14,17,2a', }, globalenv=globalenv),
linux_cxx("g++-9 gnu++03,11,14,17", "g++-9", packages="g++-9", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-9', 'CXXSTD': '03,11,14,17,2a', 'CXXSTD_DIALECT': 'cxxstd-dialect=gnu', }, globalenv=globalenv),
linux_cxx("g++-10 03,11,14,17,20", "g++-10", packages="g++-10", image="cppalliance/droneubuntu2004:1", buildtype="boost", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-10', 'CXXSTD': '03,11,14,17,20', }, globalenv=globalenv),
linux_cxx("g++-10 gnu++03,11,14,17,20", "g++-10", packages="g++-10", image="cppalliance/droneubuntu2004:1", buildtype="boost", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-10', 'CXXSTD': '03,11,14,17,20', 'CXXSTD_DIALECT': 'cxxstd-dialect=gnu', }, globalenv=globalenv),
linux_cxx("clang++-3.5 03", "clang++", packages="clang-3.5", llvm_os="precise", llvm_ver="3.5", buildtype="boost", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.5', 'CXXSTD': '03,11,14,1z', }, globalenv=globalenv),
@@ -39,17 +39,13 @@ def main(ctx):
linux_cxx("clang++-4.0 03", "clang++-4.0", packages="clang-4.0", llvm_os="xenial", llvm_ver="4.0", buildtype="boost", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-4.0', 'CXXSTD': '03,11,14,1z', }, globalenv=globalenv),
linux_cxx("clang++-5.0 03", "clang++-5.0", packages="clang-5.0", llvm_os="xenial", llvm_ver="5.0", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-5.0', 'CXXSTD': '03,11,14,1z', }, globalenv=globalenv),
linux_cxx("clang++-6.0 03", "clang++-6.0", packages="clang-6.0", llvm_os="xenial", llvm_ver="6.0", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-6.0', 'CXXSTD': '03,11,14,1z', }, globalenv=globalenv),
linux_cxx("clang++-7 03,11", "clang++-7", packages="clang-7", llvm_os="xenial", llvm_ver="7", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-7', 'CXXSTD': '03,11,14,1z', }, globalenv=globalenv),
linux_cxx("clang++-8 03,11", "clang++-8", packages="clang-8", llvm_os="xenial", llvm_ver="8", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-8', 'CXXSTD': '03,11,14,17,2a', }, globalenv=globalenv),
linux_cxx("clang++-7 03,11,14,17", "clang++-7", packages="clang-7", llvm_os="xenial", llvm_ver="7", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-7', 'CXXSTD': '03,11,14,1z', }, globalenv=globalenv),
linux_cxx("clang++-8 03,11,14,17", "clang++-8", packages="clang-8", llvm_os="xenial", llvm_ver="8", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-8', 'CXXSTD': '03,11,14,17,2a', }, globalenv=globalenv),
linux_cxx("clang++-9 03,11,14,17,2a", "clang++-9", packages="clang-9", llvm_os="xenial", llvm_ver="9", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-9', 'CXXSTD': '03,11,14,17,2a', }, globalenv=globalenv),
linux_cxx("clang++-10 03,11,14,17,20", "clang++-10", packages="clang-10", llvm_os="xenial", llvm_ver="10", buildtype="boost", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-10', 'CXXSTD': '03,11,14,17,20', }, globalenv=globalenv),
osx_cxx("XCode-11.7 03,11,17,2a", "clang++", packages="", buildtype="boost", xcode_version="11.7", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,17,2a', }, globalenv=globalenv),
osx_cxx("XCode-10.2 03,11,17,2a", "clang++", packages="", buildtype="boost", xcode_version="10.2", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,17,2a', }, globalenv=globalenv),
osx_cxx("XCode-9.4 03,11,14,1z", "clang++", packages="", buildtype="boost", xcode_version="9.4", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,1z', }, globalenv=globalenv),
osx_cxx("XCode-9.0 03,11,14,1z", "clang++", packages="", buildtype="boost", xcode_version="9", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,1z', }, globalenv=globalenv),
osx_cxx("XCode-8.3 03,11,14,1z", "clang++", packages="", buildtype="boost", xcode_version="8.3", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,1z', }, globalenv=globalenv),
osx_cxx("XCode-8.0 03,11,14,1z", "clang++", packages="", buildtype="boost", xcode_version="8", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,1z', }, globalenv=globalenv),
osx_cxx("XCode-7.3 03,11,14,1z", "clang++", packages="", buildtype="boost", xcode_version="7.3", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,1z', }, globalenv=globalenv),
osx_cxx("XCode-9.4.1 03,11,14,17", "clang++", packages="", buildtype="boost", xcode_version="9.4.1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,17', }, globalenv=globalenv),
]
# from https://github.com/boostorg/boost-ci

View File

@@ -5,8 +5,103 @@
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
name: CI
on: [ push, pull_request ]
on:
push:
branches:
- master
- develop
pull_request:
release:
types: [published, created, edited]
jobs:
ubuntu-jammy:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
compiler: [ g++-11, g++-12, clang++-14 ]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
with:
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[apple];[Apple];[APPLE]'
commit-filter-separator: ';'
fail-fast: true
- name: Set TOOLSET
run: echo ${{ matrix.compiler }} | awk '/^g/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV
- name: Add repository
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
- name: Install packages
run: sudo apt install g++-11 g++-12 clang-14
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
working-directory: ../boost-root
- name: Copy files
run: cp -r $GITHUB_WORKSPACE/* libs/config
working-directory: ../boost-root
- name: Bootstrap
run: ./bootstrap.sh
working-directory: ../boost-root
- name: Generate headers
run: ./b2 headers
working-directory: ../boost-root
- name: Generate user config
run: 'echo "using $TOOLSET : : ${{ matrix.compiler }} ;" > ~/user-config.jam'
working-directory: ../boost-root
- name: Config info
run: ../../../b2 print_config_info toolset=$TOOLSET cxxstd=03,11,14,17,20
working-directory: ../boost-root/libs/config/test
- name: Test
run: ../../../b2 toolset=$TOOLSET cxxstd=03,11,14,17,20
working-directory: ../boost-root/libs/config/test
ubuntu-jammy-clang:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
compiler: [ clang++-11, clang++-12, clang++-13 ]
steps:
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
with:
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[apple];[Apple];[APPLE]'
commit-filter-separator: ';'
fail-fast: true
- name: Set TOOLSET
run: echo ${{ matrix.compiler }} | awk '/^g/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV
- name: Add repository
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
- name: Install packages
run: sudo apt install clang-11 clang-12 clang-13
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
working-directory: ../boost-root
- name: Copy files
run: cp -r $GITHUB_WORKSPACE/* libs/config
working-directory: ../boost-root
- name: Bootstrap
run: ./bootstrap.sh
working-directory: ../boost-root
- name: Generate headers
run: ./b2 headers
working-directory: ../boost-root
- name: Generate user config
run: 'echo "using $TOOLSET : : ${{ matrix.compiler }} ;" > ~/user-config.jam'
working-directory: ../boost-root
- name: Config info
run: ../../../b2 print_config_info toolset=$TOOLSET cxxstd=03,11,14,17,20
working-directory: ../boost-root/libs/config/test
- name: Test
run: ../../../b2 toolset=$TOOLSET cxxstd=03,11,14,17,20
working-directory: ../boost-root/libs/config/test
ubuntu-focal:
runs-on: ubuntu-20.04
strategy:
@@ -14,7 +109,7 @@ jobs:
matrix:
compiler: [ g++-9, g++-10, clang++-9, clang++-10 ]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
@@ -51,27 +146,21 @@ jobs:
- name: Test
run: ../../../b2 toolset=$TOOLSET cxxstd=03,11,14,17,2a
working-directory: ../boost-root/libs/config/test
ubuntu-bionic:
runs-on: ubuntu-18.04
macos_11:
runs-on: macos-11
strategy:
fail-fast: false
matrix:
compiler: [ g++-7, g++-8, clang++-7, clang++-8 ]
toolset: [ clang, gcc-11, gcc-10 ]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
with:
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[apple];[Apple];[APPLE]'
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[linux];[Linux];[LINUX]'
commit-filter-separator: ';'
fail-fast: true
- name: Set TOOLSET
run: echo ${{ matrix.compiler }} | awk '/^g/ { print "TOOLSET=gcc" } /^clang/ { print "TOOLSET=clang" }' >> $GITHUB_ENV
- name: Add repository
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
- name: Install packages
run: sudo apt install g++-7 g++-8 clang-7 clang-8
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
@@ -86,23 +175,20 @@ jobs:
- name: Generate headers
run: ./b2 headers
working-directory: ../boost-root
- name: Generate user config
run: 'echo "using $TOOLSET : : ${{ matrix.compiler }} ;" > ~/user-config.jam'
working-directory: ../boost-root
- name: Config info install
run: ../../../b2 print_config_info toolset=$TOOLSET cxxstd=03,11,14,17
- name: Config info
run: ../../../b2 print_config_info toolset=${{ matrix.toolset }} cxxstd=03,11,14,17,2a
working-directory: ../boost-root/libs/config/test
- name: Test
run: ../../../b2 toolset=$TOOLSET cxxstd=03,11,14,17
run: ../../../b2 toolset=${{ matrix.toolset }} cxxstd=03,11,14,17,2a
working-directory: ../boost-root/libs/config/test
macos:
runs-on: macos-latest
macos_12:
runs-on: macos-12
strategy:
fail-fast: false
matrix:
toolset: [ clang ]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
@@ -131,7 +217,7 @@ jobs:
run: ../../../b2 toolset=${{ matrix.toolset }} cxxstd=03,11,14,17,2a
working-directory: ../boost-root/libs/config/test
windows_msvc_14_0:
runs-on: windows-latest
runs-on: windows-2019
defaults:
run:
shell: cmd
@@ -140,7 +226,7 @@ jobs:
matrix:
toolset: [ msvc-14.0 ]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
@@ -178,7 +264,7 @@ jobs:
matrix:
toolset: [ msvc-14.2 ]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
@@ -216,7 +302,7 @@ jobs:
matrix:
toolset: [ msvc-14.3 ]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
@@ -254,7 +340,7 @@ jobs:
matrix:
toolset: [ clang-msvc-14.3 ]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
@@ -289,8 +375,8 @@ jobs:
matrix:
qemu_arch: [ aarch64, s390x, ppc64le ]
steps:
- uses: actions/checkout@v2.1.0
- uses: uraimo/run-on-arch-action@v2.0.5
- uses: actions/checkout@v3
- uses: uraimo/run-on-arch-action@v2
name: Run commands
id: runcmd
with:
@@ -325,8 +411,8 @@ jobs:
matrix:
qemu_arch: [ aarch64, ppc64le ]
steps:
- uses: actions/checkout@v2.1.0
- uses: uraimo/run-on-arch-action@v2.0.5
- uses: actions/checkout@v3
- uses: uraimo/run-on-arch-action@v2
name: Run commands
id: runcmd
with:
@@ -362,7 +448,7 @@ jobs:
matrix:
compiler: [ emcc ]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
@@ -425,13 +511,13 @@ jobs:
run: |
source ../emsdk/emsdk_env.sh
emcc -pthread -s EXIT_RUNTIME=1 -s PTHREAD_POOL_SIZE=32 -I. -O3 -o config_info_pthread libs/config/test/config_info.cpp
node --experimental-wasm-threads --experimental-wasm-bulk-memory config_info_pthread
node --experimental-wasm-threads config_info_pthread
- name: Test config_test (pthread)
working-directory: ../boost-root
run: |
source ../emsdk/emsdk_env.sh
emcc -pthread -s EXIT_RUNTIME=1 -s PTHREAD_POOL_SIZE=32 -s DISABLE_EXCEPTION_CATCHING=0 -I. -O3 -o config_test_pthread libs/config/test/config_test.cpp
node --experimental-wasm-threads --experimental-wasm-bulk-memory config_test_pthread
node --experimental-wasm-threads config_test_pthread
ubuntu-cuda:
runs-on: ubuntu-20.04
strategy:
@@ -439,7 +525,7 @@ jobs:
matrix:
std: [ 11, 14, 17 ]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1

View File

@@ -1,6 +1,6 @@
#
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Thu Feb 3 18:10:41 2022
# This file was automatically generated on Sun Jun 5 16:50:18 2022
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
@@ -118,6 +118,7 @@ obj cxx14_return_type_deduction : test_case.cpp : <define>TEST_BOOST_NO_CXX14_RE
obj cxx14_std_exchange : test_case.cpp : <define>TEST_BOOST_NO_CXX14_STD_EXCHANGE ;
obj cxx14_variable_templates : test_case.cpp : <define>TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES ;
obj cxx17 : test_case.cpp : <define>TEST_BOOST_NO_CXX17 ;
obj cxx17_deduction_guides : test_case.cpp : <define>TEST_BOOST_NO_CXX17_DEDUCTION_GUIDES ;
obj cxx17_fold_expressions : test_case.cpp : <define>TEST_BOOST_NO_CXX17_FOLD_EXPRESSIONS ;
obj cxx17_hdr_any : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_ANY ;
obj cxx17_hdr_charconv : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_CHARCONV ;

View File

@@ -18,7 +18,9 @@ obj 64 : 64.cpp ;
obj arm : arm.cpp ;
obj combined : combined.cpp ;
obj mips1 : mips1.cpp ;
obj loongarch : loongarch.cpp ;
obj mips : mips.cpp ;
alias mips1 : mips ; # Backwards compatibility
obj power : power.cpp ;
obj riscv : riscv.cpp ;
obj sparc : sparc.cpp ;

View File

@@ -0,0 +1,11 @@
// loongarch.cpp
//
// Copyright (c) 2022 Zhang Na
//
// Distributed under the Boost Software License Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#if !defined(__loongarch__)
#error "Not LoongArch"
#endif

View File

@@ -1,4 +1,4 @@
// mips1.cpp
// mips.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
@@ -7,5 +7,5 @@
// http://www.boost.org/LICENSE_1_0.txt)
#if !(defined(__mips) || defined(_MIPS_ISA_MIPS1) || defined(_R3000))
#error "Not MIPS1"
#error "Not MIPS"
#endif

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// This file was automatically generated on Sun Jun 5 16:50:18 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
@@ -546,6 +546,11 @@
# error "Defect macro BOOST_NO_CXX17 is defined."
# endif
#endif
#ifdef TEST_BOOST_NO_CXX17_DEDUCTION_GUIDES
# ifdef BOOST_NO_CXX17_DEDUCTION_GUIDES
# error "Defect macro BOOST_NO_CXX17_DEDUCTION_GUIDES is defined."
# endif
#endif
#ifdef TEST_BOOST_NO_CXX17_FOLD_EXPRESSIONS
# ifdef BOOST_NO_CXX17_FOLD_EXPRESSIONS
# error "Defect macro BOOST_NO_CXX17_FOLD_EXPRESSIONS is defined."

View File

@@ -33,8 +33,6 @@
that describe C++03 defects</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros
that describe optional features</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c___future_features">Macros
that describe possible C++ future features</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__11_features_not_supported">Macros
that describe C++11 features not supported</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_allow_use_of_c__11_features_with_c__03_compilers">Macros
@@ -2559,46 +2557,6 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_that_describe_possible_c___future_features"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c___future_features" title="Macros that describe possible C++ future features">Macros
that describe possible C++ future features</a>
</h3></div></div></div>
<p>
The following macros describe features that may be included in some future
ISO C++ standard, but have not yet been approved for inclusion in the language.
</p>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Macro
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody><tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_HAS_CONCEPTS</span></code>
</p>
</td>
<td>
<p>
The compiler supports concepts.
</p>
</td>
</tr></tbody>
</table></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_that_describe_c__11_features_not_supported"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__11_features_not_supported" title="Macros that describe C++11 features not supported">Macros
that describe C++11 features not supported</a>
</h3></div></div></div>
@@ -2650,6 +2608,19 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_ALIGNOF</span></code>
</p>
</td>
<td>
<p>
The compiler does not support the <code class="computeroutput"><span class="keyword">alignof</span></code>
keyword.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_ALLOCATOR</span></code>
@@ -2915,7 +2886,9 @@
</td>
<td>
<p>
The standard library does not provide header &lt;codecvt&gt;.
The standard library does not provide header &lt;codecvt&gt;. Note
that this header is deprecated post C++17, and therefore the macro
may be set as a result of the feature being deliberately removed.
</p>
</td>
</tr>
@@ -3805,6 +3778,19 @@
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NULLPTR</span></code>
</p>
</td>
<td>
<p>
If <code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_NULLPTR</span></code>
is not defined (i.e. C++11 compliant compilers), expands to <code class="computeroutput"><span class="keyword">nullptr</span></code>, otherwise expands to <code class="computeroutput"><span class="number">0</span></code>.
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
@@ -4222,6 +4208,19 @@
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX17_DEDUCTION_GUIDES</span></code>
</p>
</td>
<td>
<p>
The compiler does not support class template argument deduction
(CTAD) guides.
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
@@ -4356,7 +4355,7 @@
</td>
<td>
<p>
The compiler does not support the header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">format</span><span class="special">&gt;</span></code>.
The compiler does not support the header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">source_location</span><span class="special">&gt;</span></code>.
</p>
</td>
</tr>
@@ -4452,7 +4451,7 @@
</td>
<td>
<p>
The compiler does not support the header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">range</span><span class="special">&gt;</span></code>.
The compiler does not support the header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">ranges</span><span class="special">&gt;</span></code>.
</p>
</td>
</tr>
@@ -4492,6 +4491,18 @@
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX20_HDR_VERSION</span></code>
</p>
</td>
<td>
<p>
The compiler does not support the header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">version</span><span class="special">&gt;</span></code>.
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
@@ -4590,6 +4601,19 @@
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_HDR_CODECVT</span></code>
</p>
</td>
<td>
<p>
The standard library no longer supports <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">codecvt</span><span class="special">&gt;</span></code>,
there is as yet no replacement.
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
@@ -4824,8 +4848,8 @@
<span class="keyword">case</span> <span class="number">41</span><span class="special">:</span>
<span class="keyword">if</span> <span class="special">(</span><span class="identifier">truth_is_out_there</span><span class="special">)</span> <span class="special">{</span>
<span class="special">++</span><span class="identifier">x</span><span class="special">;</span>
<span class="identifier">BOOST_FALLTHROUGH</span><span class="special">;</span> <span class="comment">// Use instead of/along with annotations in </span>
<span class="comment">// comments. </span>
<span class="identifier">BOOST_FALLTHROUGH</span><span class="special">;</span> <span class="comment">// Use instead of/along with annotations in</span>
<span class="comment">// comments.</span>
<span class="special">}</span> <span class="keyword">else</span> <span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">x</span><span class="special">;</span>
<span class="special">}</span>
@@ -5017,14 +5041,13 @@
</td>
<td>
<p>
This macro can be used in place of the compiler specific variant
This macro can be used in place of the compiler-specific variant
of the C99 <code class="computeroutput"><span class="identifier">restrict</span></code>
keyword to notify the compiler that, for the lifetime of the qualified
pointer variable, only it and its derivative value will be used
to gain access to the object it references. This limits the effect
of pointer aliasing and helps the optimizers in generating better
code. However, i this condition is violated, undefined behavior
may occurs.
pointer variable, only it and its derivative values will be used
to access the object it references. This limits the effect of pointer
aliasing and helps optimizers in generating better code. However,
if this condition is violated, undefined behavior may occur.
</p>
<p>
Usage example:
@@ -5235,6 +5258,45 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_DEPRECATED</span><span class="special">(</span><span class="identifier">M</span><span class="special">)</span></code>
</p>
</td>
<td>
<p>
Expands to an attribute for a symbol that generates warnings when
that symbol is used in code. The warnings may contain a message
<code class="computeroutput"><span class="identifier">M</span></code>, which must be
a string literal. This attribute may be applied to types, functions
or objects and is typically used to mark parts of the API as deprecated
with a recommendation of replacement.
</p>
<p>
Example:
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">BOOST_DEPRECATED</span><span class="special">(</span><span class="string">"Use bar() instead."</span><span class="special">)</span>
<span class="keyword">void</span> <span class="identifier">foo</span><span class="special">();</span>
<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">T</span> <span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">BOOST_DEPRECATED</span><span class="special">(</span><span class="string">"Use std::unique_ptr instead."</span><span class="special">)</span> <span class="identifier">auto_ptr</span>
<span class="special">{</span>
<span class="special">};</span>
<span class="identifier">BOOST_DEPRECATED</span><span class="special">(</span><span class="string">"Use std::numeric_limits&lt;int&gt;::max() instead."</span><span class="special">)</span>
<span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">max_int</span> <span class="special">=</span> <span class="number">0x7fffffff</span><span class="special">;</span>
</pre>
<p>
</p>
<p>
The warnings issued by <code class="computeroutput"><span class="identifier">BOOST_DEPRECATED</span></code>
can be suppressed by defining <code class="computeroutput"><span class="identifier">BOOST_ALLOW_DEPRECATED_SYMBOLS</span></code>
or <code class="computeroutput"><span class="identifier">BOOST_ALLOW_DEPRECATED</span></code>
macros.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_PRAGMA_MESSAGE</span><span class="special">(</span><span class="identifier">M</span><span class="special">)</span></code>
@@ -5278,7 +5340,9 @@
</p>
<p>
The messages issued by <code class="computeroutput"><span class="identifier">BOOST_HEADER_DEPRECATED</span></code>
can be suppressed by defining the macro <code class="computeroutput"><span class="identifier">BOOST_ALLOW_DEPRECATED_HEADERS</span></code>.
can be suppressed by defining <code class="computeroutput"><span class="identifier">BOOST_ALLOW_DEPRECATED_HEADERS</span></code>
or <code class="computeroutput"><span class="identifier">BOOST_ALLOW_DEPRECATED</span></code>
macros.
</p>
</td>
</tr>
@@ -5476,6 +5540,29 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_CLANG_VERSION</span></code>
</p>
</td>
<td>
<p>
<code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
</p>
</td>
<td>
<p>
Defined to the version of the Clang compiler, usually <code class="computeroutput"><span class="identifier">__clang_major__</span> <span class="special">*</span>
<span class="number">10000</span> <span class="special">+</span>
<span class="identifier">__clang_minor__</span> <span class="special">*</span>
<span class="number">100</span> <span class="special">+</span>
<span class="identifier">__clang_patchlevel__</span></code>.
On Apple Clang, has a best-effort value reflecting the upstream
version, rather than the Apple version.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_BORLANDC</span></code>
@@ -5568,18 +5655,22 @@
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_WREGEX</span></code>
<code class="computeroutput"><span class="identifier">BOOST_MSSTL_VERSION</span></code>
</p>
</td>
<td>
<p>
<code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">regex</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
<code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
</p>
</td>
<td>
<p>
Defined if the regex library does not support wide character regular
expressions.
Defined if the Microsoft Visual C++ standard library is in use.
Has the value of <code class="computeroutput"><span class="identifier">_MSVC_STL_VERSION</span></code>
when that is defined, and a synthesized value of the same format
otherwise. Example values are 143 for VS2022/msvc-14.3, 142 for
VS2019/msvc-14.2, 141 for VS2017/msvc-14.1, 140 for VS2015/msvc-14.0,
120 for VS2013/msvc-12.0, and so on.
</p>
</td>
</tr>
@@ -6859,6 +6950,26 @@
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_DISABLE_EXPLICIT_SYMBOL_VISIBILITY</span></code>
</p>
</td>
<td>
<p>
Disables the effect of the BOOST_SYMBOL_EXPORT, BOOST_SYMBOL_IMPORT
and BOOST_SYMBOL_VISIBLE macros, in order to revert to the default
compiler behaviour. Note that this option should never be used
if Boost libraries are being linking against dynamically, or
if you are building a shared library that exposes Boost types
in its public API. It is however advisable when statically-linking
against Boost to prevent Boost symbols from leaking from the
binary: for instance because you are building a plug-in for a
software which may itself use Boost which could cause ODR conflicts.
</p>
</td>
</tr>
</tbody>
</table></div>
<p>

View File

@@ -58,12 +58,12 @@
</dl></dd>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html">Boost Macro Reference</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.broad_c___standard_level_checks">Broad
C++ Standard Level Checks</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__03_defects">Macros
that describe C++03 defects</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros
that describe optional features</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_possible_c___future_features">Macros
that describe possible C++ future features</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__11_features_not_supported">Macros
that describe C++11 features not supported</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_allow_use_of_c__11_features_with_c__03_compilers">Macros
@@ -992,7 +992,7 @@
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: March 05, 2021 at 17:51:35 GMT</small></p></td>
<td align="left"><p><small>Last revised: February 22, 2023 at 19:02:21 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>

View File

@@ -630,22 +630,6 @@ standard).
[endsect]
[section Macros that describe possible C++ future features]
The following macros describe features that may be included in some future
ISO C++ standard, but have not yet been approved for inclusion in the language.
[table
[[Macro ][Description ]]
[[`BOOST_HAS_CONCEPTS`][
The compiler supports concepts.
]]
]
[endsect]
[section Macros that describe C++11 features not supported]
The following macros describe features in the 2011 ISO C++ standard, formerly known as C++0x,
@@ -656,6 +640,7 @@ that are not yet supported by a particular compiler or library.
[[`BOOST_NO_CXX11_ADDRESSOF`][The standard library header <memory> has no working std::addressof.]]
[[`BOOST_NO_CXX11_ALIGNAS`][The compiler does not support the `alignas` keyword.]]
[[`BOOST_NO_CXX11_ALIGNOF`][The compiler does not support the `alignof` keyword.]]
[[`BOOST_NO_CXX11_ALLOCATOR`][The standard library does not provide a C++11 version of `std::allocator` in <memory>.]]
[[`BOOST_NO_CXX11_ATOMIC_SMART_PTR`][The standard library <memory> does not support atomic smart pointer operations.]]
[[`BOOST_NO_CXX11_AUTO_DECLARATIONS`][The compiler does not support
@@ -966,6 +951,10 @@ and must be defined for all translation units in the program, including Boost li
This macro will no longer have any effect once an official Microsoft
release supports the CTP features.
]]
[[`BOOST_NULLPTR`][
If `BOOST_NO_CXX11_NULLPTR` is not defined (i.e. C++11 compliant compilers), expands to `nullptr`,
otherwise expands to `0`.
]]
]
[endsect]
@@ -1037,6 +1026,7 @@ that are not yet supported by a particular compiler or library.
[[`BOOST_NO_CXX17_ITERATOR_TRAITS`][The compiler does not support SFINAE-friendly `std::iterator_traits`.]]
[[`BOOST_NO_CXX17_IF_CONSTEXPR`][The compiler does not support `if constexpr`.]]
[[`BOOST_NO_CXX17_INLINE_VARIABLES`][The compiler does not support `inline` variables.]]
[[`BOOST_NO_CXX17_DEDUCTION_GUIDES`][The compiler does not support class template argument deduction (CTAD) guides.]]
]
[endsect]
@@ -1066,7 +1056,7 @@ that are not yet supported by a particular compiler or library.
[[Macro ][Description ]]
[[`BOOST_NO_CXX20_HDR_BARRIER`][The compiler does not support the header `<barrier>`.]]
[[`BOOST_NO_CXX20_HDR_FORMAT`][The compiler does not support the header `<format>`.]]
[[`BOOST_NO_CXX20_HDR_SOURCE_LOCATION`][The compiler does not support the header `<format>`.]]
[[`BOOST_NO_CXX20_HDR_SOURCE_LOCATION`][The compiler does not support the header `<source_location>`.]]
[[`BOOST_NO_CXX20_HDR_BIT`][The compiler does not support the header `<bit>`.]]
[[`BOOST_NO_CXX20_HDR_LATCH`][The compiler does not support the header `<latch>`.]]
[[`BOOST_NO_CXX20_HDR_SPAN`][The compiler does not support the header `<span>`.]]
@@ -1074,7 +1064,7 @@ that are not yet supported by a particular compiler or library.
[[`BOOST_NO_CXX20_HDR_NUMBERS`][The compiler does not support the header `<numbers>`.]]
[[`BOOST_NO_CXX20_HDR_STOP_TOKEN`][The compiler does not support the header `<stop_token>`.]]
[[`BOOST_NO_CXX20_HDR_CONCEPTS`][The compiler does not support the header `<concepts>`.]]
[[`BOOST_NO_CXX20_HDR_RANGES`][The compiler does not support the header `<range>`.]]
[[`BOOST_NO_CXX20_HDR_RANGES`][The compiler does not support the header `<ranges>`.]]
[[`BOOST_NO_CXX20_HDR_SYNCSTREAM`][The compiler does not support the header `<syncstream>`.]]
[[`BOOST_NO_CXX20_HDR_COROUTINE`][The compiler does not support the header `<coroutine>`.]]
[[`BOOST_NO_CXX20_HDR_SEMAPHORE`][The compiler does not support the header `<semaphore>`.]]
@@ -1194,41 +1184,41 @@ struct foo{
Normally evaluates to nothing, but evaluates to return x; if the compiler
requires a return, even when it can never be reached.
]]
[[`BOOST_FALLTHROUGH`][
The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
between switch labels:
``
switch (x) {
case 40:
case 41:
if (truth_is_out_there) {
++x;
BOOST_FALLTHROUGH; // Use instead of/along with annotations in
// comments.
} else {
return x;
}
case 42:
...
``
As shown in the example above, the BOOST_FALLTHROUGH macro should be
followed by a semicolon. It is designed to mimic control-flow statements
like 'break;', so it can be placed in most places where 'break;' can, but
only if there are no statements on the execution path between it and the
next switch label.
[[`BOOST_FALLTHROUGH`][
The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
between switch labels:
``
switch (x) {
case 40:
case 41:
if (truth_is_out_there) {
++x;
BOOST_FALLTHROUGH; // Use instead of/along with annotations in
// comments.
} else {
return x;
}
case 42:
...
``
As shown in the example above, the BOOST_FALLTHROUGH macro should be
followed by a semicolon. It is designed to mimic control-flow statements
like 'break;', so it can be placed in most places where 'break;' can, but
only if there are no statements on the execution path between it and the
next switch label.
When compiled with Clang >3.2 in C++11 mode, the BOOST_FALLTHROUGH macro is
expanded to `[[clang::fallthrough]]` attribute, which is analysed when
performing switch labels fall-through diagnostic ('-Wimplicit-fallthrough').
See clang [@http://clang.llvm.org/docs/LanguageExtensions.html#clang__fallthrough
documentation on language extensions for details.]
When compiled with Clang >3.2 in C++11 mode, the BOOST_FALLTHROUGH macro is
expanded to `[[clang::fallthrough]]` attribute, which is analysed when
performing switch labels fall-through diagnostic ('-Wimplicit-fallthrough').
See clang [@http://clang.llvm.org/docs/LanguageExtensions.html#clang__fallthrough
documentation on language extensions for details.]
When used with unsupported compilers, the BOOST_FALLTHROUGH macro has no
effect on diagnostics.
When used with unsupported compilers, the BOOST_FALLTHROUGH macro has no
effect on diagnostics.
In either case this macro has no effect on runtime behavior and performance
of code.
]]
In either case this macro has no effect on runtime behavior and performance
of code.
]]
[[`BOOST_EXPLICIT_TEMPLATE_TYPE(t)`
`BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t,v)`
@@ -1317,11 +1307,11 @@ used to create a mangled name in combination with a predefined macro such a
\_\_LINE__.
]]
[[`BOOST_RESTRICT`][
This macro can be used in place of the compiler specific variant of the C99 `restrict` keyword to
This macro can be used in place of the compiler-specific variant of the C99 `restrict` keyword to
notify the compiler that, for the lifetime of the qualified pointer variable, only it and its
derivative value will be used to gain access to the object it references. This limits the effect of
pointer aliasing and helps the optimizers in generating better code. However, i this condition is
violated, undefined behavior may occurs.
derivative values will be used to access the object it references. This limits the effect of
pointer aliasing and helps optimizers in generating better code. However, if this condition is
violated, undefined behavior may occur.
Usage example:
``
@@ -1400,11 +1390,11 @@ Usage example:
handle_error("ptr is NULL");
``
]]
[[`BOOST_ATTRIBUTE_UNUSED`][Expands to `__attribute__((unused))` when this is available -
[[`BOOST_ATTRIBUTE_UNUSED`][Expands to `__attribute__((unused))` when this is available -
can be used to disable compiler warnings relating to unused types or variables.]]
[[`BOOST_ATTRIBUTE_NODISCARD`][Expands to `[[nodiscard]]` when this is available -
[[`BOOST_ATTRIBUTE_NODISCARD`][Expands to `[[nodiscard]]` when this is available -
can be used to create a warning when a type or variable is unused.]]
[[`BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS`][Expands to `[[no_unique_address]]` when this is available -
[[`BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS`][Expands to `[[no_unique_address]]` when this is available -
can be used to indicate that a non-static data member need not have a unique address (for example empty classes).]]
[[`BOOST_MAY_ALIAS`, `BOOST_NO_MAY_ALIAS`][
`BOOST_MAY_ALIAS` expands to a type attribute that can be used to mark types that may
@@ -1418,6 +1408,27 @@ Usage example:
typedef unsigned int BOOST_MAY_ALIAS aliasing_uint;
``
]]
[[`BOOST_DEPRECATED(M)`][Expands to an attribute for a symbol that generates warnings when that
symbol is used in code. The warnings may contain a message `M`, which must be a string literal.
This attribute may be applied to types, functions or objects and is typically used to mark
parts of the API as deprecated with a recommendation of replacement.
Example:
``
BOOST_DEPRECATED("Use bar() instead.")
void foo();
template< typename T >
class BOOST_DEPRECATED("Use std::unique_ptr instead.") auto_ptr
{
};
BOOST_DEPRECATED("Use std::numeric_limits<int>::max() instead.")
const int max_int = 0x7fffffff;
``
The warnings issued by `BOOST_DEPRECATED` can be suppressed by defining
`BOOST_ALLOW_DEPRECATED_SYMBOLS` or `BOOST_ALLOW_DEPRECATED` macros.]]
[[`BOOST_PRAGMA_MESSAGE(M)`][Defined in header `<boost/config/pragma_message.hpp>`,
this macro expands to the equivalent of `#pragma message(M)`. `M` must be a string
literal.
@@ -1433,8 +1444,8 @@ this macro issues the message "This header is deprecated. Use `A` instead." via
Example: `BOOST_HEADER_DEPRECATED("<boost/config/workaround.hpp>")`
The messages issued by `BOOST_HEADER_DEPRECATED` can be suppressed by defining the macro
`BOOST_ALLOW_DEPRECATED_HEADERS`.]]
The messages issued by `BOOST_HEADER_DEPRECATED` can be suppressed by defining
`BOOST_ALLOW_DEPRECATED_HEADERS` or `BOOST_ALLOW_DEPRECATED` macros.]]
]
[endsect]
@@ -1509,9 +1520,12 @@ Defined if the Windows platform API is available.
Defined if the dinkumware standard library is in use, takes the same value
as the Dinkumware library version macro `_CPPLIB_VER` if defined, otherwise 1.
]]
[[`BOOST_NO_WREGEX`][`<boost/regex.hpp>`][
Defined if the regex library does not support wide character regular
expressions.
[[`BOOST_MSSTL_VERSION`][`<boost/config.hpp>`][
Defined if the Microsoft Visual C++ standard library is in use.
Has the value of `_MSVC_STL_VERSION` when that is defined, and a synthesized
value of the same format otherwise. Example values are 143 for
VS2022/msvc-14.3, 142 for VS2019/msvc-14.2, 141 for VS2017/msvc-14.1,
140 for VS2015/msvc-14.0, 120 for VS2013/msvc-12.0, and so on.
]]
[[`BOOST_COMPILER`][`<boost/config.hpp>`][
Defined as a string describing the name and version number of the compiler
@@ -1659,6 +1673,15 @@ export/import of symbols from shared libraries.
['Deprecated. This macro is no longer necessary since BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT
are now supplied. It is provided to support legacy code.]
]]
[[`BOOST_DISABLE_EXPLICIT_SYMBOL_VISIBILITY`][
Disables the effect of the BOOST_SYMBOL_EXPORT, BOOST_SYMBOL_IMPORT and BOOST_SYMBOL_VISIBLE macros,
in order to revert to the default compiler behaviour.
Note that this option should never be used if Boost libraries are being linking against dynamically,
or if you are building a shared library that exposes Boost types in its public API.
It is however advisable when statically-linking against Boost to prevent Boost symbols from leaking from the binary:
for instance because you are building a plug-in for a software which may itself use Boost which could cause
ODR conflicts.
]]
]
Typical usage:

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// This file was automatically generated on Sun Jun 5 16:50:18 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// This file was automatically generated on Sun Jun 5 16:50:18 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// This file was automatically generated on Sun Jun 5 16:50:18 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// This file was automatically generated on Sun Jun 5 16:50:18 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
@@ -12,6 +12,9 @@
#include <boost/config.hpp>
#include <boost/config/assert_cxx14.hpp>
#ifdef BOOST_NO_CXX17_DEDUCTION_GUIDES
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_DEDUCTION_GUIDES."
#endif
#ifdef BOOST_NO_CXX17_FOLD_EXPRESSIONS
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_FOLD_EXPRESSIONS."
#endif

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// This file was automatically generated on Sun Jun 5 16:50:18 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the

View File

@@ -194,6 +194,7 @@
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
#define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS

View File

@@ -240,6 +240,10 @@
# define BOOST_NO_CXX11_ALIGNAS
#endif
#if !__has_feature(cxx_alignof)
# define BOOST_NO_CXX11_ALIGNOF
#endif
#if !__has_feature(cxx_trailing_return)
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#endif
@@ -325,11 +329,18 @@
// All versions with __cplusplus above this value seem to support this:
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
#endif
//
// __builtin_unreachable:
#if defined(__has_builtin) && __has_builtin(__builtin_unreachable)
// Unreachable code markup
#if defined(__has_builtin)
#if __has_builtin(__builtin_unreachable)
#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
#endif
#endif
// Deprecated symbol markup
#if __has_attribute(deprecated)
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
#endif
#if (__clang_major__ == 3) && (__clang_minor__ == 0)
// Apparently a clang bug:

View File

@@ -4,14 +4,20 @@
#if !defined(__APPLE__)
# define BOOST_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__)
# define BOOST_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__ % 100)
#else
# define BOOST_CLANG_REPORTED_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__)
# define BOOST_CLANG_REPORTED_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__ % 100)
// https://en.wikipedia.org/wiki/Xcode#Toolchain_versions
# if BOOST_CLANG_REPORTED_VERSION >= 130000
# if BOOST_CLANG_REPORTED_VERSION >= 140000
# define BOOST_CLANG_VERSION 140000
# elif BOOST_CLANG_REPORTED_VERSION >= 130100
# define BOOST_CLANG_VERSION 130000
# elif BOOST_CLANG_REPORTED_VERSION >= 130000
# define BOOST_CLANG_VERSION 120000
# elif BOOST_CLANG_REPORTED_VERSION >= 120005

View File

@@ -260,6 +260,7 @@
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
#define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS

View File

@@ -92,6 +92,7 @@
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS

View File

@@ -375,6 +375,7 @@
#if __cplusplus >= 201103L
#undef BOOST_NO_CXX11_ALIGNAS
#undef BOOST_NO_CXX11_ALIGNOF
#undef BOOST_NO_CXX11_DECLTYPE_N3276
#define BOOST_NO_CXX11_HDR_ATOMIC
#undef BOOST_NO_CXX11_HDR_FUNCTIONAL

View File

@@ -79,6 +79,7 @@
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
#define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS

View File

@@ -219,6 +219,7 @@
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
# define BOOST_NO_CXX11_RAW_LITERALS
# define BOOST_NO_CXX11_UNICODE_LITERALS
# define BOOST_NO_CXX11_ALIGNOF
#endif
// C++0x features in 4.5.1 and later
@@ -340,12 +341,18 @@
// Type aliasing hint. Supported since gcc 3.3.
#define BOOST_MAY_ALIAS __attribute__((__may_alias__))
//
// __builtin_unreachable:
// Unreachable code markup
#if BOOST_GCC_VERSION >= 40500
#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
#endif
// Deprecated symbol markup
#if BOOST_GCC_VERSION >= 40500
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
#else
#define BOOST_DEPRECATED(msg) __attribute__((deprecated))
#endif
#ifndef BOOST_COMPILER
# define BOOST_COMPILER "GNU C++ version " __VERSION__
#endif
@@ -359,7 +366,7 @@
// versions check:
// we don't know gcc prior to version 3.30:
#if (BOOST_GCC_VERSION< 30300)
#if (BOOST_GCC_VERSION < 30300)
# error "Compiler not configured - please reconfigure"
#endif
//

View File

@@ -57,6 +57,7 @@
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
# define BOOST_NO_CXX11_ALIGNAS
# define BOOST_NO_CXX11_ALIGNOF
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
# define BOOST_NO_CXX11_INLINE_NAMESPACES
# define BOOST_NO_CXX11_REF_QUALIFIERS

View File

@@ -121,6 +121,7 @@
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
#define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS

View File

@@ -483,6 +483,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
// BOOST_NO_CXX11_ALIGNAS
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))
# undef BOOST_NO_CXX11_ALIGNAS
# undef BOOST_NO_CXX11_ALIGNOF
#endif
// BOOST_NO_CXX11_TRAILING_RESULT_TYPES

View File

@@ -122,6 +122,7 @@
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
#define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS

View File

@@ -71,6 +71,7 @@
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
#define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS

View File

@@ -84,6 +84,7 @@
# define BOOST_NO_CXX11_HDR_CHRONO
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
# define BOOST_NO_CXX11_ALIGNAS
# define BOOST_NO_CXX11_ALIGNOF
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
# define BOOST_NO_CXX11_INLINE_NAMESPACES
# define BOOST_NO_CXX11_REF_QUALIFIERS

View File

@@ -86,6 +86,12 @@
# define BOOST_SYMBOL_VISIBLE __global
#endif
// Deprecated symbol markup
// Oracle Studio 12.4 supports deprecated attribute with a message; this is the first release that supports the attribute.
#if (__SUNPRO_CC >= 0x5130)
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
#endif
#if (__SUNPRO_CC < 0x5130)
// C++03 features in 12.4:
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
@@ -120,6 +126,7 @@
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
#define BOOST_NO_CXX11_UNICODE_LITERALS
#define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_FINAL

View File

@@ -133,6 +133,7 @@
# define BOOST_NO_CXX11_VARIADIC_MACROS
#endif
#define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS

View File

@@ -107,6 +107,14 @@
# define BOOST_NO_RTTI
#endif
// Deprecated symbol markup
#if (_MSC_VER >= 1400)
#define BOOST_DEPRECATED(msg) __declspec(deprecated(msg))
#else
// MSVC 7.1 only supports the attribute without a message
#define BOOST_DEPRECATED(msg) __declspec(deprecated)
#endif
//
// TR1 features:
//
@@ -175,6 +183,7 @@
# define BOOST_NO_CXX11_REF_QUALIFIERS
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
# define BOOST_NO_CXX11_ALIGNAS
# define BOOST_NO_CXX11_ALIGNOF
# define BOOST_NO_CXX11_INLINE_NAMESPACES
# define BOOST_NO_CXX11_CHAR16_T
# define BOOST_NO_CXX11_CHAR32_T
@@ -262,7 +271,7 @@
#ifndef BOOST_NO_CXX11_THREAD_LOCAL
# define BOOST_NO_CXX11_THREAD_LOCAL
#endif
#ifndef BOOST_NO_SFINAE_EXPR
#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(_MSVC_LANG)
# define BOOST_NO_SFINAE_EXPR
#endif
#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
@@ -356,6 +365,8 @@
# define BOOST_COMPILER_VERSION 14.1
# elif _MSC_VER < 1930
# define BOOST_COMPILER_VERSION 14.2
# elif _MSC_VER < 1940
# define BOOST_COMPILER_VERSION 14.3
# else
# define BOOST_COMPILER_VERSION _MSC_VER
# endif
@@ -367,8 +378,8 @@
#include <boost/config/pragma_message.hpp>
//
// last known and checked version is 19.20.27508 (VC++ 2019 RC3):
#if (_MSC_VER > 1920)
// last known and checked version is 19.3x (VS2022):
#if (_MSC_VER >= 1940)
# if defined(BOOST_ASSERT_CONFIG)
# error "Boost.Config is older than your current compiler version."
# elif !defined(BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE)

View File

@@ -184,6 +184,10 @@
# define BOOST_NO_CXX11_ALIGNAS
#endif
#if !__has_feature(cxx_alignof)
# define BOOST_NO_CXX11_ALIGNOF
#endif
#if !__has_feature(cxx_trailing_return)
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#endif
@@ -270,6 +274,10 @@
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
#endif
// Deprecated symbol markup
#if __has_attribute(deprecated)
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
#endif
// Unused attribute:
#if defined(__GNUC__) && (__GNUC__ >= 4)

View File

@@ -142,6 +142,7 @@
#define BOOST_NO_CXX11_FINAL
#define BOOST_NO_CXX11_OVERRIDE
#define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_ALIGNOF
#define BOOST_NO_CXX11_UNRESTRICTED_UNION
#define BOOST_NO_CXX14_VARIABLE_TEMPLATES
#define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// This file was automatically generated on Sun Jun 5 16:50:18 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
@@ -163,6 +163,7 @@
#endif
#if defined(BOOST_NO_CXX14)\
|| defined(BOOST_NO_CXX17_DEDUCTION_GUIDES)\
|| defined(BOOST_NO_CXX17_FOLD_EXPRESSIONS)\
|| defined(BOOST_NO_CXX17_HDR_ANY)\
|| defined(BOOST_NO_CXX17_HDR_CHARCONV)\

View File

@@ -47,6 +47,22 @@
# define BOOST_SYMBOL_VISIBLE
#endif
//
// disable explicitly enforced visibility
//
#if defined(BOOST_DISABLE_EXPLICIT_SYMBOL_VISIBILITY)
#undef BOOST_SYMBOL_EXPORT
#define BOOST_SYMBOL_EXPORT
#undef BOOST_SYMBOL_IMPORT
#define BOOST_SYMBOL_IMPORT
#undef BOOST_SYMBOL_VISIBLE
#define BOOST_SYMBOL_VISIBLE
#endif
//
// look for long long by looking for the appropriate macros in <limits.h>.
// Note that we use limits.h rather than climits for maximal portability,
@@ -632,7 +648,7 @@ namespace std{ using ::type_info; }
// nvcc doesn't always parse __noinline__,
// see: https://svn.boost.org/trac/boost/ticket/9392
# define BOOST_NOINLINE __attribute__ ((noinline))
# elif defined(HIP_VERSION)
# elif defined(__HIP__)
// See https://github.com/boostorg/config/issues/392
# define BOOST_NOINLINE __attribute__ ((noinline))
# else
@@ -668,6 +684,23 @@ namespace std{ using ::type_info; }
# define BOOST_NORETURN
#endif
// BOOST_DEPRECATED -------------------------------------------//
// The macro can be used to mark deprecated symbols, such as functions, objects and types.
// Any code that uses these symbols will produce warnings, possibly with a message specified
// as an argument. The warnings can be suppressed by defining BOOST_ALLOW_DEPRECATED_SYMBOLS
// or BOOST_ALLOW_DEPRECATED.
#if !defined(BOOST_DEPRECATED) && __cplusplus >= 201402
#define BOOST_DEPRECATED(msg) [[deprecated(msg)]]
#endif
#if defined(BOOST_ALLOW_DEPRECATED_SYMBOLS) || defined(BOOST_ALLOW_DEPRECATED)
#undef BOOST_DEPRECATED
#endif
#if !defined(BOOST_DEPRECATED)
#define BOOST_DEPRECATED(msg)
#endif
// Branch prediction hints
// These macros are intended to wrap conditional expressions that yield true or false
//
@@ -1015,6 +1048,9 @@ namespace std{ using ::type_info; }
#else
#define BOOST_CXX14_CONSTEXPR constexpr
#endif
#if !defined(BOOST_NO_CXX17_STRUCTURED_BINDINGS) && defined(BOOST_NO_CXX11_HDR_TUPLE)
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
#endif
//
// C++17 inline variables
@@ -1038,9 +1074,22 @@ namespace std{ using ::type_info; }
//
// Unused variable/typedef workarounds:
//
#ifndef BOOST_ATTRIBUTE_UNUSED
# if defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130)
# if __has_attribute(maybe_unused)
# define BOOST_ATTRIBUTE_UNUSED [[maybe_unused]]
# endif
# elif defined(__has_cpp_attribute)
# if __has_cpp_attribute(maybe_unused)
# define BOOST_ATTRIBUTE_UNUSED [[maybe_unused]]
# endif
# endif
#endif
#ifndef BOOST_ATTRIBUTE_UNUSED
# define BOOST_ATTRIBUTE_UNUSED
#endif
//
// [[nodiscard]]:
//
@@ -1069,6 +1118,12 @@ namespace std{ using ::type_info; }
#define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST
#if !defined(BOOST_NO_CXX11_NULLPTR)
# define BOOST_NULLPTR nullptr
#else
# define BOOST_NULLPTR 0
#endif
//
// Set BOOST_HAS_STATIC_ASSERT when BOOST_NO_CXX11_STATIC_ASSERT is not defined
//
@@ -1213,6 +1268,14 @@ namespace std{ using ::type_info; }
# define BOOST_NO_CXX20_HDR_VERSION
#endif
#if defined(BOOST_MSVC)
#if (BOOST_MSVC < 1914) || (_MSVC_LANG < 201703)
# define BOOST_NO_CXX17_DEDUCTION_GUIDES
#endif
#elif !defined(__cpp_deduction_guides) || (__cpp_deduction_guides < 201606)
# define BOOST_NO_CXX17_DEDUCTION_GUIDES
#endif
//
// Define composite agregate macros:
//

View File

@@ -17,7 +17,7 @@
#include <boost/config/pragma_message.hpp>
#if defined(BOOST_ALLOW_DEPRECATED_HEADERS)
#if defined(BOOST_ALLOW_DEPRECATED_HEADERS) || defined(BOOST_ALLOW_DEPRECATED)
# define BOOST_HEADER_DEPRECATED(a)
#else
# define BOOST_HEADER_DEPRECATED(a) BOOST_PRAGMA_MESSAGE("This header is deprecated. Use " a " instead.")

View File

@@ -240,6 +240,8 @@
# define BOOST_NO_CXX98_RANDOM_SHUFFLE
# define BOOST_NO_CXX98_FUNCTION_BASE
# define BOOST_NO_CXX98_BINDERS
# elif defined(_HAS_DEPRECATED_ADAPTOR_TYPEDEFS) && (_HAS_DEPRECATED_ADAPTOR_TYPEDEFS == 0)
# define BOOST_NO_CXX98_BINDERS
# endif
#endif
//
@@ -285,6 +287,36 @@
# define BOOST_DINKUMWARE_STDLIB 1
#endif
// BOOST_MSSTL_VERSION: as _MSVC_STL_VERSION, but for earlier releases as well
#if defined(_MSVC_STL_VERSION) // VS2017 (14.1) and above
# define BOOST_MSSTL_VERSION _MSVC_STL_VERSION
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 650 // VS2015 (14.0)
# define BOOST_MSSTL_VERSION 140
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 610 // VS2013 (12.0)
# define BOOST_MSSTL_VERSION 120
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 540 // VS2012 (11.0)
# define BOOST_MSSTL_VERSION 110
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 520 // VS2010 (10.0)
# define BOOST_MSSTL_VERSION 100
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 505 // VS2008SP1 (9.0)
# define BOOST_MSSTL_VERSION 91
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 503 // VS2008 (also 9.0)
# define BOOST_MSSTL_VERSION 90
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 405 // VS2005 (8.0)
# define BOOST_MSSTL_VERSION 80
#endif
//
#ifdef _CPPLIB_VER
# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
#else

View File

@@ -168,4 +168,13 @@
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#if _LIBCPP_VERSION >= 15000
//
// Unary function is now deprecated in C++11 and later:
//
#if __cplusplus >= 201103L
#define BOOST_NO_CXX98_FUNCTION_BASE
#endif
#endif
// --- end ---

View File

@@ -139,7 +139,18 @@
//
#ifdef __clang__
#if __has_include(<compare>)
#ifdef _GLIBCXX_RELEASE
# define BOOST_LIBSTDCXX_VERSION (_GLIBCXX_RELEASE * 10000 + 100)
#else
//
// We figure out which gcc version issued this std lib
// by checking which headers are available:
//
#if __has_include(<expected>)
# define BOOST_LIBSTDCXX_VERSION 120100
#elif __has_include(<source_location>)
# define BOOST_LIBSTDCXX_VERSION 110100
#elif __has_include(<compare>)
# define BOOST_LIBSTDCXX_VERSION 100100
#elif __has_include(<memory_resource>)
# define BOOST_LIBSTDCXX_VERSION 90100
@@ -166,6 +177,7 @@
#elif __has_include(<array>)
# define BOOST_LIBSTDCXX_VERSION 40300
#endif
#endif
//
// If BOOST_HAS_FLOAT128 is set, now that we know the std lib is libstdc++3, check to see if the std lib is
// configured to support this type. If not disable it:
@@ -255,7 +267,7 @@ extern "C" char *gets (char *__s);
# if !_GLIBCXX_DEPRECATED
# define BOOST_NO_AUTO_PTR
# endif
# elif !_GLIBCXX_USE_DEPRECATED
# elif !defined(_GLIBCXX_USE_DEPRECATED) || !_GLIBCXX_USE_DEPRECATED
# define BOOST_NO_AUTO_PTR
# define BOOST_NO_CXX98_BINDERS
# endif
@@ -385,6 +397,15 @@ extern "C" char *gets (char *__s);
#define BOOST_NO_CXX20_HDR_BIT
#endif
#if BOOST_LIBSTDCXX_VERSION >= 120000
//
// Unary function is now deprecated in C++11 and later:
//
#if __cplusplus >= 201103L
#define BOOST_NO_CXX98_FUNCTION_BASE
#endif
#endif
#ifndef __cpp_impl_coroutine
# define BOOST_NO_CXX20_HDR_COROUTINE
#endif
@@ -407,6 +428,24 @@ extern "C" char *gets (char *__s);
#endif
#endif
#if defined(__clang__)
#if (__clang_major__ < 11) && !defined(BOOST_NO_CXX20_HDR_RANGES)
# define BOOST_NO_CXX20_HDR_RANGES
#endif
#if (__clang_major__ < 10) && (BOOST_LIBSTDCXX_VERSION >= 110000) && !defined(BOOST_NO_CXX11_HDR_CHRONO)
// Old clang can't parse <chrono>:
# define BOOST_NO_CXX11_HDR_CHRONO
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
#endif
#endif
#if defined(__clang__) && (BOOST_LIBSTDCXX_VERSION < 40300) && !defined(BOOST_NO_CXX11_NULLPTR)
# define BOOST_NO_CXX11_NULLPTR
#endif
#if defined(__clang__) && (BOOST_LIBSTDCXX_VERSION < 40300) && defined(BOOST_HAS_INT128) && defined(__APPLE_CC__)
#undef BOOST_HAS_INT128
#endif
//
// Headers not present on Solaris with the Oracle compiler:
#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5140)
@@ -435,7 +474,7 @@ extern "C" char *gets (char *__s);
# endif
#endif
#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX)
#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX) && (__GNUC__ < 6)
// Timed mutexes are not always available:
# define BOOST_NO_CXX11_HDR_MUTEX
#endif

View File

@@ -59,8 +59,8 @@ namespace std
BOOST_STATIC_CONSTANT(bool, is_integer = true);
BOOST_STATIC_CONSTANT(bool, is_exact = true);
BOOST_STATIC_CONSTANT(int, radix = 2);
static BOOST_LLT epsilon() throw() { return 0; };
static BOOST_LLT round_error() throw() { return 0; };
static BOOST_LLT epsilon() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
static BOOST_LLT round_error() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
BOOST_STATIC_CONSTANT(int, min_exponent = 0);
BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
@@ -72,10 +72,10 @@ namespace std
BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
BOOST_STATIC_CONSTANT(bool, has_denorm = false);
BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
static BOOST_LLT infinity() throw() { return 0; };
static BOOST_LLT quiet_NaN() throw() { return 0; };
static BOOST_LLT signaling_NaN() throw() { return 0; };
static BOOST_LLT denorm_min() throw() { return 0; };
static BOOST_LLT infinity() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
static BOOST_LLT quiet_NaN() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
static BOOST_LLT signaling_NaN() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
static BOOST_LLT denorm_min() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
BOOST_STATIC_CONSTANT(bool, is_iec559 = false);
BOOST_STATIC_CONSTANT(bool, is_bounded = true);
@@ -112,8 +112,8 @@ namespace std
BOOST_STATIC_CONSTANT(bool, is_integer = true);
BOOST_STATIC_CONSTANT(bool, is_exact = true);
BOOST_STATIC_CONSTANT(int, radix = 2);
static BOOST_ULLT epsilon() throw() { return 0; };
static BOOST_ULLT round_error() throw() { return 0; };
static BOOST_ULLT epsilon() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
static BOOST_ULLT round_error() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
BOOST_STATIC_CONSTANT(int, min_exponent = 0);
BOOST_STATIC_CONSTANT(int, min_exponent10 = 0);
@@ -125,10 +125,10 @@ namespace std
BOOST_STATIC_CONSTANT(bool, has_signaling_NaN = false);
BOOST_STATIC_CONSTANT(bool, has_denorm = false);
BOOST_STATIC_CONSTANT(bool, has_denorm_loss = false);
static BOOST_ULLT infinity() throw() { return 0; };
static BOOST_ULLT quiet_NaN() throw() { return 0; };
static BOOST_ULLT signaling_NaN() throw() { return 0; };
static BOOST_ULLT denorm_min() throw() { return 0; };
static BOOST_ULLT infinity() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
static BOOST_ULLT quiet_NaN() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
static BOOST_ULLT signaling_NaN() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
static BOOST_ULLT denorm_min() BOOST_NOEXCEPT_OR_NOTHROW { return 0; };
BOOST_STATIC_CONSTANT(bool, is_iec559 = false);
BOOST_STATIC_CONSTANT(bool, is_bounded = true);

View File

@@ -19,7 +19,7 @@
// BOOST_VERSION / 100 % 1000 is the minor version
// BOOST_VERSION / 100000 is the major version
#define BOOST_VERSION 107900
#define BOOST_VERSION 108400
//
// BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
@@ -27,6 +27,6 @@
// number, y is the minor version number, and z is the patch level if not 0.
// This is used by <config/auto_link.hpp> to select which library version to link to.
#define BOOST_LIB_VERSION "1_79"
#define BOOST_LIB_VERSION "1_84"
#endif

View File

@@ -84,9 +84,9 @@ test-suite config
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on ]
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>multi <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on : config_info_threaded ]
[ run config_info.cpp : : : <test-info>always_show_run_output <rtti>off <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on : config_info_no_rtti ]
[ run config_info.cpp : : : <test-info>always_show_run_output <exception-handling>off
<target-os>vxworks:<build>no
: config_info_no_except ]
[ run config_info.cpp : : : <test-info>always_show_run_output <exception-handling>off
<target-os>vxworks:<build>no
: config_info_no_except ]
[ run math_info.cpp : : : <test-info>always_show_run_output <toolset>borland:<runtime-link>static <toolset>borland:<link>static ]
[ run abi/abi_test.cpp abi/main.cpp ]
[ run limits_test.cpp ]
@@ -113,11 +113,12 @@ test-suite config
[ run helper_macros_test.cpp ]
[ compile pragma_message_test.cpp ]
[ compile header_deprecated_test.cpp ]
[ compile symbol_deprecated_test.cpp ]
[ compile boost_override_test.cpp ]
;
obj has_clang_implicit_fallthrough : cmd_line_check.cpp :
<toolset>clang:<cxxflags>"-std=c++11 -Wimplicit-fallthrough" <warnings-as-errors>on <warnings>all ;
<toolset>clang:<cxxflags>"-std=c++11 -Wimplicit-fallthrough" <warnings-as-errors>on <warnings>all ;
explicit has_clang_implicit_fallthrough ;
@@ -128,9 +129,9 @@ explicit math_info_printer ;
actions print-run
{
echo With Standard Version $(STANDARD:E=default)
echo =====================================================================
$(>)
echo With Standard Version $(STANDARD:E=default)
echo =====================================================================
$(>)
}
rule print-run ( target : sources * : properties * )
@@ -147,4 +148,3 @@ explicit print_math_info ;
exe config_info_travis : config_info.cpp ;
install config_info_travis_install : config_info_travis : <location>. ;
explicit config_info_travis_install ;

View File

@@ -1,7 +1,7 @@
#
# Regression test Jamfile for boost configuration setup.
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Thu Feb 3 18:10:41 2022
# This file was automatically generated on Sun Jun 5 16:50:18 2022
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
@@ -193,6 +193,9 @@ test-suite "BOOST_NO_CXX11_ADDRESSOF" :
test-suite "BOOST_NO_CXX11_ALIGNAS" :
[ run ../no_cxx11_alignas_pass.cpp ]
[ compile-fail ../no_cxx11_alignas_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_ALIGNOF" :
[ run ../no_cxx11_alignof_pass.cpp ]
[ compile-fail ../no_cxx11_alignof_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_ALLOCATOR" :
[ run ../no_cxx11_allocator_pass.cpp ]
[ compile-fail ../no_cxx11_allocator_fail.cpp ] ;
@@ -343,6 +346,9 @@ test-suite "BOOST_NO_CXX14_VARIABLE_TEMPLATES" :
test-suite "BOOST_NO_CXX17" :
[ run ../no_cxx17_pass.cpp ]
[ compile-fail ../no_cxx17_fail.cpp ] ;
test-suite "BOOST_NO_CXX17_DEDUCTION_GUIDES" :
[ run ../no_cxx17_deduction_guides_pass.cpp ]
[ compile-fail ../no_cxx17_deduction_guides_fail.cpp ] ;
test-suite "BOOST_NO_CXX17_FOLD_EXPRESSIONS" :
[ run ../no_cxx17_fold_expressions_pass.cpp ]
[ compile-fail ../no_cxx17_fold_expressions_fail.cpp ] ;

View File

@@ -0,0 +1,20 @@
// Copyright Peter Dimov 2022
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for more information.
// MACRO: BOOST_NO_CXX11_ALIGNOF
// TITLE: C++11 alignof keyword.
// DESCRIPTION: The compiler does not support the C++11 alignof keyword.
namespace boost_no_cxx11_alignof {
int test()
{
return alignof(int) == alignof(int(&)[2])? 0: 1;
}
}

View File

@@ -99,8 +99,11 @@ int test()
using std::remove_all_extents;
using std::remove_pointer;
using std::add_pointer;
#if !((__cplusplus > 202002L) || (defined(_MSVC_LANG) && (_MSVC_LANG > 202002L)))
// deprecated in C++23:
using std::aligned_storage;
using std::aligned_union;
#endif
using std::decay;
using std::enable_if;
using std::conditional;

View File

@@ -0,0 +1,34 @@
/*
* Copyright 2022 Andrey Semashev
*
* Distributed under Boost Software License, Version 1.0.
* (See accompanying file LICENSE_1_0.txt or copy at
* http://www.boost.org/LICENSE_1_0.txt)
*/
// MACRO: BOOST_NO_CXX17_DEDUCTION_GUIDES
// TITLE: C++17 class template argument deduction guides
// DESCRIPTION: C++17 class template argument deduction guides are not supported.
namespace boost_no_cxx17_deduction_guides {
template< typename T >
struct foo
{
T m_val;
template< typename U >
foo(U const& x) : m_val(x) {}
};
template< typename T >
foo(T const&)->foo< T >;
int test()
{
foo x1(10);
return x1.m_val - 10;
}
} // boost_no_cxx17_deduction_guides

View File

@@ -31,7 +31,7 @@ struct is_abstract_test
template<class U>
static char check_sig(...);
#ifdef __GNUC__
#if defined(__GNUC__) && (__GNUC__ < 10)
enum{ s1 = sizeof(is_abstract_test<T>::template check_sig<T>(0)) };
#else
enum{ s1 = sizeof(check_sig<T>(0)) };
@@ -46,7 +46,12 @@ struct abstract{ virtual void foo() = 0; };
int test()
{
#if defined(__GNUC__) && (__GNUC__ > 10)
// GCC-11 fails the above test, but this is irrelevant in any case:
return 0;
#else
return static_cast<bool>(is_abstract_test<non_abstract>::value) == static_cast<bool>(is_abstract_test<abstract>::value);
#endif
}
}

View File

@@ -34,7 +34,7 @@ struct IdString
{
std::string name;
int identifier;
bool operator == (const IdString& other)
bool operator == (const IdString& other)const
{
return identifier == other.identifier && name == other.name;
}

View File

@@ -1089,6 +1089,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX11);
PRINT_MACRO(BOOST_NO_CXX11_ADDRESSOF);
PRINT_MACRO(BOOST_NO_CXX11_ALIGNAS);
PRINT_MACRO(BOOST_NO_CXX11_ALIGNOF);
PRINT_MACRO(BOOST_NO_CXX11_ALLOCATOR);
PRINT_MACRO(BOOST_NO_CXX11_ATOMIC_SMART_PTR);
PRINT_MACRO(BOOST_NO_CXX11_AUTO_DECLARATIONS);
@@ -1167,6 +1168,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX14_STD_EXCHANGE);
PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES);
PRINT_MACRO(BOOST_NO_CXX17);
PRINT_MACRO(BOOST_NO_CXX17_DEDUCTION_GUIDES);
PRINT_MACRO(BOOST_NO_CXX17_FOLD_EXPRESSIONS);
PRINT_MACRO(BOOST_NO_CXX17_HDR_ANY);
PRINT_MACRO(BOOST_NO_CXX17_HDR_CHARCONV);
@@ -1266,6 +1268,7 @@ void print_boost_macros()
// END GENERATED BLOCK
PRINT_MACRO(BOOST_CXX_VERSION);
@@ -1275,6 +1278,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_CLANG);
PRINT_MACRO(BOOST_CLANG_VERSION);
PRINT_MACRO(BOOST_LIBSTDCXX_VERSION);
PRINT_MACRO(BOOST_MSSTL_VERSION);
PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE);
PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0));
PRINT_MACRO(BOOST_CONSTEXPR);

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// This file was automatically generated on Sun Jun 5 16:50:18 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
@@ -122,6 +122,11 @@ namespace boost_no_cxx11_addressof = empty_boost;
#else
namespace boost_no_cxx11_alignas = empty_boost;
#endif
#ifndef BOOST_NO_CXX11_ALIGNOF
#include "boost_no_cxx11_alignof.ipp"
#else
namespace boost_no_cxx11_alignof = empty_boost;
#endif
#ifndef BOOST_NO_CXX11_ALLOCATOR
#include "boost_no_cxx11_allocator.ipp"
#else
@@ -372,6 +377,11 @@ namespace boost_no_cxx14_variable_templates = empty_boost;
#else
namespace boost_no_cxx17 = empty_boost;
#endif
#ifndef BOOST_NO_CXX17_DEDUCTION_GUIDES
#include "boost_no_cxx17_deduction_guides.ipp"
#else
namespace boost_no_cxx17_deduction_guides = empty_boost;
#endif
#ifndef BOOST_NO_CXX17_FOLD_EXPRESSIONS
#include "boost_no_cxx17_fold_expressions.ipp"
#else
@@ -1431,6 +1441,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CXX11_ALIGNAS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx11_alignof::test())
{
std::cerr << "Failed test for BOOST_NO_CXX11_ALIGNOF at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx11_allocator::test())
{
std::cerr << "Failed test for BOOST_NO_CXX11_ALLOCATOR at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1681,6 +1696,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CXX17 at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx17_deduction_guides::test())
{
std::cerr << "Failed test for BOOST_NO_CXX17_DEDUCTION_GUIDES at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx17_fold_expressions::test())
{
std::cerr << "Failed test for BOOST_NO_CXX17_FOLD_EXPRESSIONS at: " << __FILE__ << ":" << __LINE__ << std::endl;

View File

@@ -62,6 +62,10 @@ struct trait
enum { value = b };
};
void* test_nullptr()
{
return BOOST_NULLPTR;
}
int main()
{
@@ -82,6 +86,8 @@ int main()
{
result += 2;
}
test_nullptr();
}
catch(int)
{

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Sun Apr 28 18:36:48 2013
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_CXX11_ALIGNOF
// This file should not compile, if it does then
// BOOST_NO_CXX11_ALIGNOF should not be defined.
// See file boost_no_cxx11_alignof.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_CXX11_ALIGNOF
#include "boost_no_cxx11_alignof.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_cxx11_alignof::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Sun Apr 28 18:36:48 2013
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_CXX11_ALIGNOF
// This file should compile, if it does not then
// BOOST_NO_CXX11_ALIGNOF should be defined.
// See file boost_no_cxx11_alignof.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_CXX11_ALIGNOF
#include "boost_no_cxx11_alignof.ipp"
#else
namespace boost_no_cxx11_alignof = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_cxx11_alignof::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Sun Jun 5 16:50:17 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_CXX17_DEDUCTION_GUIDES
// This file should not compile, if it does then
// BOOST_NO_CXX17_DEDUCTION_GUIDES should not be defined.
// See file boost_no_cxx17_deduction_guides.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_CXX17_DEDUCTION_GUIDES
#include "boost_no_cxx17_deduction_guides.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_cxx17_deduction_guides::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Sun Jun 5 16:50:17 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
// Test file for macro BOOST_NO_CXX17_DEDUCTION_GUIDES
// This file should compile, if it does not then
// BOOST_NO_CXX17_DEDUCTION_GUIDES should be defined.
// See file boost_no_cxx17_deduction_guides.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_CXX17_DEDUCTION_GUIDES
#include "boost_no_cxx17_deduction_guides.ipp"
#else
namespace boost_no_cxx17_deduction_guides = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_cxx17_deduction_guides::test();
}

View File

@@ -0,0 +1,19 @@
// Copyright 2022 Andrey Semashev.
//
// Distributed under the Boost Software License, Version 1.0.
//
// See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt
#include <boost/config.hpp>
BOOST_DEPRECATED("Use bar() instead.")
void foo();
template< typename T >
class BOOST_DEPRECATED("Use std::unique_ptr instead.") my_auto_ptr
{
};
BOOST_DEPRECATED("Use std::numeric_limits<int>::max() instead.")
const int max_int = 0x7fffffff;