Compare commits

...

239 Commits

Author SHA1 Message Date
jzmaddock
a12301d1cb Update compiler version names in visualc.hpp 2017-03-17 18:02:22 +00:00
jzmaddock
b16f6e1698 Fix library name for VC14.1 (Visual Studio 2017) 2017-03-17 18:02:22 +00:00
jzmaddock
29c8ce027d Merge pull request #121 from glenfe/master
Synchronize master with develop
2017-02-26 16:06:12 +00:00
Glen Fernandes
5cce40b5fe Merge branch 'develop' 2017-02-20 16:44:44 -05:00
jzmaddock
5ff8f83739 Merge pull request #118 from glenfe/develop
Define BOOST_NO_CXX11_SFINAE_EXPR in C++98 clang
2017-02-20 17:48:37 +00:00
Glen Fernandes
041bf1ee1f Define BOOST_NO_CXX11_SFINAE_EXPR in C++98 clang
When compiling in pre-C++11 clang mode it should be defined
2017-02-20 11:30:56 -05:00
jzmaddock
3ff5ed08a2 Merge branch 'develop' 2017-02-20 09:05:52 +00:00
jzmaddock
1abc59c624 Merge pull request #116 from glenfe/develop
Update boost_no_cxx11_sfinae_expr test to fail faster
2017-02-08 18:30:48 +00:00
Glen Fernandes
45b11f1fae Update boost_no_cxx11_sfinae_expr test to fail faster
Will now compile-fail for Intel C++ 13 instead of run-fail.
2017-02-07 18:08:28 -05:00
jzmaddock
d99022e8d7 Merge pull request #115 from gongminmin/ClangC2
Fix a compiling problem under Clang/C2.
2017-02-07 18:25:19 +00:00
Minmin Gong
328f0f40c8 Fix a compiling problem under ClangC2. 2017-02-05 15:50:33 -08:00
jzmaddock
79ac4bdbeb Merge branch 'boost_no_cxx11_sfinae_expr' of https://github.com/glenfe/config into pr114
# Fixed Conflicts:
#	checks/Jamfile.v2
#	checks/test_case.cpp
#	test/all/Jamfile.v2
#	test/config_test.cpp

Also added some more documentation to tie together the various SFINAE macros.  Regenerated the docs.
2017-02-05 19:38:35 +00:00
jzmaddock
fb87ea1cbe Regenerate docs. 2017-02-05 19:01:24 +00:00
jzmaddock
438520d1fd Cygwin appears not to have sigaction all the time after all. 2017-02-05 19:00:45 +00:00
jzmaddock
329b4c17f0 Merge branch 'restrict_support' of https://github.com/jfalcou/config into restrict_keyword
Add test case for boost_no_restrict_references.
Regenerate tests.
Tested msvc-10 - 14, intel 17, gcc-5.3.0.
2017-02-05 19:00:04 +00:00
jzmaddock
2c34894d48 Merge branch 'restrict_support' of https://github.com/jfalcou/config into restrict_keyword
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2017-02-05 18:02:11 +00:00
Glen Fernandes
6e93ac5d72 Add BOOST_NO_CXX11_SFINAE_EXPR 2017-02-04 09:20:36 -05:00
jzmaddock
b44be22efc Merge pull request #110 from o01eg/develop
Use corrent name for libraries built with MS VS 2017 RC.
2017-02-04 13:22:16 +00:00
jzmaddock
b025db6d54 Merge pull request #113 from glenfe/develop
Support BOOST_GCC guards in BOOST_WORKAROUND
2017-02-04 13:18:53 +00:00
Glen Fernandes
c85095cf33 Support BOOST_GCC guards in BOOST_WORKAROUND 2017-02-02 13:46:39 -05:00
Edward Diener
b4628d91eb Merge pull request #112 from jwakely/patch-1
Fix name of the library
2017-01-17 18:53:25 -05:00
Jonathan Wakely
e21b1729cb Fix name of the library 2017-01-17 23:21:37 +00:00
O01eg
de5f166253 Use corrent name for libraries built with MS VS 2017 RC. 2017-01-05 21:18:31 +03:00
jzmaddock
d5d1b73638 Merge pull request #109 from mclow/patch-1
Update version.hpp to 1.64
2016-12-28 17:55:35 +00:00
Marshall Clow
b49f658332 Update version.hpp to 1.64 2016-12-27 18:10:58 -08:00
jzmaddock
c03303bdcb Merge branch 'develop' of https://github.com/boostorg/config into develop 2016-12-27 19:34:21 +00:00
jzmaddock
ab0fa3b3d7 Fix to get config_test passing with /clr or /clr pure and msvc.
See https://svn.boost.org/trac/boost/ticket/12713.
Note that /clr safe is still not supported - so much doesn't work it's hard to call it a C++ compiler in that case.
2016-12-27 19:34:05 +00:00
jzmaddock
0c45ca206a Merge pull request #108 from Lastique/patch-3
Move BOOST_NO_CXX14_CONSTEXPR to the right section
2016-12-27 19:08:37 +00:00
Andrey Semashev
ded49a9d32 Move BOOST_NO_CXX14_CONSTEXPR to the right section
- Define BOOST_NO_CXX14_CONSTEXPR only for the gcc-compatible version of Intel compiler (other versions untested). The previous definition was not in the correct preprocessor branch and the macro was not defined when it should have been.
- Increased the latest tested Intel compiler version to 17.
- Added comments to the preprocessor directives to simplify navigation in the file.
2016-12-27 20:38:05 +04:00
jzmaddock
a1a9f07e63 Merge branch 'develop'
# Fixed Conflicts:
#	include/boost/config/stdlib/libcpp.hpp
2016-12-21 19:51:54 +00:00
jzmaddock
54f108a006 MSVC compatible compilers may have __has_include but still set __cplusplus to obsolete versions numbers for MSVC compatibility (ie Intel). 2016-12-15 18:29:58 +00:00
jzmaddock
2fd39f10cb Intel appears not to support C++14 variable templates. 2016-12-15 10:37:11 +00:00
jzmaddock
25be5543ae libstdc++ has no std::exchange unless in C++14 mode. 2016-12-15 10:35:00 +00:00
jzmaddock
553dcbec96 MSVC has no std::apply. 2016-12-15 10:21:26 +00:00
jzmaddock
0a83dd7aa9 Merge pull request #107 from Lastique/patch-2
Disable C++14 constexpr for Intel compiler
2016-12-13 18:10:41 +00:00
jzmaddock
8d107ecb35 Merge pull request #106 from olk/develop
defect macro for C++17 feature `std::apply()`
2016-12-13 09:16:34 +00:00
Oliver Kowalke
13f5d9c88a defect macro for C++14 feature std::exchange() 2016-12-12 19:41:30 +01:00
Andrey Semashev
6f0c359a4e Disable C++14 constexpr for Intel compiler
Intel compiler up to version 17.0 (on Linux) makes constexpr member functions implicitly const-qualified.
2016-12-11 16:45:12 +04:00
Oliver Kowalke
68b7cc8759 defect macro for C++17 feature std::apply() 2016-12-11 12:25:53 +01:00
jzmaddock
209302a3ed Merge pull request #104 from Flast/test-updates/cxx14-constexpr
Update c++14 constexpr test.
2016-12-09 18:37:07 +00:00
jzmaddock
45c6f515b1 Merge branch 'develop' of https://github.com/boostorg/config into develop 2016-12-09 18:10:45 +00:00
jzmaddock
d1c399f971 Clang/libc++ : Tentatively enable <array> and <forward_list> in C++03 mode. 2016-12-09 18:10:32 +00:00
Kohei Takahashi
7a3fe1f874 Update c++14 constexpr test.
Compiler should allow non-const member function.
2016-12-09 01:11:53 +09:00
jzmaddock
fe55aadefd Merge pull request #102 from stevemcgf/fix-gitignore
Adds .gitignore to prevent tracking changes of binary compiled files.
2016-12-03 18:14:41 +00:00
jzmaddock
8f9f27336c Merge branch 'develop'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2016-12-03 18:09:18 +00:00
Steve Mc Gregor
0229c6e5cc Adds .gitignore to prevent tracking changes of compiled files under checks/architecture/bin 2016-12-02 00:08:16 -05:00
jzmaddock
4b111941af Merge pull request #101 from akumta/patch-6
Update sunpro_cc.hpp
2016-11-26 17:40:08 +00:00
jzmaddock
c717449aca Merge pull request #96 from liewegas/gitignore-bin
.gitignore config/checks/architecture/bin/
2016-11-26 17:39:34 +00:00
jzmaddock
780c29bf06 Merge pull request #99 from MarcelRaad/vs15p5
Update for Visual Studio 15 Preview 5
2016-11-26 17:38:47 +00:00
jzmaddock
c6e2ac028b Merge pull request #100 from mclow/patch-2
BOOST_NO_CXX17_STD_INVOKE for libc++
2016-11-26 17:38:03 +00:00
akumta
fa7121c0fe Update sunpro_cc.hpp
define BOOST_NO_CXX14_DECLTYPE_AUTO when C++14 standard is not in action
2016-11-23 08:17:25 -08:00
Marshall Clow
4fc6130781 BOOST_NO_CXX17_STD_INVOKE for libc++
Make sure that BOOST_NO_CXX17_STD_INVOKE is defined for C++03/11/14 builds.
2016-11-21 17:53:34 -08:00
Marcel Raad
4749434d47 Update for Visual Studio 15 Preview 5 and RC
- Aggregate NSDMI and relaxed constexpr are supported
- _MSC_VER is 1910
2016-11-16 23:56:36 +01:00
jzmaddock
4f974d28c1 Add missing "using testing;" 2016-11-10 10:48:32 +00:00
jzmaddock
c45ac74369 Merge branch 'develop' 2016-11-03 19:49:09 +01:00
jzmaddock
ccea02471c Update for CUDA 8.0. 2016-10-29 09:37:32 +01:00
jzmaddock
72116963c5 Correct #if code in last PR. 2016-10-20 19:41:09 +01:00
jzmaddock
ba60de800c Merge pull request #98 from olk/develop
defect macro for C++17 feature `std::invoke()`
2016-10-20 18:09:57 +01:00
Oliver Kowalke
b20d7a811e use of <experimental/memory_resource> for clang detection
use <experimental/memory_resource> instead of <experimental/filesystem> to check for libstdc++ 6.1
2016-10-20 13:52:28 +02:00
Oliver Kowalke
350cfd5d82 use <experimental/filesystem> to test for version 6.1 (clang) 2016-10-20 08:59:51 +02:00
Oliver Kowalke
9b97c79b4e Update macro_reference.qbk 2016-10-14 21:06:05 +02:00
Oliver Kowalke
b0b52d6c75 defect macro for C++17 feature std::invoke() 2016-10-14 20:49:48 +02:00
Rene Rivera
d7bb39764b Add, and update, documentation build targets. 2016-10-10 11:39:48 -05:00
Rene Rivera
10b814f19b Add, and update, documentation build targets. 2016-10-07 23:07:33 -05:00
jzmaddock
6ab00cf036 Merge pull request #97 from mclow/patch-1
Update version number to 1.63
2016-09-28 18:05:16 +01:00
Marshall Clow
eaf874e35d Update version number to 1.63 2016-09-28 09:54:03 -07:00
Sage Weil
5cb5c8e82d .gitignore config/checks/architecture/bin/ 2016-09-26 17:15:19 -04:00
jzmaddock
606cc77268 Merge branch 'develop' 2016-09-20 17:02:12 +01:00
jzmaddock
7d7c25bb26 Merge pull request #95 from akumta/patch-5
For Oracle Developer Studio
2016-09-11 18:14:43 +01:00
akumta
64780152fa For Oracle Developer Studio
__has_attribute to be used instead of __has_cpp_attribute, not remove the functionality.
2016-09-11 08:17:43 -07:00
jzmaddock
a5f23185bd Merge pull request #94 from apolukhin/better_noreturn
Fix for undefined BOOST_NORETURN
2016-09-11 11:59:53 +01:00
Antony Polukhin
d4a4885ed9 Fix for undefined BOOST_NORETURN 2016-09-10 19:45:41 +03:00
jzmaddock
a094c078ad Merge pull request #93 from akumta/patch-4
Update sunpro_cc.hpp
2016-09-09 18:00:03 +01:00
John Maddock
b457022699 Workaround for broken __has_cpp_attribute in Oracle-12.5 compiler 2016-09-09 12:25:43 +00:00
akumta
c4de2d0013 Update sunpro_cc.hpp
Update for ticket #11972
2016-09-06 10:13:11 -07:00
jzmaddock
a9e325b2e0 Merge pull request #92 from apolukhin/better_noreturn
Detect [[noreturn]] attribute
2016-09-04 17:19:05 +01:00
John Maddock
dff5971974 Merge branch 'develop' of https://github.com/boostorg/config into develop 2016-09-04 16:04:46 +00:00
John Maddock
a17bb6c8da Update for Oracle 12.5, see issue #12425 2016-09-04 16:04:08 +00:00
Antony Polukhin
830192fc35 Detect [[noreturn]] attribute 2016-09-03 12:37:06 +03:00
jzmaddock
09beda8c1a Merge branch 'develop':
Android + clang/libc++abi fixes.
2016-08-22 11:57:28 +01:00
jzmaddock
226bee3010 Older versions of libc++abi have no thread_local support. 2016-08-18 19:26:28 +01:00
jzmaddock
221f4da6d1 Try to fix constexpr test case for both C++11 and C++14 variations. 2016-08-18 18:34:51 +01:00
jzmaddock
b24ad05ffe There is no pthread_yield on Android. 2016-08-18 18:24:24 +01:00
jzmaddock
befe61c5f0 Merge branch 'develop' 2016-08-10 18:32:25 +01:00
jzmaddock
76f6cdc453 Merge branch 'develop'
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2016-08-07 18:22:29 +01:00
jzmaddock
65fa2a46f2 MSVC-14up3 doesn't support 2 phase name lookup after all.
Correct previous change.
2016-07-05 18:06:57 +01:00
jzmaddock
7c7c58417b Enable constexpr support in VC14up3. 2016-07-04 18:03:05 +01:00
jzmaddock
ea80234d5f Update visual C++ config for version 14 update 3. 2016-07-03 09:18:56 +01:00
jzmaddock
4fc32ad70a Add support for C++11 thread_local. 2016-07-02 09:09:19 +01:00
jzmaddock
fb27cce043 Merge pull request #89 from danieljames/feature/1.62.0
Bump version for 1.62.0
2016-05-22 11:40:59 +01:00
Daniel
a7620c98b5 Bump version for 1.62.0 2016-05-22 11:26:30 +01:00
Beman
b9e69e9fa1 Merge branch 'develop' of github.com:boostorg/config into develop 2016-05-02 14:59:33 -04:00
Edward Diener
295fff9a10 Changed guidelines reference in html file. 2016-05-01 17:52:58 -04:00
Edward Diener
01ae016b52 Updated link to guidelines. 2016-05-01 17:44:25 -04:00
Beman
4faca9e9e7 Add undocumented BOOST_MSVC_SFINAE_EXPR and BOOST_MSVC_CXX11_CONSTEXPR macros to ease testing of MSVC compiler updates 2016-04-30 15:03:15 -04:00
jzmaddock
534ee17f3f Fix previous commit! 2016-03-31 09:08:54 +01:00
jzmaddock
743dc92612 Don't use __is_identifier unless it's actually defined. 2016-03-30 19:36:22 +01:00
jzmaddock
71214fe310 Update for VC12 and 14: allow use of native log1p/expm1. 2016-03-26 19:10:18 +00:00
jzmaddock
f84f27c366 Update for clang on Windows:
Enables __int64 when available.
Enables stdint.h when available.
Enables log1p/expm1 when available.
Enables char16_t and char32_t when available.
2016-03-26 19:09:44 +00:00
jzmaddock
733e24c081 Minor workaround for clang-win32. 2016-03-26 18:20:19 +00:00
jzmaddock
9ea6b3fb49 Merge branch 'develop' of https://github.com/boostorg/config into develop 2016-03-12 17:14:30 +00:00
jzmaddock
77d86bcf16 Change #includes to use angle brackets.
See: https://svn.boost.org/trac/boost/ticket/11516.
2016-03-12 17:14:11 +00:00
jzmaddock
1ce7d756ff Merge pull request #86 from Flast/libstdcxx/auto_ptr
Define BOOST_NO_AUTO_PTR when libstdcxx don't provide std::auto_ptr.
2016-02-29 11:26:41 +00:00
Kohei Takahashi
9018b7b58d Define BOOST_NO_AUTO_PTR when libstdcxx don't provide std::auto_ptr. 2016-02-29 19:48:49 +09:00
jzmaddock
efefba30ee Simplify runtime config check Jamfiles. 2016-02-27 19:08:25 +00:00
jzmaddock
84f2fb19d1 Merge branch 'develop' 2016-02-15 19:08:25 +00:00
jzmaddock
9dd2b3afff Add nvcc macro info. 2016-01-12 16:41:20 +00:00
jzmaddock
2090da494e Tentative fix for nvcc compiler.
See https://svn.boost.org/trac/boost/ticket/11897.
2016-01-12 16:40:54 +00:00
jzmaddock
6d46b18e3b Fix up std lib config for clang-3.8 and later 2016-01-03 14:12:01 +00:00
jzmaddock
b1df465870 Second try to get BOOST_NO_CXX11_HDR_ATOMIC set correctly.
See https://github.com/boostorg/config/pull/85#issuecomment-168313984
2016-01-01 16:01:16 +00:00
jzmaddock
af5351f42b <atomic> works in later libc++ releases.
See also https://github.com/boostorg/config/pull/85/files
2016-01-01 13:35:12 +00:00
jzmaddock
8abd28004a Merge pull request #84 from mclow/develop
Update Version number to 1.61
2015-12-21 18:17:56 +00:00
Marshall Clow
f384d058f9 Update Version number to 1.61 2015-12-21 09:58:51 -08:00
jzmaddock
95b158b454 Merge pull request #83 from ax3l/fix-nvccFloat128GCC
Fix Trac 11852: CUDA in C++03 Mode and __float128
2015-12-18 11:56:36 +00:00
Axel Huebl
73ee4f5b03 int128 & CUDA C++03: Update ICC and Clang 2015-12-18 11:41:56 +01:00
Axel Huebl
e5b21fb9b4 Refactor int/float128: NVCC -std=c++11
refactor the previous solution: nvcc with c++11 supports
__int128 and __float128
2015-12-18 11:41:33 +01:00
Axel Huebl
a332112317 Fix Trac 11852: GCC & CUDA __float128
Fix trac issue
  https://svn.boost.org/trac/boost/ticket/11852

Similar to
     https://svn.boost.org/trac/boost/ticket/8048

`__float128` is still unsupported when compiling with nvcc
(tested with `CUDA 7.5.18`). First noticed with the latest
release (`1.60.0`) and `GCC 4.8.5` but should affect all
previous releases depending on used modules.

In my case, I triggered it with the components
  `program_options regex filesystem system thread math_tr1`
enabled .
2015-12-18 10:31:00 +01:00
jzmaddock
74bcf32eca Merge branch 'develop' 2015-12-08 18:55:19 +00:00
jzmaddock
05d55111e4 Apply patch for clang from https://svn.boost.org/trac/boost/ticket/11833 2015-12-08 08:58:29 +00:00
Joel Falcou
f020bec68a Provide BOOST_RESTRICT and BOOST_NO_RESTRICT_REFERENCES 2015-11-04 16:48:16 +01:00
jzmaddock
94a3bf4f12 Update to set BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE on MacOS. 2015-10-29 11:48:13 +00:00
jzmaddock
19f66e8992 VC7.1 requires BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS 2015-10-22 10:17:24 +01:00
jzmaddock
478ab51c8a Merge branch 'develop' 2015-10-15 10:45:05 +01:00
jzmaddock
ca7967820b Remove dependency to Boost.Test. 2015-10-08 10:39:09 +01:00
jzmaddock
26c91920e2 Merge pull request #79 from akumta/patch-2
Update for C++ version 5.14
2015-10-04 17:22:42 +01:00
jzmaddock
cdc5750155 Merge pull request #80 from mauve/winrt-no-ansi-apis
Do not use Windows ANSI APIs when targetting WinRT
2015-10-04 17:21:15 +01:00
Mikael Olenfalk
ad3141cebd universal-windows: Dont use Windows ANSI APIs when compiling for winrt 2015-10-04 14:23:48 +02:00
akumta
85288108c0 Update for C++ version 5.14 2015-10-01 11:26:08 -07:00
jzmaddock
d0dbbc3d56 Merge branch 'master' of https://github.com/mauve/config into develop 2015-09-24 18:15:53 +01:00
Mikael Olenfalk
7d67f4171f Make cstdint.hpp work on QNX 6.6 2015-09-18 12:01:35 +02:00
jzmaddock
a2616b4f3f Merge branch 'develop' of https://github.com/boostorg/config into develop 2015-09-16 18:28:04 +01:00
jzmaddock
a17884f425 Add support for __unreachable_return on clang and GCC.
See https://svn.boost.org/trac/boost/ticket/11661.
2015-09-16 18:27:48 +01:00
jzmaddock
f23f3a4bb7 Merge pull request #75 from morinmorin/fix/guard_attribute_name
Guard attribute names with double underscores
2015-09-07 17:32:06 +01:00
Beman Dawes
3ff780f2a9 Merge pull request #76 from danieljames/start-1.60.0
Version bump
2015-09-05 20:12:47 -04:00
Daniel James
c99044f492 Version bump 2015-09-05 21:34:42 +01:00
morinmorin
2656ae42d4 Guard attribute names with double underscores. 2015-09-03 19:02:48 +09:00
jzmaddock
e14893a9fc Merge pull request #74 from morinmorin/fix/remove_detection_code
Remove the detection code for 'unused' attribute on Clang
2015-09-03 10:54:05 +01:00
morinmorin
cdcb3fc1aa Remove the detection code for 'unused' attribute on Clang. 2015-09-03 18:32:02 +09:00
jzmaddock
2ee108b81f Merge pull request #71 from alkino/develop
Use __has_attribute instead of gcc version in clang
2015-09-01 17:52:37 +01:00
jzmaddock
458869dd03 Merge pull request #72 from NuxiNL/cloudabi
Add basic platform bits for Nuxi CloudABI.
2015-09-01 17:13:01 +01:00
jzmaddock
ca01235304 Add missing files. 2015-08-30 10:09:44 +01:00
Ed Schouten
0070534348 Add basic platform bits for Nuxi CloudABI.
Nuxi CloudABI is a POSIX-like runtime environment purely built on the
principle of capability-based security[1]. It allows you to run
arbitrary untrusted binaries directly on top of a UNIX kernel without
compromising system integrity.

This change adds a basic platform configuration that defines a small set
of options that allow it to build most of the Boost sources. The next
step is to send out small fixes to individual libraries that don't build
yet.

[1] Nuxi CloudABI: https://github.com/NuxiNL/cloudlibc
2015-08-27 16:23:21 +02:00
Nicolas Cornu
034817c492 Use __has_attribute instead of gcc version in clang 2015-08-27 14:09:55 +02:00
jzmaddock
d05131f7e2 Merge branch 'develop' of https://github.com/boostorg/config into develop 2015-08-18 18:09:35 +01:00
jzmaddock
7b9e5f8d6b std::shared_ptr is only partly usable on Oracle, disable for now. 2015-08-18 18:09:15 +01:00
jzmaddock
5cc1746cab Merge pull request #70 from MarcelRaad/patch-3
Update for MSVC14's _HAS_AUTO_PTR_ETC
2015-08-18 12:17:46 +01:00
jzmaddock
b794a7162b Add float128_type typedef dimilar to int128_type. 2015-08-13 17:52:48 +01:00
jzmaddock
15fa6fd8b9 Add BOOST_HAS_FLOAT128 for compilers that support __float128 as a distinct type. 2015-08-13 17:13:32 +01:00
jzmaddock
a8f96e4b6e Intel should not set GCC and MSVC specific macros. 2015-08-12 19:47:56 +01:00
Marcel Raad
776bc8ac10 Update for MSVC14's _HAS_AUTO_PTR_ETC
If _HAS_AUTO_PTR_ETC is defined to 0, MSVC14's standard library implements C++17's N4190, thus removing std::auto_ptr.
2015-08-11 10:05:33 +02:00
jzmaddock
854a785483 Add missing #include. 2015-08-04 12:44:49 +01:00
jzmaddock
a66898d292 Disable <codecvt> for VC14 as it fails at link time when using the facets. 2015-07-27 09:23:25 +01:00
jzmaddock
d5839ad09b Enable <shared_mutex> support for VC14. 2015-07-25 13:23:33 +01:00
jzmaddock
dfef189197 Fix test case for <shared_mutex>.
Both clang/libc++ and MSVC-14 support <shared_mutex>, but neither set the SD6 macros so, don't bother testing them.
Definitely don't test for the presence of std::shared_mutex as that's a C++17 feature.
2015-07-25 13:23:04 +01:00
jzmaddock
dd26419a25 Add link to VC14 bug report. 2015-07-23 18:16:39 +01:00
jzmaddock
79950d0293 Remove unneeded comment. 2015-07-23 16:59:31 +01:00
jzmaddock
6b767b0e09 VC14 still has the value-initialization bug. 2015-07-23 09:53:39 +01:00
jzmaddock
e472f46438 Change intel.hpp to use the same config as the compiler it's emulating.
At least for Intel 15 and later.
2015-07-22 18:00:39 +01:00
jzmaddock
5bf05c9fbb Reinstate BOOST_NO_CXX11_CONSTEXPR for VC14 - support isn't quite there yet. 2015-07-22 17:59:45 +01:00
Beman
160de8b513 Remove BOOST_NO_CXX11_CONSTEXPR for VC++ 2015 RTM. See https://msdn.microsoft.com/en-us/library/hh567368.aspx#corelanguagetable and http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx 2015-07-21 10:53:56 -04:00
jzmaddock
0bbfcc22f4 Merge pull request #68 from MarcelRaad/patch-4
Update for the VS14 RTM standard library
2015-07-21 11:50:10 +01:00
jzmaddock
4c08407c86 Merge pull request #67 from MarcelRaad/patch-3
Update for VS 2015 RTM
2015-07-21 11:49:23 +01:00
Marcel Raad
5dff05e8d9 Fix compiler version number in comment 2015-07-21 00:21:12 +02:00
Marcel Raad
16f491d48d Update for the VS14 RTM standard library
As mentioned by Stephan T. Lavavej here:
http://lists.boost.org/Archives/boost/2014/11/217698.php
BOOST_NO_CXX11_ADDRESSOF shouldn't be necessary anymore for MSVC 14 RTM. The unit test passes.
2015-07-20 19:58:59 +02:00
Marcel Raad
26258e676d Update for VS 2015 RTM
Now that the final version has been released, I don't think the warning spam for every compiler update is necessary anymore. Boost builds successfully with the RTM version (except for Locale, which doesn't build at all currently).
2015-07-20 19:54:41 +02:00
jzmaddock
15d56c9cff Fix detection of libstdc++ 4.7.x. 2015-07-07 19:22:38 +01:00
jzmaddock
5ccb1b6c5f Modify Jamfile to configure external library support better. 2015-07-07 17:27:04 +01:00
jzmaddock
5a9c919ef6 IBM compiler is not GCC. 2015-07-07 17:17:34 +01:00
jzmaddock
ecb017fd33 Rebuild docs for shared_mutex support macro. 2015-07-07 11:19:07 +01:00
jzmaddock
54e8de973f Merge branch 'shared_mutex' of https://github.com/eldiener/config into develop 2015-07-07 11:15:11 +01:00
Edward Diener
2f24d9811f Added logic when header file found to check for C++14 __cplusplus kevel. 2015-06-30 23:42:05 -04:00
Edward Diener
da03881bfb Removed BOOST_NO_CXX14_HDR_SHARED_MUTEX logic in compilers. 2015-06-30 23:41:03 -04:00
Edward Diener
ce9a0f17c8 Remove direct test for clang version as clang doc says that SD-6 supported fron clang 3.4 and up. 2015-06-28 13:06:27 -04:00
Edward Diener
7e6d65e361 Use SD-6 if it exists 2015-06-27 21:26:00 -04:00
Edward Diener
584a711c7a Removed comment. 2015-06-27 21:25:36 -04:00
Edward Diener
3ca81f1095 Addition of BOOST_NO_CXX14_HDR_SHARED_MUTEX tests 2015-06-27 21:08:56 -04:00
Edward Diener
b351a9a1ed Updated example checking SD-6 macro 2015-06-27 21:07:50 -04:00
Edward Diener
4f80398754 Updated using SD-6 2015-06-27 21:06:57 -04:00
jzmaddock
32ea03d6fb Merge pull request #65 from MarcelRaad/patch-3
Add another constexpr test
2015-06-27 12:56:40 +01:00
Marcel Raad
cd72cbe273 Add another constexpr test
MSVC 14 RC doesn't call the constexpr conversion operator in some cases.
It complains:
boost_no_constexpr.ipp(72): error C2051: case expression not constant
2015-06-27 13:08:29 +02:00
jzmaddock
046b9d95e0 Tentative fix for IMB clang compiler failures.
Remove __int128 support - not supported by this compiler.
Make sure correct compiler config is selected.
2015-06-23 18:44:03 +01:00
Edward Diener
ae443e33fa Updated for shared_mutex header 2015-06-09 22:43:10 -04:00
Edward Diener
3fa00f8adb Support for C++14 shared_mutex header 2015-06-09 08:32:28 -04:00
jzmaddock
d14f46f77b Merge branch 'xlcpp-toolset-config' of https://github.com/camorton2/config into develop 2015-06-03 19:08:11 +01:00
Catherine Morton
e0e1deca08 add xlcpp toolset to selection options 2015-06-02 14:55:14 -04:00
Catherine Morton
b283567200 adding toolset for xlcpp 2015-06-02 12:45:43 -04:00
jzmaddock
fa954b8b61 Change link rule to exe rule.
To prevent cyclic dependencies in status/Jamfile.v2.
2015-05-11 09:03:30 +01:00
Rene Rivera
89fd23ad0a Merge pull request #62 from boostorg/develop
Account for module names not incidentally encoding paths.
2015-05-07 12:11:52 -05:00
Rene Rivera
f125f5829a Account for module names not incidentaly encoding paths as they are now truly just key names. 2015-05-06 23:38:51 -05:00
jzmaddock
0ca0adc3b3 Merge branch 'develop' 2015-05-05 13:19:37 +01:00
Marcel Raad
4ec6a18686 Add more constexpr tests
MSVC 14 RC currently passes the constexpr tests, but fails to compile Boost if BOOST_NO_CXX11_CONSTEXPR is not defined. Added three tests that clang can compile in C++11 mode, but MSVC cannot.
2015-05-05 11:46:28 +02:00
Beman
a0f7b67145 Add missing BOOST_NO_CXX11_NUMERIC_LIMITS macro reference doc entry 2015-05-04 09:37:42 -04:00
jzmaddock
ad22b77738 Merge pull request #60 from Beman/develop
Update version check for VisualStudio 2015 RC.
2015-05-03 15:35:02 +01:00
Beman
fa0e91cf21 Update version check for VisualStudio 2015 RC. 2015-05-02 18:06:24 -04:00
jzmaddock
03673b1d20 Merge pull request #59 from danieljames/start-1.59.0
Version bump for 1.59.0
2015-04-27 08:27:08 +01:00
Daniel James
55ea43b454 Version bump. 2015-04-26 22:57:44 +01:00
jzmaddock
d7e258faf5 Update Jamfile to check for -latomic
The config_test tests all require linking against -latomic
when GCC provides it in order to test for <atomic>.
Seems to be a new gcc-5.1.0 requirement.
2015-04-24 18:10:30 +01:00
jzmaddock
a2ad620450 Fix inconsistencies in name of boost_no_cxx14_digit_separator(s). 2015-04-24 17:46:29 +01:00
jzmaddock
88167ee705 Tentative fix for GCC 5.1 C++11 feature updates. 2015-04-24 17:10:13 +01:00
Ananth Jasty
8787f6b071 Changes required for aarch64 support in boost::config. 2015-04-22 19:02:49 +01:00
jzmaddock
f1639e00ce Merge pull request #53 from MarcelRaad/patch-1
Update for MSVC 14 CTP 6
2015-04-21 12:07:00 +01:00
Marcel Raad
5169ec9d57 Update for MSVC 14 CTP 6
- C++ 14 digit separators were implemented in CTP5:
https://www.visualstudio.com/en-us/news/vs2015-vs.aspx#vcplus
- the value initialization bugs have been fixed:
http://www.boost.org/development/tests/develop/developer/output/teeks99-08f-win2012R2-64on64-boost-bin-v2-libs-utility-test-value_init_workaround_test-test-msvc-14-0-dbg-adrs-mdl-64-thrd-mlt.html
2015-04-21 11:32:10 +02:00
jzmaddock
8a811db6e0 Merge pull request #50 from jessicah/develop
Haiku: remove invalid feature definitions
2015-04-09 08:49:19 +01:00
Jessica Hamilton
d5694b49e2 Haiku: remove invalid feature definitions
- Fixes the functional/hash library
- Fixes problems with the thread library
2015-04-09 09:36:42 +12:00
jzmaddock
d44dbf69a4 Merge branch 'develop' 2015-03-24 19:27:48 +01:00
jzmaddock
579bc09dab Merge pull request #49 from jhunold/arch
Lift architecture detection
2015-03-08 17:35:48 +00:00
jzmaddock
871df563bb Merge branch 'develop' 2015-02-25 16:57:48 +00:00
Edward Diener
337cf92b49 Merge pull request #48 from jhunold/whitespace
Remove trailing whitespace to avoid gcc warning
2015-02-25 09:09:19 -05:00
Jürgen Hunold
abaaea2f29 Remove trailing whitespace to avoid gcc warning
Full warning:
".../boost/cstdint.hpp:504:77: warning: backslash and newline separated by space
         (defined(_ULLONG_MAX) && _ULLONG_MAX == 18446744073709551615ULL) || \ "
2015-02-25 12:31:07 +01:00
jzmaddock
1c48f8e6f2 Merge branch 'develop' 2015-02-24 09:21:25 +00:00
jzmaddock
fada9f5ee2 Apply patch from https://svn.boost.org/trac/boost/ticket/6694 2015-02-23 13:14:28 +00:00
jzmaddock
975a488549 Fix for https://svn.boost.org/trac/boost/ticket/10955 2015-02-23 13:07:00 +00:00
jzmaddock
c573e85173 Apply patch from https://svn.boost.org/trac/boost/ticket/6796 2015-02-23 12:32:26 +00:00
jzmaddock
5366f899e9 Fix intptr_t def on solaris. 2015-02-22 18:26:56 +00:00
jzmaddock
b03afe92be Fix for Solaris 12.4 compiler in C++03 mode. 2015-02-22 13:16:37 +00:00
jzmaddock
d5e99748aa Update for Solaris Studio 12.4. 2015-02-21 17:30:56 +00:00
Jürgen Hunold
5cd585bfa2 Lift architecture detection 2015-02-20 18:18:09 +01:00
Ryan Pavlik
6f5c1113af Update version.hpp
Fix typo in comment, and also clean up capitalization and overall meaning.

(My header file doesn't change every time there's a new boost release, but it would if I upgraded.)
2015-02-17 12:06:48 -06:00
jzmaddock
52518f3946 Merge branch 'develop' 2015-02-14 12:53:13 +00:00
jzmaddock
9c653f5e57 Merge branch 'feature/haiku-support' of https://github.com/jessicah/config into develop 2015-02-05 18:06:24 +00:00
Beman
06aa40a5d1 Remove requirement that BOOST_MSVC_ENABLE_2014_JUN_CTP be defined to get the correct BOOST_NO_CXX11_* macros for VC++ 14.0 (aka 2015). 2014-11-18 15:21:34 -05:00
Jessica Hamilton
44028a148c haiku: remove spurious GLIBC define 2014-11-16 21:56:05 +13:00
Jessica Hamilton
1b6d6d9aa1 haiku: fix copyright 2014-11-16 21:43:03 +13:00
Jessica Hamilton
6038d5fd7e haiku: add platform support 2014-11-16 13:28:57 +13:00
Beman
f7091f4784 Merge branch 'develop' of github.com:boostorg/config into develop 2014-11-14 10:31:12 -05:00
Marcel Raad
c329a34407 Update vor MSVC14 Preview
According to the release notes, the following new language features are supported:
- char16_t, char32_t, and unicode literals
- binary literals
- generic lambdas

All Boost libraries build successfully, all config tests pass, and all projects I compiled worked correctly.

Reference:
http://www.visualstudio.com/news/vs2015-preview-vs#C++
2014-11-13 16:40:55 +01:00
Daniel James
122a60c77f Version bump 2014-11-04 19:49:49 -07:00
Noel Belcourt
7118c0d2a7 Merge pull request #44 from danieljames/develop
Version bump
2014-11-04 19:45:35 -07:00
Daniel James
85fea8fe0a Version bump 2014-11-05 00:42:39 +00:00
Edward Diener
a04ee99c15 Merge pull request #43 from Lastique/patch-1
Fix 'unknown pragma' warnings with MSVC 9
2014-11-01 03:44:33 -04:00
Andrey Semashev
b8bfae2e75 Fix 'unknown pragma' warnings with MSVC 9
#pragma detect_mismatch is only supported since MSVC 10.
2014-10-29 23:41:06 +03:00
morinmorin
719392271a Merge branch 'bugfix/unnecessary_has_extension' into develop 2014-10-26 21:52:14 +09:00
morinmorin
70096c5d80 Remove __has_extension checks for features that are not available as extensions.
For those features, `__has_extension` checks are equivalent to `__has_feature` checks and thus they are unnecessary.
2014-10-26 21:06:49 +09:00
morinmorin
22be8fffcf Merge branch 'bugfix/guard_feature_names' into develop 2014-10-26 18:51:58 +09:00
morinmorin
5050ae481f Use feature names with double underscores to avoid macro interference. 2014-10-26 18:42:35 +09:00
morinmorin
4df98ad40a Merge branch 'bugfix/clang_extension_warning' into develop 2014-10-26 12:28:11 +09:00
morinmorin
db66a9f051 Remove __has_extension macros for features that emit warnings.
Variable templates can be used in C++03/11 and initialized lambda captures can be used in C++11 as language extensions, but they trigger "extension" warnings. Disallow these extensions to prevent the warning.
2014-10-26 11:16:53 +09:00
Beman
d73e56cdea Merge branch 'develop' of github.com:boostorg/config into develop 2014-09-03 11:16:21 -04:00
Beman
5fb0343fa8 Initial commit 2014-07-09 21:18:31 -04:00
110 changed files with 2912 additions and 888 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
checks/architecture/bin

View File

@@ -1,6 +1,6 @@
#
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Mon Oct 13 13:09:13 2014
# This file was automatically generated on Sun Feb 5 19:09:22 2017
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
@@ -9,597 +9,214 @@
import modules ;
import path ;
import testing ;
actions simple_run_action
rule run-simple ( requirements * : target-name )
{
$(>) > $(<)
}
rule run-simple ( sources + : args * : input-files * : requirements * : target-name )
{
obj $(target-name)_obj : $(sources) : $(requirements) ;
obj $(target-name)_obj : test_case.cpp : $(requirements) ;
explicit $(target-name)_obj ;
exe $(target-name)_exe : $(target-name)_obj : $(requirements) ;
explicit $(target-name)_exe ;
#testing.capture-output $(target-name)_output : $(target-name) : $(requirements) <name>$(target-name) ;
make $(target-name).output : $(target-name)_exe : @simple_run_action ;
explicit $(target-name).output ;
unit-test $(target-name) : $(target-name)_obj : $(requirements) ;
explicit $(target-name) ;
}
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TWO_ARG_USE_FACET : two_arg_use_facet ;
alias two_arg_use_facet : two_arg_use_facet.output ;
explicit two_arg_use_facet ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_BETHREADS : bethreads ;
alias bethreads : bethreads.output ;
explicit bethreads ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_CLOCK_GETTIME : clock_gettime ;
alias clock_gettime : clock_gettime.output ;
explicit clock_gettime ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_DIRENT_H : dirent_h ;
alias dirent_h : dirent_h.output ;
explicit dirent_h ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_EXPM1 : expm1 ;
alias expm1 : expm1.output ;
explicit expm1 ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_FTIME : ftime ;
alias ftime : ftime.output ;
explicit ftime ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_GETSYSTEMTIMEASFILETIME : getsystemtimeasfiletime ;
alias getsystemtimeasfiletime : getsystemtimeasfiletime.output ;
explicit getsystemtimeasfiletime ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_GETTIMEOFDAY : gettimeofday ;
alias gettimeofday : gettimeofday.output ;
explicit gettimeofday ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_HASH : hash ;
alias hash : hash.output ;
explicit hash ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_INT128 : int128 ;
alias int128 : int128.output ;
explicit int128 ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_LOG1P : log1p ;
alias log1p : log1p.output ;
explicit log1p ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_LONG_LONG : long_long ;
alias long_long : long_long.output ;
explicit long_long ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_MACRO_USE_FACET : macro_use_facet ;
alias macro_use_facet : macro_use_facet.output ;
explicit macro_use_facet ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_MS_INT64 : ms_int64 ;
alias ms_int64 : ms_int64.output ;
explicit ms_int64 ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_NANOSLEEP : nanosleep ;
alias nanosleep : nanosleep.output ;
explicit nanosleep ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_NL_TYPES_H : nl_types_h ;
alias nl_types_h : nl_types_h.output ;
explicit nl_types_h ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_NRVO : nrvo ;
alias nrvo : nrvo.output ;
explicit nrvo ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_PARTIAL_STD_ALLOCATOR : partial_std_allocator ;
alias partial_std_allocator : partial_std_allocator.output ;
explicit partial_std_allocator ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_PTHREAD_DELAY_NP : pthread_delay_np ;
alias pthread_delay_np : pthread_delay_np.output ;
explicit pthread_delay_np ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE : pthread_mutexattr_settype ;
alias pthread_mutexattr_settype : pthread_mutexattr_settype.output ;
explicit pthread_mutexattr_settype ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_PTHREAD_YIELD : pthread_yield ;
alias pthread_yield : pthread_yield.output ;
explicit pthread_yield ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_PTHREADS : pthreads ;
alias pthreads : pthreads.output ;
explicit pthreads ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_RVALUE_REFS : rvalue_refs ;
alias rvalue_refs : rvalue_refs.output ;
explicit rvalue_refs ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_SCHED_YIELD : sched_yield ;
alias sched_yield : sched_yield.output ;
explicit sched_yield ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_SGI_TYPE_TRAITS : sgi_type_traits ;
alias sgi_type_traits : sgi_type_traits.output ;
explicit sgi_type_traits ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_SIGACTION : sigaction ;
alias sigaction : sigaction.output ;
explicit sigaction ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_SLIST : slist ;
alias slist : slist.output ;
explicit slist ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_STATIC_ASSERT : static_assert ;
alias static_assert : static_assert.output ;
explicit static_assert ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_STDINT_H : stdint_h ;
alias stdint_h : stdint_h.output ;
explicit stdint_h ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_STLP_USE_FACET : stlp_use_facet ;
alias stlp_use_facet : stlp_use_facet.output ;
explicit stlp_use_facet ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_ARRAY : tr1_array ;
alias tr1_array : tr1_array.output ;
explicit tr1_array ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_BIND : tr1_bind ;
alias tr1_bind : tr1_bind.output ;
explicit tr1_bind ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_COMPLEX_OVERLOADS : tr1_complex_overloads ;
alias tr1_complex_overloads : tr1_complex_overloads.output ;
explicit tr1_complex_overloads ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG : tr1_complex_inverse_trig ;
alias tr1_complex_inverse_trig : tr1_complex_inverse_trig.output ;
explicit tr1_complex_inverse_trig ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_FUNCTION : tr1_function ;
alias tr1_function : tr1_function.output ;
explicit tr1_function ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_HASH : tr1_hash ;
alias tr1_hash : tr1_hash.output ;
explicit tr1_hash ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_MEM_FN : tr1_mem_fn ;
alias tr1_mem_fn : tr1_mem_fn.output ;
explicit tr1_mem_fn ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_RANDOM : tr1_random ;
alias tr1_random : tr1_random.output ;
explicit tr1_random ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_REFERENCE_WRAPPER : tr1_reference_wrapper ;
alias tr1_reference_wrapper : tr1_reference_wrapper.output ;
explicit tr1_reference_wrapper ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_REGEX : tr1_regex ;
alias tr1_regex : tr1_regex.output ;
explicit tr1_regex ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_RESULT_OF : tr1_result_of ;
alias tr1_result_of : tr1_result_of.output ;
explicit tr1_result_of ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_SHARED_PTR : tr1_shared_ptr ;
alias tr1_shared_ptr : tr1_shared_ptr.output ;
explicit tr1_shared_ptr ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_TUPLE : tr1_tuple ;
alias tr1_tuple : tr1_tuple.output ;
explicit tr1_tuple ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_TYPE_TRAITS : tr1_type_traits ;
alias tr1_type_traits : tr1_type_traits.output ;
explicit tr1_type_traits ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_UNORDERED_MAP : tr1_unordered_map ;
alias tr1_unordered_map : tr1_unordered_map.output ;
explicit tr1_unordered_map ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_UNORDERED_SET : tr1_unordered_set ;
alias tr1_unordered_set : tr1_unordered_set.output ;
explicit tr1_unordered_set ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_TR1_UTILITY : tr1_utility ;
alias tr1_utility : tr1_utility.output ;
explicit tr1_utility ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_UNISTD_H : unistd_h ;
alias unistd_h : unistd_h.output ;
explicit unistd_h ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_VARIADIC_TMPL : variadic_tmpl ;
alias variadic_tmpl : variadic_tmpl.output ;
explicit variadic_tmpl ;
run-simple test_case.cpp : : : <define>TEST_BOOST_MSVC6_MEMBER_TEMPLATES : boost_msvc6_member_templates ;
alias boost_msvc6_member_templates : boost_msvc6_member_templates.output ;
explicit boost_msvc6_member_templates ;
run-simple test_case.cpp : : : <define>TEST_BOOST_MSVC_STD_ITERATOR : boost_msvc_std_iterator ;
alias boost_msvc_std_iterator : boost_msvc_std_iterator.output ;
explicit boost_msvc_std_iterator ;
run-simple test_case.cpp : : : <define>TEST_BOOST_HAS_WINTHREADS : winthreads ;
alias winthreads : winthreads.output ;
explicit winthreads ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_ADL_BARRIER : adl_barrier ;
alias adl_barrier : adl_barrier.output ;
explicit adl_barrier ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP : argument_dependent_lookup ;
alias argument_dependent_lookup : argument_dependent_lookup.output ;
explicit argument_dependent_lookup ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS : array_type_specializations ;
alias array_type_specializations : array_type_specializations.output ;
explicit array_type_specializations ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_AUTO_DECLARATIONS : cxx11_auto_declarations ;
alias cxx11_auto_declarations : cxx11_auto_declarations.output ;
explicit cxx11_auto_declarations ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS : cxx11_auto_multideclarations ;
alias cxx11_auto_multideclarations : cxx11_auto_multideclarations.output ;
explicit cxx11_auto_multideclarations ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_AUTO_PTR : auto_ptr ;
alias auto_ptr : auto_ptr.output ;
explicit auto_ptr ;
run-simple test_case.cpp : : : <define>TEST_BOOST_BCB_PARTIAL_SPECIALIZATION_BUG : boost_bcb_partial_specialization_bug ;
alias boost_bcb_partial_specialization_bug : boost_bcb_partial_specialization_bug.output ;
explicit boost_bcb_partial_specialization_bug ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_CHAR16_T : cxx11_char16_t ;
alias cxx11_char16_t : cxx11_char16_t.output ;
explicit cxx11_char16_t ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_CHAR32_T : cxx11_char32_t ;
alias cxx11_char32_t : cxx11_char32_t.output ;
explicit cxx11_char32_t ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_COMPLETE_VALUE_INITIALIZATION : complete_value_initialization ;
alias complete_value_initialization : complete_value_initialization.output ;
explicit complete_value_initialization ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_CONSTEXPR : cxx11_constexpr ;
alias cxx11_constexpr : cxx11_constexpr.output ;
explicit cxx11_constexpr ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CTYPE_FUNCTIONS : ctype_functions ;
alias ctype_functions : ctype_functions.output ;
explicit ctype_functions ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CV_SPECIALIZATIONS : cv_specializations ;
alias cv_specializations : cv_specializations.output ;
explicit cv_specializations ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CV_VOID_SPECIALIZATIONS : cv_void_specializations ;
alias cv_void_specializations : cv_void_specializations.output ;
explicit cv_void_specializations ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CWCHAR : cwchar ;
alias cwchar : cwchar.output ;
explicit cwchar ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CWCTYPE : cwctype ;
alias cwctype : cwctype.output ;
explicit cwctype ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_ADDRESSOF : cxx11_addressof ;
alias cxx11_addressof : cxx11_addressof.output ;
explicit cxx11_addressof ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_ALIGNAS : cxx11_alignas ;
alias cxx11_alignas : cxx11_alignas.output ;
explicit cxx11_alignas ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_ALLOCATOR : cxx11_allocator ;
alias cxx11_allocator : cxx11_allocator.output ;
explicit cxx11_allocator ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_ATOMIC_SMART_PTR : cxx11_atomic_smart_ptr ;
alias cxx11_atomic_smart_ptr : cxx11_atomic_smart_ptr.output ;
explicit cxx11_atomic_smart_ptr ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_FINAL : cxx11_final ;
alias cxx11_final : cxx11_final.output ;
explicit cxx11_final ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_ARRAY : cxx11_hdr_array ;
alias cxx11_hdr_array : cxx11_hdr_array.output ;
explicit cxx11_hdr_array ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_ATOMIC : cxx11_hdr_atomic ;
alias cxx11_hdr_atomic : cxx11_hdr_atomic.output ;
explicit cxx11_hdr_atomic ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_CHRONO : cxx11_hdr_chrono ;
alias cxx11_hdr_chrono : cxx11_hdr_chrono.output ;
explicit cxx11_hdr_chrono ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_CODECVT : cxx11_hdr_codecvt ;
alias cxx11_hdr_codecvt : cxx11_hdr_codecvt.output ;
explicit cxx11_hdr_codecvt ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_CONDITION_VARIABLE : cxx11_hdr_condition_variable ;
alias cxx11_hdr_condition_variable : cxx11_hdr_condition_variable.output ;
explicit cxx11_hdr_condition_variable ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_FORWARD_LIST : cxx11_hdr_forward_list ;
alias cxx11_hdr_forward_list : cxx11_hdr_forward_list.output ;
explicit cxx11_hdr_forward_list ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_FUTURE : cxx11_hdr_future ;
alias cxx11_hdr_future : cxx11_hdr_future.output ;
explicit cxx11_hdr_future ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_INITIALIZER_LIST : cxx11_hdr_initializer_list ;
alias cxx11_hdr_initializer_list : cxx11_hdr_initializer_list.output ;
explicit cxx11_hdr_initializer_list ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_MUTEX : cxx11_hdr_mutex ;
alias cxx11_hdr_mutex : cxx11_hdr_mutex.output ;
explicit cxx11_hdr_mutex ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_RANDOM : cxx11_hdr_random ;
alias cxx11_hdr_random : cxx11_hdr_random.output ;
explicit cxx11_hdr_random ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_RATIO : cxx11_hdr_ratio ;
alias cxx11_hdr_ratio : cxx11_hdr_ratio.output ;
explicit cxx11_hdr_ratio ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_REGEX : cxx11_hdr_regex ;
alias cxx11_hdr_regex : cxx11_hdr_regex.output ;
explicit cxx11_hdr_regex ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_SYSTEM_ERROR : cxx11_hdr_system_error ;
alias cxx11_hdr_system_error : cxx11_hdr_system_error.output ;
explicit cxx11_hdr_system_error ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_THREAD : cxx11_hdr_thread ;
alias cxx11_hdr_thread : cxx11_hdr_thread.output ;
explicit cxx11_hdr_thread ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_TUPLE : cxx11_hdr_tuple ;
alias cxx11_hdr_tuple : cxx11_hdr_tuple.output ;
explicit cxx11_hdr_tuple ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_TYPE_TRAITS : cxx11_hdr_type_traits ;
alias cxx11_hdr_type_traits : cxx11_hdr_type_traits.output ;
explicit cxx11_hdr_type_traits ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_TYPEINDEX : cxx11_hdr_typeindex ;
alias cxx11_hdr_typeindex : cxx11_hdr_typeindex.output ;
explicit cxx11_hdr_typeindex ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_UNORDERED_MAP : cxx11_hdr_unordered_map ;
alias cxx11_hdr_unordered_map : cxx11_hdr_unordered_map.output ;
explicit cxx11_hdr_unordered_map ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_UNORDERED_SET : cxx11_hdr_unordered_set ;
alias cxx11_hdr_unordered_set : cxx11_hdr_unordered_set.output ;
explicit cxx11_hdr_unordered_set ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_INLINE_NAMESPACES : cxx11_inline_namespaces ;
alias cxx11_inline_namespaces : cxx11_inline_namespaces.output ;
explicit cxx11_inline_namespaces ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS : cxx11_non_public_defaulted_functions ;
alias cxx11_non_public_defaulted_functions : cxx11_non_public_defaulted_functions.output ;
explicit cxx11_non_public_defaulted_functions ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_NUMERIC_LIMITS : cxx11_numeric_limits ;
alias cxx11_numeric_limits : cxx11_numeric_limits.output ;
explicit cxx11_numeric_limits ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_REF_QUALIFIERS : cxx11_ref_qualifiers ;
alias cxx11_ref_qualifiers : cxx11_ref_qualifiers.output ;
explicit cxx11_ref_qualifiers ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_SMART_PTR : cxx11_smart_ptr ;
alias cxx11_smart_ptr : cxx11_smart_ptr.output ;
explicit cxx11_smart_ptr ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_STD_ALIGN : cxx11_std_align ;
alias cxx11_std_align : cxx11_std_align.output ;
explicit cxx11_std_align ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_TRAILING_RESULT_TYPES : cxx11_trailing_result_types ;
alias cxx11_trailing_result_types : cxx11_trailing_result_types.output ;
explicit cxx11_trailing_result_types ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_USER_DEFINED_LITERALS : cxx11_user_defined_literals ;
alias cxx11_user_defined_literals : cxx11_user_defined_literals.output ;
explicit cxx11_user_defined_literals ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_BINARY_LITERALS : cxx14_binary_literals ;
alias cxx14_binary_literals : cxx14_binary_literals.output ;
explicit cxx14_binary_literals ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_CONSTEXPR : cxx14_constexpr ;
alias cxx14_constexpr : cxx14_constexpr.output ;
explicit cxx14_constexpr ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_DECLTYPE_AUTO : cxx14_decltype_auto ;
alias cxx14_decltype_auto : cxx14_decltype_auto.output ;
explicit cxx14_decltype_auto ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_DIGIT_SEPARATOR : cxx14_digit_separator ;
alias cxx14_digit_separator : cxx14_digit_separator.output ;
explicit cxx14_digit_separator ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_GENERIC_LAMBDAS : cxx14_generic_lambdas ;
alias cxx14_generic_lambdas : cxx14_generic_lambdas.output ;
explicit cxx14_generic_lambdas ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES : cxx14_initialized_lambda_captures ;
alias cxx14_initialized_lambda_captures : cxx14_initialized_lambda_captures.output ;
explicit cxx14_initialized_lambda_captures ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_AGGREGATE_NSDMI : cxx14_aggregate_nsdmi ;
alias cxx14_aggregate_nsdmi : cxx14_aggregate_nsdmi.output ;
explicit cxx14_aggregate_nsdmi ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION : cxx14_return_type_deduction ;
alias cxx14_return_type_deduction : cxx14_return_type_deduction.output ;
explicit cxx14_return_type_deduction ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES : cxx14_variable_templates ;
alias cxx14_variable_templates : cxx14_variable_templates.output ;
explicit cxx14_variable_templates ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_HDR_FUNCTIONAL : cxx11_hdr_functional ;
alias cxx11_hdr_functional : cxx11_hdr_functional.output ;
explicit cxx11_hdr_functional ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_DECLTYPE : cxx11_decltype ;
alias cxx11_decltype : cxx11_decltype.output ;
explicit cxx11_decltype ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_DECLTYPE_N3276 : cxx11_decltype_n3276 ;
alias cxx11_decltype_n3276 : cxx11_decltype_n3276.output ;
explicit cxx11_decltype_n3276 ;
run-simple test_case.cpp : : : <define>TEST_BOOST_DEDUCED_TYPENAME : boost_deduced_typename ;
alias boost_deduced_typename : boost_deduced_typename.output ;
explicit boost_deduced_typename ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_DEFAULTED_FUNCTIONS : cxx11_defaulted_functions ;
alias cxx11_defaulted_functions : cxx11_defaulted_functions.output ;
explicit cxx11_defaulted_functions ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_DELETED_FUNCTIONS : cxx11_deleted_functions ;
alias cxx11_deleted_functions : cxx11_deleted_functions.output ;
explicit cxx11_deleted_functions ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_DEPENDENT_NESTED_DERIVATIONS : dependent_nested_derivations ;
alias dependent_nested_derivations : dependent_nested_derivations.output ;
explicit dependent_nested_derivations ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS : dependent_types_in_template_value_parameters ;
alias dependent_types_in_template_value_parameters : dependent_types_in_template_value_parameters.output ;
explicit dependent_types_in_template_value_parameters ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_EXCEPTION_STD_NAMESPACE : exception_std_namespace ;
alias exception_std_namespace : exception_std_namespace.output ;
explicit exception_std_namespace ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_EXCEPTIONS : exceptions ;
alias exceptions : exceptions.output ;
explicit exceptions ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS : explicit_function_template_arguments ;
alias explicit_function_template_arguments : explicit_function_template_arguments.output ;
explicit explicit_function_template_arguments ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS : cxx11_explicit_conversion_operators ;
alias cxx11_explicit_conversion_operators : cxx11_explicit_conversion_operators.output ;
explicit cxx11_explicit_conversion_operators ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_EXTERN_TEMPLATE : cxx11_extern_template ;
alias cxx11_extern_template : cxx11_extern_template.output ;
explicit cxx11_extern_template ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_FENV_H : fenv_h ;
alias fenv_h : fenv_h.output ;
explicit fenv_h ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS : cxx11_fixed_length_variadic_template_expansion_packs ;
alias cxx11_fixed_length_variadic_template_expansion_packs : cxx11_fixed_length_variadic_template_expansion_packs.output ;
explicit cxx11_fixed_length_variadic_template_expansion_packs ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_FUNCTION_TEMPLATE_ORDERING : function_template_ordering ;
alias function_template_ordering : function_template_ordering.output ;
explicit function_template_ordering ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS : cxx11_function_template_default_args ;
alias cxx11_function_template_default_args : cxx11_function_template_default_args.output ;
explicit cxx11_function_template_default_args ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS : function_type_specializations ;
alias function_type_specializations : function_type_specializations.output ;
explicit function_type_specializations ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_MS_INT64_NUMERIC_LIMITS : ms_int64_numeric_limits ;
alias ms_int64_numeric_limits : ms_int64_numeric_limits.output ;
explicit ms_int64_numeric_limits ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_INCLASS_MEMBER_INITIALIZATION : inclass_member_initialization ;
alias inclass_member_initialization : inclass_member_initialization.output ;
explicit inclass_member_initialization ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_INTEGRAL_INT64_T : integral_int64_t ;
alias integral_int64_t : integral_int64_t.output ;
explicit integral_int64_t ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_IOSFWD : iosfwd ;
alias iosfwd : iosfwd.output ;
explicit iosfwd ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_IOSTREAM : iostream ;
alias iostream : iostream.output ;
explicit iostream ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_IS_ABSTRACT : is_abstract ;
alias is_abstract : is_abstract.output ;
explicit is_abstract ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS : templated_iterator_constructors ;
alias templated_iterator_constructors : templated_iterator_constructors.output ;
explicit templated_iterator_constructors ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_LAMBDAS : cxx11_lambdas ;
alias cxx11_lambdas : cxx11_lambdas.output ;
explicit cxx11_lambdas ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_LIMITS : limits ;
alias limits : limits.output ;
explicit limits ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS : limits_compile_time_constants ;
alias limits_compile_time_constants : limits_compile_time_constants.output ;
explicit limits_compile_time_constants ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_LONG_LONG_NUMERIC_LIMITS : long_long_numeric_limits ;
alias long_long_numeric_limits : long_long_numeric_limits.output ;
explicit long_long_numeric_limits ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_LONG_LONG : long_long ;
alias long_long : long_long.output ;
explicit long_long ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS : member_function_specializations ;
alias member_function_specializations : member_function_specializations.output ;
explicit member_function_specializations ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_MEMBER_TEMPLATE_KEYWORD : member_template_keyword ;
alias member_template_keyword : member_template_keyword.output ;
explicit member_template_keyword ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS : pointer_to_member_template_parameters ;
alias pointer_to_member_template_parameters : pointer_to_member_template_parameters.output ;
explicit pointer_to_member_template_parameters ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_MEMBER_TEMPLATE_FRIENDS : member_template_friends ;
alias member_template_friends : member_template_friends.output ;
explicit member_template_friends ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_MEMBER_TEMPLATES : member_templates ;
alias member_templates : member_templates.output ;
explicit member_templates ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_NESTED_FRIENDSHIP : nested_friendship ;
alias nested_friendship : nested_friendship.output ;
explicit nested_friendship ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_NOEXCEPT : cxx11_noexcept ;
alias cxx11_noexcept : cxx11_noexcept.output ;
explicit cxx11_noexcept ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_NULLPTR : cxx11_nullptr ;
alias cxx11_nullptr : cxx11_nullptr.output ;
explicit cxx11_nullptr ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_OPERATORS_IN_NAMESPACE : operators_in_namespace ;
alias operators_in_namespace : operators_in_namespace.output ;
explicit operators_in_namespace ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS : partial_specialization_implicit_default_args ;
alias partial_specialization_implicit_default_args : partial_specialization_implicit_default_args.output ;
explicit partial_specialization_implicit_default_args ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION : template_partial_specialization ;
alias template_partial_specialization : template_partial_specialization.output ;
explicit template_partial_specialization ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_PRIVATE_IN_AGGREGATE : private_in_aggregate ;
alias private_in_aggregate : private_in_aggregate.output ;
explicit private_in_aggregate ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_POINTER_TO_MEMBER_CONST : pointer_to_member_const ;
alias pointer_to_member_const : pointer_to_member_const.output ;
explicit pointer_to_member_const ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_RANGE_BASED_FOR : cxx11_range_based_for ;
alias cxx11_range_based_for : cxx11_range_based_for.output ;
explicit cxx11_range_based_for ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_RAW_LITERALS : cxx11_raw_literals ;
alias cxx11_raw_literals : cxx11_raw_literals.output ;
explicit cxx11_raw_literals ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_UNREACHABLE_RETURN_DETECTION : unreachable_return_detection ;
alias unreachable_return_detection : unreachable_return_detection.output ;
explicit unreachable_return_detection ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_RTTI : rtti ;
alias rtti : rtti.output ;
explicit rtti ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_RVALUE_REFERENCES : cxx11_rvalue_references ;
alias cxx11_rvalue_references : cxx11_rvalue_references.output ;
explicit cxx11_rvalue_references ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_SCOPED_ENUMS : cxx11_scoped_enums ;
alias cxx11_scoped_enums : cxx11_scoped_enums.output ;
explicit cxx11_scoped_enums ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_SFINAE : sfinae ;
alias sfinae : sfinae.output ;
explicit sfinae ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_SFINAE_EXPR : sfinae_expr ;
alias sfinae_expr : sfinae_expr.output ;
explicit sfinae_expr ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STRINGSTREAM : stringstream ;
alias stringstream : stringstream.output ;
explicit stringstream ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_STATIC_ASSERT : cxx11_static_assert ;
alias cxx11_static_assert : cxx11_static_assert.output ;
explicit cxx11_static_assert ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_ALLOCATOR : std_allocator ;
alias std_allocator : std_allocator.output ;
explicit std_allocator ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_DISTANCE : std_distance ;
alias std_distance : std_distance.output ;
explicit std_distance ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_ITERATOR_TRAITS : std_iterator_traits ;
alias std_iterator_traits : std_iterator_traits.output ;
explicit std_iterator_traits ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_ITERATOR : std_iterator ;
alias std_iterator : std_iterator.output ;
explicit std_iterator ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_LOCALE : std_locale ;
alias std_locale : std_locale.output ;
explicit std_locale ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_MESSAGES : std_messages ;
alias std_messages : std_messages.output ;
explicit std_messages ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_MIN_MAX : std_min_max ;
alias std_min_max : std_min_max.output ;
explicit std_min_max ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN : std_output_iterator_assign ;
alias std_output_iterator_assign : std_output_iterator_assign.output ;
explicit std_output_iterator_assign ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_TYPEINFO : std_typeinfo ;
alias std_typeinfo : std_typeinfo.output ;
explicit std_typeinfo ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_USE_FACET : std_use_facet ;
alias std_use_facet : std_use_facet.output ;
explicit std_use_facet ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_WSTREAMBUF : std_wstreambuf ;
alias std_wstreambuf : std_wstreambuf.output ;
explicit std_wstreambuf ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STD_WSTRING : std_wstring ;
alias std_wstring : std_wstring.output ;
explicit std_wstring ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_STDC_NAMESPACE : stdc_namespace ;
alias stdc_namespace : stdc_namespace.output ;
explicit stdc_namespace ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_SWPRINTF : swprintf ;
alias swprintf : swprintf.output ;
explicit swprintf ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS : cxx11_local_class_template_parameters ;
alias cxx11_local_class_template_parameters : cxx11_local_class_template_parameters.output ;
explicit cxx11_local_class_template_parameters ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_TEMPLATE_ALIASES : cxx11_template_aliases ;
alias cxx11_template_aliases : cxx11_template_aliases.output ;
explicit cxx11_template_aliases ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_TEMPLATED_IOSTREAMS : templated_iostreams ;
alias templated_iostreams : templated_iostreams.output ;
explicit templated_iostreams ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_TEMPLATE_TEMPLATES : template_templates ;
alias template_templates : template_templates.output ;
explicit template_templates ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_TWO_PHASE_NAME_LOOKUP : two_phase_name_lookup ;
alias two_phase_name_lookup : two_phase_name_lookup.output ;
explicit two_phase_name_lookup ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_TYPEID : typeid ;
alias typeid : typeid.output ;
explicit typeid ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_TYPENAME_WITH_CTOR : typename_with_ctor ;
alias typename_with_ctor : typename_with_ctor.output ;
explicit typename_with_ctor ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_UNICODE_LITERALS : cxx11_unicode_literals ;
alias cxx11_unicode_literals : cxx11_unicode_literals.output ;
explicit cxx11_unicode_literals ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX : cxx11_unified_initialization_syntax ;
alias cxx11_unified_initialization_syntax : cxx11_unified_initialization_syntax.output ;
explicit cxx11_unified_initialization_syntax ;
run-simple test_case.cpp : : : <define>TEST_BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL : boost_function_scope_using_declaration_breaks_adl ;
alias boost_function_scope_using_declaration_breaks_adl : boost_function_scope_using_declaration_breaks_adl.output ;
explicit boost_function_scope_using_declaration_breaks_adl ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE : using_declaration_overloads_from_typename_base ;
alias using_declaration_overloads_from_typename_base : using_declaration_overloads_from_typename_base.output ;
explicit using_declaration_overloads_from_typename_base ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_USING_TEMPLATE : using_template ;
alias using_template : using_template.output ;
explicit using_template ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_VARIADIC_MACROS : cxx11_variadic_macros ;
alias cxx11_variadic_macros : cxx11_variadic_macros.output ;
explicit cxx11_variadic_macros ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_CXX11_VARIADIC_TEMPLATES : cxx11_variadic_templates ;
alias cxx11_variadic_templates : cxx11_variadic_templates.output ;
explicit cxx11_variadic_templates ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_VOID_RETURNS : void_returns ;
alias void_returns : void_returns.output ;
explicit void_returns ;
run-simple test_case.cpp : : : <define>TEST_BOOST_NO_INTRINSIC_WCHAR_T : intrinsic_wchar_t ;
alias intrinsic_wchar_t : intrinsic_wchar_t.output ;
explicit intrinsic_wchar_t ;
run-simple <define>TEST_BOOST_HAS_TWO_ARG_USE_FACET : two_arg_use_facet ;
run-simple <define>TEST_BOOST_HAS_BETHREADS : bethreads ;
run-simple <define>TEST_BOOST_HAS_CLOCK_GETTIME : clock_gettime ;
run-simple <define>TEST_BOOST_HAS_DIRENT_H : dirent_h ;
run-simple <define>TEST_BOOST_HAS_EXPM1 : expm1 ;
run-simple <define>TEST_BOOST_HAS_FLOAT128 : float128 ;
run-simple <define>TEST_BOOST_HAS_FTIME : ftime ;
run-simple <define>TEST_BOOST_HAS_GETSYSTEMTIMEASFILETIME : getsystemtimeasfiletime ;
run-simple <define>TEST_BOOST_HAS_GETTIMEOFDAY : gettimeofday ;
run-simple <define>TEST_BOOST_HAS_HASH : hash ;
run-simple <define>TEST_BOOST_HAS_INT128 : int128 ;
run-simple <define>TEST_BOOST_HAS_LOG1P : log1p ;
run-simple <define>TEST_BOOST_HAS_LONG_LONG : long_long ;
run-simple <define>TEST_BOOST_HAS_MACRO_USE_FACET : macro_use_facet ;
run-simple <define>TEST_BOOST_HAS_MS_INT64 : ms_int64 ;
run-simple <define>TEST_BOOST_HAS_NANOSLEEP : nanosleep ;
run-simple <define>TEST_BOOST_HAS_NL_TYPES_H : nl_types_h ;
run-simple <define>TEST_BOOST_HAS_NRVO : nrvo ;
run-simple <define>TEST_BOOST_HAS_PARTIAL_STD_ALLOCATOR : partial_std_allocator ;
run-simple <define>TEST_BOOST_HAS_PTHREAD_DELAY_NP : pthread_delay_np ;
run-simple <define>TEST_BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE : pthread_mutexattr_settype ;
run-simple <define>TEST_BOOST_HAS_PTHREAD_YIELD : pthread_yield ;
run-simple <define>TEST_BOOST_HAS_PTHREADS : pthreads ;
run-simple <define>TEST_BOOST_HAS_RVALUE_REFS : rvalue_refs ;
run-simple <define>TEST_BOOST_HAS_SCHED_YIELD : sched_yield ;
run-simple <define>TEST_BOOST_HAS_SGI_TYPE_TRAITS : sgi_type_traits ;
run-simple <define>TEST_BOOST_HAS_SIGACTION : sigaction ;
run-simple <define>TEST_BOOST_HAS_SLIST : slist ;
run-simple <define>TEST_BOOST_HAS_STATIC_ASSERT : static_assert ;
run-simple <define>TEST_BOOST_HAS_STDINT_H : stdint_h ;
run-simple <define>TEST_BOOST_HAS_STLP_USE_FACET : stlp_use_facet ;
run-simple <define>TEST_BOOST_HAS_TR1_ARRAY : tr1_array ;
run-simple <define>TEST_BOOST_HAS_TR1_BIND : tr1_bind ;
run-simple <define>TEST_BOOST_HAS_TR1_COMPLEX_OVERLOADS : tr1_complex_overloads ;
run-simple <define>TEST_BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG : tr1_complex_inverse_trig ;
run-simple <define>TEST_BOOST_HAS_TR1_FUNCTION : tr1_function ;
run-simple <define>TEST_BOOST_HAS_TR1_HASH : tr1_hash ;
run-simple <define>TEST_BOOST_HAS_TR1_MEM_FN : tr1_mem_fn ;
run-simple <define>TEST_BOOST_HAS_TR1_RANDOM : tr1_random ;
run-simple <define>TEST_BOOST_HAS_TR1_REFERENCE_WRAPPER : tr1_reference_wrapper ;
run-simple <define>TEST_BOOST_HAS_TR1_REGEX : tr1_regex ;
run-simple <define>TEST_BOOST_HAS_TR1_RESULT_OF : tr1_result_of ;
run-simple <define>TEST_BOOST_HAS_TR1_SHARED_PTR : tr1_shared_ptr ;
run-simple <define>TEST_BOOST_HAS_TR1_TUPLE : tr1_tuple ;
run-simple <define>TEST_BOOST_HAS_TR1_TYPE_TRAITS : tr1_type_traits ;
run-simple <define>TEST_BOOST_HAS_TR1_UNORDERED_MAP : tr1_unordered_map ;
run-simple <define>TEST_BOOST_HAS_TR1_UNORDERED_SET : tr1_unordered_set ;
run-simple <define>TEST_BOOST_HAS_TR1_UTILITY : tr1_utility ;
run-simple <define>TEST_BOOST_HAS_UNISTD_H : unistd_h ;
run-simple <define>TEST_BOOST_HAS_VARIADIC_TMPL : variadic_tmpl ;
run-simple <define>TEST_BOOST_MSVC6_MEMBER_TEMPLATES : boost_msvc6_member_templates ;
run-simple <define>TEST_BOOST_MSVC_STD_ITERATOR : boost_msvc_std_iterator ;
run-simple <define>TEST_BOOST_HAS_WINTHREADS : winthreads ;
run-simple <define>TEST_BOOST_NO_ADL_BARRIER : adl_barrier ;
run-simple <define>TEST_BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP : argument_dependent_lookup ;
run-simple <define>TEST_BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS : array_type_specializations ;
run-simple <define>TEST_BOOST_NO_CXX11_AUTO_DECLARATIONS : cxx11_auto_declarations ;
run-simple <define>TEST_BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS : cxx11_auto_multideclarations ;
run-simple <define>TEST_BOOST_NO_AUTO_PTR : auto_ptr ;
run-simple <define>TEST_BOOST_BCB_PARTIAL_SPECIALIZATION_BUG : boost_bcb_partial_specialization_bug ;
run-simple <define>TEST_BOOST_NO_CXX11_CHAR16_T : cxx11_char16_t ;
run-simple <define>TEST_BOOST_NO_CXX11_CHAR32_T : cxx11_char32_t ;
run-simple <define>TEST_BOOST_NO_COMPLETE_VALUE_INITIALIZATION : complete_value_initialization ;
run-simple <define>TEST_BOOST_NO_CXX11_CONSTEXPR : cxx11_constexpr ;
run-simple <define>TEST_BOOST_NO_CTYPE_FUNCTIONS : ctype_functions ;
run-simple <define>TEST_BOOST_NO_CV_SPECIALIZATIONS : cv_specializations ;
run-simple <define>TEST_BOOST_NO_CV_VOID_SPECIALIZATIONS : cv_void_specializations ;
run-simple <define>TEST_BOOST_NO_CWCHAR : cwchar ;
run-simple <define>TEST_BOOST_NO_CWCTYPE : cwctype ;
run-simple <define>TEST_BOOST_NO_CXX11_ADDRESSOF : cxx11_addressof ;
run-simple <define>TEST_BOOST_NO_CXX11_ALIGNAS : cxx11_alignas ;
run-simple <define>TEST_BOOST_NO_CXX11_ALLOCATOR : cxx11_allocator ;
run-simple <define>TEST_BOOST_NO_CXX11_ATOMIC_SMART_PTR : cxx11_atomic_smart_ptr ;
run-simple <define>TEST_BOOST_NO_CXX11_FINAL : cxx11_final ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_ARRAY : cxx11_hdr_array ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_ATOMIC : cxx11_hdr_atomic ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_CHRONO : cxx11_hdr_chrono ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_CODECVT : cxx11_hdr_codecvt ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_CONDITION_VARIABLE : cxx11_hdr_condition_variable ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_FORWARD_LIST : cxx11_hdr_forward_list ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_FUTURE : cxx11_hdr_future ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_INITIALIZER_LIST : cxx11_hdr_initializer_list ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_MUTEX : cxx11_hdr_mutex ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_RANDOM : cxx11_hdr_random ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_RATIO : cxx11_hdr_ratio ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_REGEX : cxx11_hdr_regex ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_SYSTEM_ERROR : cxx11_hdr_system_error ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_THREAD : cxx11_hdr_thread ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_TUPLE : cxx11_hdr_tuple ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_TYPE_TRAITS : cxx11_hdr_type_traits ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_TYPEINDEX : cxx11_hdr_typeindex ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_UNORDERED_MAP : cxx11_hdr_unordered_map ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_UNORDERED_SET : cxx11_hdr_unordered_set ;
run-simple <define>TEST_BOOST_NO_CXX11_INLINE_NAMESPACES : cxx11_inline_namespaces ;
run-simple <define>TEST_BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS : cxx11_non_public_defaulted_functions ;
run-simple <define>TEST_BOOST_NO_CXX11_NUMERIC_LIMITS : cxx11_numeric_limits ;
run-simple <define>TEST_BOOST_NO_CXX11_REF_QUALIFIERS : cxx11_ref_qualifiers ;
run-simple <define>TEST_BOOST_NO_CXX11_SFINAE_EXPR : cxx11_sfinae_expr ;
run-simple <define>TEST_BOOST_NO_CXX11_SMART_PTR : cxx11_smart_ptr ;
run-simple <define>TEST_BOOST_NO_CXX11_STD_ALIGN : cxx11_std_align ;
run-simple <define>TEST_BOOST_NO_CXX11_THREAD_LOCAL : cxx11_thread_local ;
run-simple <define>TEST_BOOST_NO_CXX11_TRAILING_RESULT_TYPES : cxx11_trailing_result_types ;
run-simple <define>TEST_BOOST_NO_CXX11_USER_DEFINED_LITERALS : cxx11_user_defined_literals ;
run-simple <define>TEST_BOOST_NO_CXX14_BINARY_LITERALS : cxx14_binary_literals ;
run-simple <define>TEST_BOOST_NO_CXX14_CONSTEXPR : cxx14_constexpr ;
run-simple <define>TEST_BOOST_NO_CXX14_DECLTYPE_AUTO : cxx14_decltype_auto ;
run-simple <define>TEST_BOOST_NO_CXX14_DIGIT_SEPARATORS : cxx14_digit_separators ;
run-simple <define>TEST_BOOST_NO_CXX14_GENERIC_LAMBDAS : cxx14_generic_lambdas ;
run-simple <define>TEST_BOOST_NO_CXX14_HDR_SHARED_MUTEX : cxx14_hdr_shared_mutex ;
run-simple <define>TEST_BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES : cxx14_initialized_lambda_captures ;
run-simple <define>TEST_BOOST_NO_CXX14_AGGREGATE_NSDMI : cxx14_aggregate_nsdmi ;
run-simple <define>TEST_BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION : cxx14_return_type_deduction ;
run-simple <define>TEST_BOOST_NO_CXX14_STD_EXCHANGE : cxx14_std_exchange ;
run-simple <define>TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES : cxx14_variable_templates ;
run-simple <define>TEST_BOOST_NO_CXX17_STD_APPLY : cxx17_std_apply ;
run-simple <define>TEST_BOOST_NO_CXX17_STD_INVOKE : cxx17_std_invoke ;
run-simple <define>TEST_BOOST_NO_CXX11_HDR_FUNCTIONAL : cxx11_hdr_functional ;
run-simple <define>TEST_BOOST_NO_CXX11_DECLTYPE : cxx11_decltype ;
run-simple <define>TEST_BOOST_NO_CXX11_DECLTYPE_N3276 : cxx11_decltype_n3276 ;
run-simple <define>TEST_BOOST_DEDUCED_TYPENAME : boost_deduced_typename ;
run-simple <define>TEST_BOOST_NO_CXX11_DEFAULTED_FUNCTIONS : cxx11_defaulted_functions ;
run-simple <define>TEST_BOOST_NO_CXX11_DELETED_FUNCTIONS : cxx11_deleted_functions ;
run-simple <define>TEST_BOOST_NO_DEPENDENT_NESTED_DERIVATIONS : dependent_nested_derivations ;
run-simple <define>TEST_BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS : dependent_types_in_template_value_parameters ;
run-simple <define>TEST_BOOST_NO_EXCEPTION_STD_NAMESPACE : exception_std_namespace ;
run-simple <define>TEST_BOOST_NO_EXCEPTIONS : exceptions ;
run-simple <define>TEST_BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS : explicit_function_template_arguments ;
run-simple <define>TEST_BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS : cxx11_explicit_conversion_operators ;
run-simple <define>TEST_BOOST_NO_CXX11_EXTERN_TEMPLATE : cxx11_extern_template ;
run-simple <define>TEST_BOOST_NO_FENV_H : fenv_h ;
run-simple <define>TEST_BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS : cxx11_fixed_length_variadic_template_expansion_packs ;
run-simple <define>TEST_BOOST_NO_FUNCTION_TEMPLATE_ORDERING : function_template_ordering ;
run-simple <define>TEST_BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS : cxx11_function_template_default_args ;
run-simple <define>TEST_BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS : function_type_specializations ;
run-simple <define>TEST_BOOST_NO_MS_INT64_NUMERIC_LIMITS : ms_int64_numeric_limits ;
run-simple <define>TEST_BOOST_NO_INCLASS_MEMBER_INITIALIZATION : inclass_member_initialization ;
run-simple <define>TEST_BOOST_NO_INTEGRAL_INT64_T : integral_int64_t ;
run-simple <define>TEST_BOOST_NO_IOSFWD : iosfwd ;
run-simple <define>TEST_BOOST_NO_IOSTREAM : iostream ;
run-simple <define>TEST_BOOST_NO_IS_ABSTRACT : is_abstract ;
run-simple <define>TEST_BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS : templated_iterator_constructors ;
run-simple <define>TEST_BOOST_NO_CXX11_LAMBDAS : cxx11_lambdas ;
run-simple <define>TEST_BOOST_NO_LIMITS : limits ;
run-simple <define>TEST_BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS : limits_compile_time_constants ;
run-simple <define>TEST_BOOST_NO_LONG_LONG_NUMERIC_LIMITS : long_long_numeric_limits ;
run-simple <define>TEST_BOOST_NO_LONG_LONG : long_long ;
run-simple <define>TEST_BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS : member_function_specializations ;
run-simple <define>TEST_BOOST_NO_MEMBER_TEMPLATE_KEYWORD : member_template_keyword ;
run-simple <define>TEST_BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS : pointer_to_member_template_parameters ;
run-simple <define>TEST_BOOST_NO_MEMBER_TEMPLATE_FRIENDS : member_template_friends ;
run-simple <define>TEST_BOOST_NO_MEMBER_TEMPLATES : member_templates ;
run-simple <define>TEST_BOOST_NO_NESTED_FRIENDSHIP : nested_friendship ;
run-simple <define>TEST_BOOST_NO_CXX11_NOEXCEPT : cxx11_noexcept ;
run-simple <define>TEST_BOOST_NO_CXX11_NULLPTR : cxx11_nullptr ;
run-simple <define>TEST_BOOST_NO_OPERATORS_IN_NAMESPACE : operators_in_namespace ;
run-simple <define>TEST_BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS : partial_specialization_implicit_default_args ;
run-simple <define>TEST_BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION : template_partial_specialization ;
run-simple <define>TEST_BOOST_NO_PRIVATE_IN_AGGREGATE : private_in_aggregate ;
run-simple <define>TEST_BOOST_NO_POINTER_TO_MEMBER_CONST : pointer_to_member_const ;
run-simple <define>TEST_BOOST_NO_CXX11_RANGE_BASED_FOR : cxx11_range_based_for ;
run-simple <define>TEST_BOOST_NO_CXX11_RAW_LITERALS : cxx11_raw_literals ;
run-simple <define>TEST_BOOST_NO_RESTRICT_REFERENCES : restrict_references ;
run-simple <define>TEST_BOOST_NO_UNREACHABLE_RETURN_DETECTION : unreachable_return_detection ;
run-simple <define>TEST_BOOST_NO_RTTI : rtti ;
run-simple <define>TEST_BOOST_NO_CXX11_RVALUE_REFERENCES : cxx11_rvalue_references ;
run-simple <define>TEST_BOOST_NO_CXX11_SCOPED_ENUMS : cxx11_scoped_enums ;
run-simple <define>TEST_BOOST_NO_SFINAE : sfinae ;
run-simple <define>TEST_BOOST_NO_SFINAE_EXPR : sfinae_expr ;
run-simple <define>TEST_BOOST_NO_STRINGSTREAM : stringstream ;
run-simple <define>TEST_BOOST_NO_CXX11_STATIC_ASSERT : cxx11_static_assert ;
run-simple <define>TEST_BOOST_NO_STD_ALLOCATOR : std_allocator ;
run-simple <define>TEST_BOOST_NO_STD_DISTANCE : std_distance ;
run-simple <define>TEST_BOOST_NO_STD_ITERATOR_TRAITS : std_iterator_traits ;
run-simple <define>TEST_BOOST_NO_STD_ITERATOR : std_iterator ;
run-simple <define>TEST_BOOST_NO_STD_LOCALE : std_locale ;
run-simple <define>TEST_BOOST_NO_STD_MESSAGES : std_messages ;
run-simple <define>TEST_BOOST_NO_STD_MIN_MAX : std_min_max ;
run-simple <define>TEST_BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN : std_output_iterator_assign ;
run-simple <define>TEST_BOOST_NO_STD_TYPEINFO : std_typeinfo ;
run-simple <define>TEST_BOOST_NO_STD_USE_FACET : std_use_facet ;
run-simple <define>TEST_BOOST_NO_STD_WSTREAMBUF : std_wstreambuf ;
run-simple <define>TEST_BOOST_NO_STD_WSTRING : std_wstring ;
run-simple <define>TEST_BOOST_NO_STDC_NAMESPACE : stdc_namespace ;
run-simple <define>TEST_BOOST_NO_SWPRINTF : swprintf ;
run-simple <define>TEST_BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS : cxx11_local_class_template_parameters ;
run-simple <define>TEST_BOOST_NO_CXX11_TEMPLATE_ALIASES : cxx11_template_aliases ;
run-simple <define>TEST_BOOST_NO_TEMPLATED_IOSTREAMS : templated_iostreams ;
run-simple <define>TEST_BOOST_NO_TEMPLATE_TEMPLATES : template_templates ;
run-simple <define>TEST_BOOST_NO_TWO_PHASE_NAME_LOOKUP : two_phase_name_lookup ;
run-simple <define>TEST_BOOST_NO_TYPEID : typeid ;
run-simple <define>TEST_BOOST_NO_TYPENAME_WITH_CTOR : typename_with_ctor ;
run-simple <define>TEST_BOOST_NO_CXX11_UNICODE_LITERALS : cxx11_unicode_literals ;
run-simple <define>TEST_BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX : cxx11_unified_initialization_syntax ;
run-simple <define>TEST_BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL : boost_function_scope_using_declaration_breaks_adl ;
run-simple <define>TEST_BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE : using_declaration_overloads_from_typename_base ;
run-simple <define>TEST_BOOST_NO_USING_TEMPLATE : using_template ;
run-simple <define>TEST_BOOST_NO_CXX11_VARIADIC_MACROS : cxx11_variadic_macros ;
run-simple <define>TEST_BOOST_NO_CXX11_VARIADIC_TEMPLATES : cxx11_variadic_templates ;
run-simple <define>TEST_BOOST_NO_VOID_RETURNS : void_returns ;
run-simple <define>TEST_BOOST_NO_INTRINSIC_WCHAR_T : intrinsic_wchar_t ;

1
checks/architecture/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
bin

View File

@@ -0,0 +1,9 @@
// 32.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
// 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)
int test[sizeof(void*) == 4? 1 : -1];

View File

@@ -0,0 +1,9 @@
// 64.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
// 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)
int test[sizeof(void*) == 8? 1 : -1];

View File

@@ -0,0 +1,23 @@
# Jamfile.jam
#
# Copyright 2012 Steven Watanabe
#
# 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)
project /boost/architecture
: requirements
-<conditional>@boostcpp.deduce-address-model
-<conditional>@boostcpp.deduce-architecture
;
obj 32 : 32.cpp ;
obj 64 : 64.cpp ;
obj arm : arm.cpp ;
obj combined : combined.cpp ;
obj mips1 : mips1.cpp ;
obj power : power.cpp ;
obj sparc : sparc.cpp ;
obj x86 : x86.cpp ;

View File

@@ -0,0 +1,15 @@
// arm.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
// 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(__arm__) && !defined(__thumb__) && \
!defined(__TARGET_ARCH_ARM) && !defined(__TARGET_ARCH_THUMB) && \
!defined(_ARM) && !defined(_M_ARM) && \
!defined(__aarch64__)
#error "Not ARM"
#endif

View File

@@ -0,0 +1,21 @@
// combined.cpp
//
// Copyright (c) 2012 Steven Watanabe
// 2014 Oliver Kowalke
//
// 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(i386) && !defined(__i386__) && !defined(__i386) \
&& !defined(__i486__) && !defined(__i586__) && !defined(__i686__) \
&& !defined(_M_IX86) && !defined(__X86__) && !defined(_X86_) \
&& !defined(__THW_INTEL__) && !defined(__I86__) && !defined(__INTEL__) \
&& !defined(__amd64__) && !defined(__x86_64__) && !defined(__amd64) \
&& !defined(__x86_64) && !defined(_M_X64) \
&& !defined(__powerpc) && !defined(__powerpc__) && !defined(__ppc) \
&& !defined(__ppc__) && !defined(_M_PPC) && !defined(_ARCH_PPC) \
&& !defined(__POWERPC__) && !defined(__PPCGECKO__) \
&& !defined(__PPCBROADWAY) && !defined(_XENON)
#error "Not combined"
#endif

View File

@@ -0,0 +1,11 @@
// mips1.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
// 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(__mips) && __mips == 1) || defined(_MIPS_ISA_MIPS1) || defined(_R3000))
#error "Not MIPS1"
#endif

View File

@@ -0,0 +1,14 @@
// power.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
// 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(__powerpc) && !defined(__powerpc__) && !defined(__ppc) \
&& !defined(__ppc__) && !defined(_M_PPC) && !defined(_ARCH_PPC) \
&& !defined(__POWERPC__) && !defined(__PPCGECKO__) \
&& !defined(__PPCBROADWAY) && !defined(_XENON)
#error "Not PPC"
#endif

View File

@@ -0,0 +1,11 @@
// power.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
// 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(__sparc__) && !defined(__sparc)
#error "Not SPARC"
#endif

View File

@@ -0,0 +1,16 @@
// x86.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
// 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(i386) && !defined(__i386__) && !defined(__i386) \
&& !defined(__i486__) && !defined(__i586__) && !defined(__i686__) \
&& !defined(_M_IX86) && !defined(__X86__) && !defined(_X86_) \
&& !defined(__THW_INTEL__) && !defined(__I86__) && !defined(__INTEL__) \
&& !defined(__amd64__) && !defined(__x86_64__) && !defined(__amd64) \
&& !defined(__x86_64) && !defined(_M_X64)
#error "Not x86"
#endif

View File

@@ -3,14 +3,18 @@
# Boost Software License, Version 1.0. (See accompanying file
# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
import modules ;
rule requires ( names + )
{
local config-binding = [ modules.binding $(__name__) ] ;
local result ;
for name in $(names)
{
local msg = "Boost.Config Feature Check: " ;
msg += $(name) ;
result += [ check-target-builds $(__name__:D)//$(name) $(msg:J=) : : <build>no ] ;
result += [ check-target-builds $(config-binding:D)//$(name) $(msg:J=) : : <build>no ] ;
}
return $(result) ;
}

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Mon Oct 13 13:09:13 2014
// This file was automatically generated on Sun Feb 5 19:09:22 2017
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@@ -29,6 +29,10 @@ namespace test = boost_has_dirent_h;
# include "../test/boost_has_expm1.ipp"
namespace test = boost_has_expm1;
#endif
#ifdef TEST_BOOST_HAS_FLOAT128
# include "../test/boost_has_float128.ipp"
namespace test = boost_has_float128;
#endif
#ifdef TEST_BOOST_HAS_FTIME
# include "../test/boost_has_ftime.ipp"
namespace test = boost_has_ftime;
@@ -393,6 +397,10 @@ namespace test = boost_no_cxx11_numeric_limits;
# include "../test/boost_no_cxx11_ref_qualifiers.ipp"
namespace test = boost_no_cxx11_ref_qualifiers;
#endif
#ifdef TEST_BOOST_NO_CXX11_SFINAE_EXPR
# include "../test/boost_no_cxx11_sfinae_expr.ipp"
namespace test = boost_no_cxx11_sfinae_expr;
#endif
#ifdef TEST_BOOST_NO_CXX11_SMART_PTR
# include "../test/boost_no_cxx11_smart_ptr.ipp"
namespace test = boost_no_cxx11_smart_ptr;
@@ -401,6 +409,10 @@ namespace test = boost_no_cxx11_smart_ptr;
# include "../test/boost_no_cxx11_std_align.ipp"
namespace test = boost_no_cxx11_std_align;
#endif
#ifdef TEST_BOOST_NO_CXX11_THREAD_LOCAL
# include "../test/boost_no_cxx11_thread_local.ipp"
namespace test = boost_no_cxx11_thread_local;
#endif
#ifdef TEST_BOOST_NO_CXX11_TRAILING_RESULT_TYPES
# include "../test/boost_no_cxx11_trailing_result_types.ipp"
namespace test = boost_no_cxx11_trailing_result_types;
@@ -423,12 +435,16 @@ namespace test = boost_no_cxx14_decltype_auto;
#endif
#ifdef TEST_BOOST_NO_CXX14_DIGIT_SEPARATORS
# include "../test/boost_no_cxx14_digit_separator.ipp"
namespace test = boost_no_cxx14_digit_separator;
namespace test = boost_no_cxx14_digit_separators;
#endif
#ifdef TEST_BOOST_NO_CXX14_GENERIC_LAMBDAS
# include "../test/boost_no_cxx14_generic_lambda.ipp"
namespace test = boost_no_cxx14_generic_lambdas;
#endif
#ifdef TEST_BOOST_NO_CXX14_HDR_SHARED_MUTEX
# include "../test/boost_no_cxx14_hdr_shared_mutex.ipp"
namespace test = boost_no_cxx14_hdr_shared_mutex;
#endif
#ifdef TEST_BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
# include "../test/boost_no_cxx14_lambda_capture.ipp"
namespace test = boost_no_cxx14_initialized_lambda_captures;
@@ -441,10 +457,22 @@ namespace test = boost_no_cxx14_aggregate_nsdmi;
# include "../test/boost_no_cxx14_return_type_ded.ipp"
namespace test = boost_no_cxx14_return_type_deduction;
#endif
#ifdef TEST_BOOST_NO_CXX14_STD_EXCHANGE
# include "../test/boost_no_cxx14_std_exchange.ipp"
namespace test = boost_no_cxx14_std_exchange;
#endif
#ifdef TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES
# include "../test/boost_no_cxx14_var_templ.ipp"
namespace test = boost_no_cxx14_variable_templates;
#endif
#ifdef TEST_BOOST_NO_CXX17_STD_APPLY
# include "../test/boost_no_cxx17_std_apply.ipp"
namespace test = boost_no_cxx17_std_apply;
#endif
#ifdef TEST_BOOST_NO_CXX17_STD_INVOKE
# include "../test/boost_no_cxx17_std_invoke.ipp"
namespace test = boost_no_cxx17_std_invoke;
#endif
#ifdef TEST_BOOST_NO_CXX11_HDR_FUNCTIONAL
# include "../test/boost_no_cxx_hdr_functional.ipp"
namespace test = boost_no_cxx11_hdr_functional;
@@ -625,6 +653,10 @@ namespace test = boost_no_cxx11_range_based_for;
# include "../test/boost_no_raw_literals.ipp"
namespace test = boost_no_cxx11_raw_literals;
#endif
#ifdef TEST_BOOST_NO_RESTRICT_REFERENCES
# include "../test/boost_no_restrict_references.ipp"
namespace test = boost_no_restrict_references;
#endif
#ifdef TEST_BOOST_NO_UNREACHABLE_RETURN_DETECTION
# include "../test/boost_no_ret_det.ipp"
namespace test = boost_no_unreachable_return_detection;

View File

@@ -59,4 +59,8 @@ boostbook standalone
install pdfinstall : standalone/<format>pdf : <location>. <install-type>PDF ;
explicit pdfinstall ;
###############################################################################
alias boostdoc ;
explicit boostdoc ;
alias boostrelease : standalone ;
explicit boostrelease ;

View File

@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Acknowledgements</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="rationale.html" title="Rationale">

View File

@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Boost Macro Reference</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="../index.html" title="Boost.Config">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_config.boost_macro_reference"></a><a class="link" href="boost_macro_reference.html" title="Boost Macro Reference">Boost Macro Reference</a>
</h2></div></div></div>
<div class="toc"><dl class="toc">
<div class="toc"><dl>
<dt><span class="section"><a href="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_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros
@@ -41,6 +41,8 @@
that describe C++14 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__14_features_with_c__11_or_earlier_compilers">Macros
that allow use of C++14 features with C++11 or earlier compilers</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__17_features_not_supported">Macros
that describe C++17 features not supported</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost
Helper Macros</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost
@@ -515,7 +517,7 @@
is covered by <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#337" target="_top">Core
Language DR337</a>, but is not part of the current standard.
Fortunately most compilers that support SFINAE also support this
DR.
DR. See also BOOST_NO_SFINAE and BOOST_NO_SFINAE_EXPR
</p>
</td>
</tr>
@@ -813,6 +815,24 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_RESTRICT_REFERENCES</span></code>
</p>
</td>
<td>
<p>
Compiler
</p>
</td>
<td>
<p>
Compiler-specific <code class="computeroutput"><span class="identifier">restrict</span></code>
keyword can not be applied to references.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_RTTI</span></code>
@@ -844,7 +864,8 @@
<td>
<p>
The compiler does not support the "Substitution Failure Is
Not An Error" meta-programming idiom.
Not An Error" meta-programming idiom. This is the lightweight
pre-C++11 version of SFINAE.
</p>
</td>
</tr>
@@ -862,6 +883,8 @@
<td>
<p>
The compiler does not support usage of SFINAE with arbitrary expressions.
This is the post-C++11 SFINAE, but excludes a few specific corner
cases, see also BOOST_NO_CXX11_SFINAE_EXPR.
</p>
</td>
</tr>
@@ -1427,6 +1450,25 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_HAS_FLOAT128</span></code>
</p>
</td>
<td>
<p>
Compiler
</p>
</td>
<td>
<p>
The compiler has <code class="computeroutput"><span class="identifier">__float128</span></code>
as a native type which is distinct from all the regular C++ floating
point types.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_HAS_FTIME</span></code>
@@ -2960,6 +3002,19 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_NUMERIC_LIMITS</span></code>
</p>
</td>
<td>
<p>
The standard library <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span></code>
header does not support the C++11 version of <code class="computeroutput"><span class="identifier">numeric_limits</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_RANGE_BASED_FOR</span></code>
@@ -3021,6 +3076,22 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_SFINAE_EXPR</span></code>
</p>
</td>
<td>
<p>
The compiler does not support usage of C++11 SFINAE with arbitrary
expressions. Use this macro only if you are using all of the features
of SFINAE including substitution-failure-on-private-member-access.
Otherwise use BOOST_NO_SFINAE_EXPR or BOOST_NO_SFINAE which get
defined for fewer compilers.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_SMART_PTR</span></code>
@@ -3083,6 +3154,19 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_THREAD_LOCAL</span></code>
</p>
</td>
<td>
<p>
The compiler does not support the <code class="computeroutput"><span class="keyword">thread_local</span></code>
storage specifier.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_TRAILING_RESULT_TYPES</span></code>
@@ -3569,6 +3653,18 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_HDR_SHARED_MUTEX</span></code>
</p>
</td>
<td>
<p>
The standard library does not provide header &lt;shared_mutex&gt;.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES</span></code>
@@ -3658,6 +3754,46 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.boost_macro_reference.macros_that_describe_c__17_features_not_supported"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__17_features_not_supported" title="Macros that describe C++17 features not supported">Macros
that describe C++17 features not supported</a>
</h3></div></div></div>
<p>
The following macros describe features in the 2016 ISO C++ standard, formerly
known as C++1z, that are not yet supported by a particular compiler or library.
</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_NO_CXX17_STD_INVOKE</span></code>
</p>
</td>
<td>
<p>
The compiler does not support <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">invoke</span><span class="special">()</span></code>.
</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.boost_helper_macros"></a><a name="config_helpers"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros" title="Boost Helper Macros">Boost
Helper Macros</a>
</h3></div></div></div>
@@ -4064,6 +4200,35 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_RESTRICT</span></code>
</p>
</td>
<td>
<p>
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.
</p>
<p>
Usage example:
</p>
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">void</span> <span class="identifier">perform_computation</span><span class="special">(</span> <span class="keyword">float</span><span class="special">*</span> <span class="identifier">BOOST_RESTRICT</span> <span class="identifier">in</span><span class="special">,</span> <span class="keyword">float</span><span class="special">*</span> <span class="identifier">BOOST_RESTRICT</span> <span class="identifier">out</span> <span class="special">)</span>
<span class="special">{</span>
<span class="special">*</span><span class="identifier">out</span> <span class="special">=</span> <span class="special">*</span><span class="identifier">in</span> <span class="special">*</span> <span class="number">0.5f</span><span class="special">;</span>
<span class="special">}</span>
</pre>
<p>
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_FORCEINLINE</span></code>
@@ -5566,7 +5731,7 @@
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code" title="Macros for libraries with separate source code">Macros
for libraries with separate source code</a>
</h3></div></div></div>
<div class="toc"><dl class="toc">
<div class="toc"><dl>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.macros_controlling_shared_library_symbol_visibility">Macros
controlling shared library symbol visibility</a></span></dt>
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing">ABI
@@ -5591,7 +5756,7 @@
</li>
</ul></div>
<p>
See <a href="http://svn.boost.org/trac/boost/wiki/Guidelines/Separate" target="_top">Guidelines
See <a href="http://www.boost.org/development/separate_compilation.html" target="_top">Guidelines
for Authors of Boost Libraries Containing Separate Source</a>
</p>
<div class="section">

View File

@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Build Time Configuration</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="boost_macro_reference.html" title="Boost Macro Reference">

View File

@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Standard Integer Types</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="build_config.html" title="Build Time Configuration">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_config.cstdint"></a><a class="link" href="cstdint.html" title="Standard Integer Types">Standard Integer Types</a>
</h2></div></div></div>
<div class="toc"><dl class="toc">
<div class="toc"><dl>
<dt><span class="section"><a href="cstdint.html#boost_config.cstdint.overview">Overview</a></span></dt>
<dt><span class="section"><a href="cstdint.html#boost_config.cstdint.rationale">Rationale</a></span></dt>
<dt><span class="section"><a href="cstdint.html#boost_config.cstdint.ce"><span class="emphasis"><em>Caveat emptor</em></span></a></span></dt>

View File

@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Guidelines for Boost Authors</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="cstdint.html" title="Standard Integer Types">
@@ -27,7 +27,7 @@
<a name="boost_config.guidelines_for_boost_authors"></a><a class="link" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">Guidelines for
Boost Authors</a>
</h2></div></div></div>
<div class="toc"><dl class="toc">
<div class="toc"><dl>
<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings">Disabling
Compiler Warnings</a></span></dt>
<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros">Adding

View File

@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Rationale</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">
@@ -26,7 +26,7 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_config.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
</h2></div></div></div>
<div class="toc"><dl class="toc">
<div class="toc"><dl>
<dt><span class="section"><a href="rationale.html#boost_config.rationale.the_problem">The problem</a></span></dt>
<dt><span class="section"><a href="rationale.html#boost_config.rationale.the_solution">The solution</a></span></dt>
</dl></div>

View File

@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Boost.Config</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
<link rel="home" href="index.html" title="Boost.Config">
<link rel="next" href="boost_config/boost_macro_reference.html" title="Boost Macro Reference">
</head>
@@ -39,7 +39,7 @@
</div>
<div class="toc">
<p><b>Table of Contents</b></p>
<dl class="toc">
<dl>
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform">Configuring
Boost for Your Platform</a></span></dt>
<dd><dl>
@@ -72,6 +72,8 @@
that describe C++14 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__14_features_with_c__11_or_earlier_compilers">Macros
that allow use of C++14 features with C++11 or earlier compilers</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__17_features_not_supported">Macros
that describe C++17 features not supported</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.boost_helper_macros">Boost
Helper Macros</a></span></dt>
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.boost_informational_macros">Boost
@@ -123,7 +125,7 @@
<a name="boost_config.configuring_boost_for_your_platform"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform" title="Configuring Boost for Your Platform">Configuring
Boost for Your Platform</a>
</h2></div></div></div>
<div class="toc"><dl class="toc">
<div class="toc"><dl>
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration">Using
the default boost configuration</a></span></dt>
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header">The
@@ -721,7 +723,7 @@
<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage" title="Advanced configuration usage">Advanced
configuration usage</a>
</h3></div></div></div>
<div class="toc"><dl class="toc">
<div class="toc"><dl>
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration">Example
1: creating our own frozen configuration</a></span></dt>
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need">Example
@@ -988,7 +990,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: October 21, 2014 at 11:37:59 GMT</small></p></td>
<td align="left"><p><small>Last revised: February 05, 2017 at 19:27:06 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>

View File

@@ -138,7 +138,7 @@ The standard library lacks `<iostream>`, `<istream>` or `<ostream>`.
[[`BOOST_NO_IS_ABSTRACT`][Compiler][
The C++ compiler does not support SFINAE with abstract types, this is covered
by __CORE_LANGUAGE_DR337__, but is not part of the current standard. Fortunately
most compilers that support SFINAE also support this DR.
most compilers that support SFINAE also support this DR. See also BOOST_NO_SFINAE and BOOST_NO_SFINAE_EXPR
]]
[[`BOOST_NO_LIMITS`][Standard library][
The C++ implementation does not provide the `<limits>` header. Never check for
@@ -209,16 +209,20 @@ Pointers to members don't work when used as template parameters.
The compiler misreads 8.5.1, treating classes as non-aggregate if they
contain private or protected member functions.
]]
[[`BOOST_NO_RESTRICT_REFERENCES`][Compiler][
Compiler-specific `restrict` keyword can not be applied to references.
]]
[[`BOOST_NO_RTTI`][Compiler][
The compiler may (or may not) have the typeid operator, but RTTI on the dynamic type
of an object is not supported.
]]
[[`BOOST_NO_SFINAE`][Compiler][
The compiler does not support the "Substitution Failure Is Not An Error"
meta-programming idiom.
meta-programming idiom. This is the lightweight pre-C++11 version of SFINAE.
]]
[[`BOOST_NO_SFINAE_EXPR`][Compiler][
The compiler does not support usage of SFINAE with arbitrary expressions.
The compiler does not support usage of SFINAE with arbitrary expressions. This is the
post-C++11 SFINAE, but excludes a few specific corner cases, see also BOOST_NO_CXX11_SFINAE_EXPR.
]]
[[`BOOST_NO_STD_ALLOCATOR`][Standard library][
The C++ standard library does not provide a standards conforming
@@ -348,6 +352,9 @@ The platform has the POSIX header `<dirent.h>`.
[[`BOOST_HAS_EXPM1`][Platform][
The platform has the functions `expm1`, `expm1f` and `expm1l` in `<math.h>`
]]
[[`BOOST_HAS_FLOAT128`][Compiler][
The compiler has `__float128` as a native type which is distinct
from all the regular C++ floating point types.]]
[[`BOOST_HAS_FTIME`][Platform][
The platform has the Win32 API type FTIME.
]]
@@ -670,6 +677,9 @@ compilers implementing an early draft of the C++11 standard (in particular, inco
]]
[[`BOOST_NO_CXX11_NULLPTR`][The compiler does not support `nullptr`.
]]
[[`BOOST_NO_CXX11_NUMERIC_LIMITS`][The standard library `<limits>` header does
not support the C++11 version of `numeric_limits`.
]]
[[`BOOST_NO_CXX11_RANGE_BASED_FOR`][The compiler does not support
range-based for statements.
]]
@@ -686,6 +696,11 @@ r-value references.
[[`BOOST_NO_CXX11_SCOPED_ENUMS`][The compiler does not support
scoped enumerations (`enum class`).
]]
[[`BOOST_NO_CXX11_SFINAE_EXPR`][The compiler does not support
usage of C++11 SFINAE with arbitrary expressions. Use this macro only if you
are using all of the features of SFINAE including substitution-failure-on-private-member-access.
Otherwise use BOOST_NO_SFINAE_EXPR or BOOST_NO_SFINAE which get defined for fewer compilers.
]]
[[`BOOST_NO_CXX11_SMART_PTR`][The standard library header <memory> has no shared_ptr and unique_ptr.]]
[[`BOOST_NO_CXX11_STATIC_ASSERT`][The compiler does not support
`static_assert`.
@@ -696,6 +711,8 @@ scoped enumerations (`enum class`).
]]
[[`BOOST_NO_CXX11_TEMPLATE_ALIASES`][The compiler does not support template aliases.
]]
[[`BOOST_NO_CXX11_THREAD_LOCAL`][The compiler does not support the `thread_local` storage specifier.
]]
[[`BOOST_NO_CXX11_TRAILING_RESULT_TYPES`][The compiler does not support the new function result type
specification syntax (e.g. `auto foo(T) -> T;`).]]
[[`BOOST_NO_CXX11_UNICODE_LITERALS`][The compiler does not support
@@ -894,6 +911,7 @@ Foo foo = { 0 };
[[`BOOST_NO_CXX14_DECLTYPE_AUTO`][The compiler does not support `decltype(auto)`.]]
[[`BOOST_NO_CXX14_DIGIT_SEPARATORS`][The compiler does not support digit separators (e.g. `1'000'000`).]]
[[`BOOST_NO_CXX14_GENERIC_LAMBDAS`][The compiler does not support generic lambda (e.g. `[](auto v){ }`).]]
[[`BOOST_NO_CXX14_HDR_SHARED_MUTEX`][The standard library does not provide header <shared_mutex>.]]
[[`BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES`][The compiler does not support initialized lambda capture (e.g. `[foo = 42]{ }`).]]
[[`BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION`][The compiler does not support return type deduction for normal functions (e.g. `auto f() { return val; }`).]]
[[`BOOST_NO_CXX14_VARIABLE_TEMPLATES`][The compiler does not support variable template (e.g. `template <class T> T kibi = T(1024);`).]]
@@ -915,6 +933,18 @@ provide compliant C++14 support.
[endsect]
[section Macros that describe C++17 features not supported]
The following macros describe features in the 2016 ISO C++ standard, formerly known as C++1z,
that are not yet supported by a particular compiler or library.
[table
[[Macro ][Description ]]
[[`BOOST_NO_CXX17_STD_INVOKE`][The compiler does not support `std::invoke()`.]]
]
[endsect]
[#config_helpers]
[section Boost Helper Macros]
@@ -1129,6 +1159,21 @@ the arguments is itself a macro (see 16.3.1 in C++ standard). This is normally
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
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.
Usage example:
``
void perform_computation( float* BOOST_RESTRICT in, float* BOOST_RESTRICT out )
{
*out = *in * 0.5f;
}
``
]]
[[`BOOST_FORCEINLINE`][
This macro can be used in place of the `inline` keyword to instruct the compiler
that the function should always be inlined.
@@ -1353,7 +1398,7 @@ include separate source code, and are intended to address several issues:
* Fixing the ABI of the compiled library
* Selecting which compiled library to link against based upon the compilers settings
See [@http://svn.boost.org/trac/boost/wiki/Guidelines/Separate Guidelines for Authors of Boost Libraries Containing Separate Source]
See [@http://www.boost.org/development/separate_compilation.html Guidelines for Authors of Boost Libraries Containing Separate Source]
[section Macros controlling shared library symbol visibility]

View File

@@ -161,10 +161,15 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
// vc12:
# define BOOST_LIB_TOOLSET "vc120"
# elif defined(BOOST_MSVC)
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1910)
// vc14:
# define BOOST_LIB_TOOLSET "vc140"
// vc14:
# define BOOST_LIB_TOOLSET "vc140"
# elif defined(BOOST_MSVC)
// vc14.1:
# define BOOST_LIB_TOOLSET "vc141"
# elif defined(__BORLANDC__)

View File

@@ -185,6 +185,7 @@
#define BOOST_NO_CXX11_RVALUE_REFERENCES
#define BOOST_NO_CXX11_SCOPED_ENUMS
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_CXX11_SFINAE_EXPR
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
#define BOOST_NO_CXX11_UNICODE_LITERALS // UTF-8 still not supported
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
@@ -196,6 +197,7 @@
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#define BOOST_NO_CXX11_THREAD_LOCAL
// C++ 14:
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)

View File

@@ -23,6 +23,10 @@
#define __has_extension __has_feature
#endif
#ifndef __has_attribute
#define __has_attribute(x) 0
#endif
#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
# define BOOST_NO_EXCEPTIONS
#endif
@@ -35,14 +39,25 @@
# define BOOST_NO_TYPEID
#endif
#if defined(__int64) && !defined(__GNUC__)
#if !__has_feature(cxx_thread_local)
# define BOOST_NO_CXX11_THREAD_LOCAL
#endif
#ifdef __is_identifier
#if !__is_identifier(__int64) && !defined(__GNUC__)
# define BOOST_HAS_MS_INT64
#endif
#endif
#if __has_include(<stdint.h>)
# define BOOST_HAS_STDINT_H
#endif
#define BOOST_HAS_NRVO
// Branch prediction hints
#if defined(__has_builtin)
#if !defined (__c2__) && defined(__has_builtin)
#if __has_builtin(__builtin_expect)
#define BOOST_LIKELY(x) __builtin_expect(x, 1)
#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
@@ -53,14 +68,25 @@
#define BOOST_HAS_LONG_LONG
//
// We disable this if the compiler is really nvcc as it
// doesn't actually support __int128 as of CUDA_VERSION=5000
// We disable this if the compiler is really nvcc with C++03 as it
// doesn't actually support __int128 as of CUDA_VERSION=7500
// even though it defines __SIZEOF_INT128__.
// See https://svn.boost.org/trac/boost/ticket/10418
// https://svn.boost.org/trac/boost/ticket/11852
// Only re-enable this for nvcc if you're absolutely sure
// of the circumstances under which it's supported:
// of the circumstances under which it's supported.
// Similarly __SIZEOF_INT128__ is defined when targetting msvc
// compatibility even though the required support functions are absent.
//
#if defined(__SIZEOF_INT128__) && !defined(__CUDACC__)
#if defined(__CUDACC__)
# if defined(BOOST_GCC_CXX11)
# define BOOST_NVCC_CXX11
# else
# define BOOST_NVCC_CXX03
# endif
#endif
#if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03) && !defined(_MSC_VER)
# define BOOST_HAS_INT128
#endif
@@ -92,11 +118,16 @@
//
// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t
//
#if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)
#if (defined(_MSC_VER) && (_MSC_VER < 1900)) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)
# define BOOST_NO_CXX11_CHAR16_T
# define BOOST_NO_CXX11_CHAR32_T
#endif
#if defined(_MSC_VER) && (_MSC_VER >= 1800) && !defined(__GNUC__)
#define BOOST_HAS_EXPM1
#define BOOST_HAS_LOG1P
#endif
#if !__has_feature(cxx_constexpr)
# define BOOST_NO_CXX11_CONSTEXPR
#endif
@@ -189,7 +220,7 @@
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
#endif
#if !(__has_feature(cxx_alignas) || __has_extension(cxx_alignas))
#if !__has_feature(cxx_alignas)
# define BOOST_NO_CXX11_ALIGNAS
#endif
@@ -205,23 +236,23 @@
# define BOOST_NO_CXX11_FINAL
#endif
#if !(__has_feature(cxx_binary_literals) || __has_extension(cxx_binary_literals))
#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__))
# define BOOST_NO_CXX14_BINARY_LITERALS
#endif
#if !(__has_feature(cxx_decltype_auto) || __has_extension(cxx_decltype_auto))
#if !__has_feature(__cxx_decltype_auto__)
# define BOOST_NO_CXX14_DECLTYPE_AUTO
#endif
#if !(__has_feature(cxx_aggregate_nsdmi) || __has_extension(cxx_aggregate_nsdmi))
#if !__has_feature(__cxx_aggregate_nsdmi__)
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
#endif
#if !(__has_feature(cxx_init_captures) || __has_extension(cxx_init_captures))
#if !__has_feature(__cxx_init_captures__)
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
#endif
#if !(__has_feature(cxx_generic_lambdas) || __has_extension(cxx_generic_lambdas))
#if !__has_feature(__cxx_generic_lambdas__)
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
#endif
@@ -239,30 +270,35 @@
// so instead verify that we have a feature that was introduced at the same time as working C++14
// constexpr (generic lambda's in this case):
//
#if !__has_feature(cxx_generic_lambdas) \
|| !(__has_feature(cxx_relaxed_constexpr) || __has_extension(cxx_relaxed_constexpr))
#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__)
# define BOOST_NO_CXX14_CONSTEXPR
#endif
#if !(__has_feature(cxx_return_type_deduction) || __has_extension(cxx_return_type_deduction))
#if !__has_feature(__cxx_return_type_deduction__)
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
#endif
#if !(__has_feature(cxx_variable_templates) || __has_extension(cxx_variable_templates))
#if !__has_feature(__cxx_variable_templates__)
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
#endif
#if __cplusplus < 201103L
#define BOOST_NO_CXX11_SFINAE_EXPR
#endif
#if __cplusplus < 201400
// All versions with __cplusplus above this value seem to support this:
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
#endif
// Unused attribute:
#if defined(__GNUC__) && (__GNUC__ >= 4)
# define BOOST_ATTRIBUTE_UNUSED __attribute__((unused))
//
// __builtin_unreachable:
#if defined(__has_builtin) && __has_builtin(__builtin_unreachable)
#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
#endif
// Clang has supported the 'unused' attribute since the first release.
#define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__))
#ifndef BOOST_COMPILER
# define BOOST_COMPILER "Clang version " __clang_version__
#endif

View File

@@ -112,6 +112,7 @@
#define BOOST_NO_CXX11_RAW_LITERALS
#define BOOST_NO_CXX11_RVALUE_REFERENCES
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_CXX11_SFINAE_EXPR
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
#define BOOST_NO_CXX11_UNICODE_LITERALS
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
@@ -122,6 +123,7 @@
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#define BOOST_NO_CXX11_THREAD_LOCAL
// C++ 14:
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)

View File

@@ -12,7 +12,7 @@
// Comeau C++ compiler setup:
#include "boost/config/compiler/common_edg.hpp"
#include <boost/config/compiler/common_edg.hpp>
#if (__COMO_VERSION__ <= 4245)

View File

@@ -95,6 +95,7 @@
#define BOOST_NO_CXX11_RVALUE_REFERENCES
#define BOOST_NO_CXX11_SCOPED_ENUMS
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_CXX11_SFINAE_EXPR
#define BOOST_NO_CXX11_STATIC_ASSERT
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
#define BOOST_NO_CXX11_UNICODE_LITERALS
@@ -106,6 +107,7 @@
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#define BOOST_NO_CXX11_THREAD_LOCAL
// C++ 14:
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)

View File

@@ -9,7 +9,7 @@
#define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER)
#include "boost/config/compiler/common_edg.hpp"
#include <boost/config/compiler/common_edg.hpp>
//
// versions check:

View File

@@ -21,7 +21,7 @@
# error "Unsupported Cray compiler, please try running the configure script."
#endif
#include "boost/config/compiler/common_edg.hpp"
#include <boost/config/compiler/common_edg.hpp>
//
@@ -39,6 +39,7 @@
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
#define BOOST_NO_CXX11_STATIC_ASSERT
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_CXX11_SFINAE_EXPR
#define BOOST_NO_CXX11_SCOPED_ENUMS
#define BOOST_NO_CXX11_RVALUE_REFERENCES
#define BOOST_NO_CXX11_RANGE_BASED_FOR
@@ -60,6 +61,7 @@
#define BOOST_NO_CXX11_CHAR16_T
#define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#define BOOST_NO_CXX11_THREAD_LOCAL
//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG

View File

@@ -71,6 +71,7 @@
#define BOOST_NO_CXX11_RVALUE_REFERENCES
#define BOOST_NO_CXX11_SCOPED_ENUMS
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_CXX11_SFINAE_EXPR
#define BOOST_NO_CXX11_STATIC_ASSERT
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
#define BOOST_NO_CXX11_UNICODE_LITERALS
@@ -82,6 +83,7 @@
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#define BOOST_NO_CXX11_THREAD_LOCAL
// C++ 14:
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)

View File

@@ -133,16 +133,42 @@
//
// Recent GCC versions have __int128 when in 64-bit mode.
//
// We disable this if the compiler is really nvcc as it
// doesn't actually support __int128 as of CUDA_VERSION=5000
// We disable this if the compiler is really nvcc with C++03 as it
// doesn't actually support __int128 as of CUDA_VERSION=7500
// even though it defines __SIZEOF_INT128__.
// See https://svn.boost.org/trac/boost/ticket/8048
// https://svn.boost.org/trac/boost/ticket/11852
// Only re-enable this for nvcc if you're absolutely sure
// of the circumstances under which it's supported:
//
#if defined(__SIZEOF_INT128__) && !defined(__CUDACC__)
#if defined(__CUDACC__)
# if defined(BOOST_GCC_CXX11)
# define BOOST_NVCC_CXX11
# else
# define BOOST_NVCC_CXX03
# endif
#endif
#if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03)
# define BOOST_HAS_INT128
#endif
//
// Recent GCC versions have a __float128 native type, we need to
// include a std lib header to detect this - not ideal, but we'll
// be including <cstddef> later anyway when we select the std lib.
//
// Nevertheless, as of CUDA 7.5, using __float128 with the host
// compiler in pre-C++11 mode is still not supported.
// See https://svn.boost.org/trac/boost/ticket/11852
//
#ifdef __cplusplus
#include <cstddef>
#else
#include <stddef.h>
#endif
#if defined(_GLIBCXX_USE_FLOAT128) && !defined(__STRICT_ANSI__) && !defined(BOOST_NVCC_CXX03)
# define BOOST_HAS_FLOAT128
#endif
// C++0x features in 4.3.n and later
//
@@ -226,6 +252,8 @@
//
#if (BOOST_GCC_VERSION < 40800) || !defined(BOOST_GCC_CXX11)
# define BOOST_NO_CXX11_ALIGNAS
# define BOOST_NO_CXX11_THREAD_LOCAL
# define BOOST_NO_CXX11_SFINAE_EXPR
#endif
// C++0x features in 4.8.1 and later
@@ -263,7 +291,12 @@
//
// Unused attribute:
#if __GNUC__ >= 4
# define BOOST_ATTRIBUTE_UNUSED __attribute__((unused))
# define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__))
#endif
//
// __builtin_unreachable:
#if BOOST_GCC_VERSION >= 40800
#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
#endif
#ifndef BOOST_COMPILER

View File

@@ -46,6 +46,7 @@
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
# define BOOST_NO_CXX11_SCOPED_ENUMS
# define BOOST_NO_SFINAE_EXPR
# define BOOST_NO_CXX11_SFINAE_EXPR
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
# define BOOST_NO_CXX11_LAMBDAS
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
@@ -59,7 +60,8 @@
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
# define BOOST_NO_CXX11_INLINE_NAMESPACES
# define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
# define BOOST_NO_CXX11_FINAL
# define BOOST_NO_CXX11_THREAD_LOCAL
// C++ 14:
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)

View File

@@ -9,7 +9,7 @@
#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs)
#include "boost/config/compiler/common_edg.hpp"
#include <boost/config/compiler/common_edg.hpp>
//
// versions check:

View File

@@ -13,7 +13,7 @@
// HP aCC C++ compiler setup:
#if defined(__EDG__)
#include "boost/config/compiler/common_edg.hpp"
#include <boost/config/compiler/common_edg.hpp>
#endif
#if (__HP_aCC <= 33100)
@@ -114,6 +114,7 @@
#define BOOST_NO_CXX11_RVALUE_REFERENCES
#define BOOST_NO_CXX11_SCOPED_ENUMS
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_CXX11_SFINAE_EXPR
#define BOOST_NO_CXX11_STATIC_ASSERT
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
#define BOOST_NO_CXX11_UNICODE_LITERALS
@@ -123,6 +124,7 @@
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_THREAD_LOCAL
/*
See https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443331 and

View File

@@ -14,7 +14,92 @@
// Intel compiler setup:
#include "boost/config/compiler/common_edg.hpp"
#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__))
#ifdef _MSC_VER
#include <boost/config/compiler/visualc.hpp>
#undef BOOST_MSVC
#undef BOOST_MSVC_FULL_VER
#if (__INTEL_COMPILER >= 1500) && (_MSC_VER >= 1900)
//
// These appear to be supported, even though VC++ may not support them:
//
#define BOOST_HAS_EXPM1
#define BOOST_HAS_LOG1P
#undef BOOST_NO_CXX14_BINARY_LITERALS
// This one may be a little risky to enable??
#undef BOOST_NO_SFINAE_EXPR
#endif
#if (__INTEL_COMPILER <= 1600) && !defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES)
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
#endif
#else // defined(_MSC_VER)
#include <boost/config/compiler/gcc.hpp>
#undef BOOST_GCC_VERSION
#undef BOOST_GCC_CXX11
// Broken in all versions up to 17 (newer versions not tested)
#if (__INTEL_COMPILER <= 1700) && !defined(BOOST_NO_CXX14_CONSTEXPR)
# define BOOST_NO_CXX14_CONSTEXPR
#endif
#endif // defined(_MSC_VER)
#undef BOOST_COMPILER
#if defined(__INTEL_COMPILER)
#if __INTEL_COMPILER == 9999
# define BOOST_INTEL_CXX_VERSION 1200 // Intel bug in 12.1.
#else
# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER
#endif
#elif defined(__ICL)
# define BOOST_INTEL_CXX_VERSION __ICL
#elif defined(__ICC)
# define BOOST_INTEL_CXX_VERSION __ICC
#elif defined(__ECC)
# define BOOST_INTEL_CXX_VERSION __ECC
#endif
// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x'
#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__)
# define BOOST_INTEL_STDCXX0X
#endif
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
# define BOOST_INTEL_STDCXX0X
#endif
#ifdef __GNUC__
# define BOOST_INTEL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#endif
#if !defined(BOOST_COMPILER)
# if defined(BOOST_INTEL_STDCXX0X)
# define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
# else
# define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
# endif
#endif
#define BOOST_INTEL BOOST_INTEL_CXX_VERSION
#if defined(_WIN32) || defined(_WIN64)
# define BOOST_INTEL_WIN BOOST_INTEL
#else
# define BOOST_INTEL_LINUX BOOST_INTEL
#endif
#else // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__))
#include <boost/config/compiler/common_edg.hpp>
#if defined(__INTEL_COMPILER)
#if __INTEL_COMPILER == 9999
@@ -330,6 +415,11 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
# undef BOOST_NO_SFINAE_EXPR
#endif
// BOOST_NO_CXX11_SFINAE_EXPR
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && !defined(_MSC_VER)
# undef BOOST_NO_CXX11_SFINAE_EXPR
#endif
// BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
// This is available in earlier Intel releases, but breaks Multiprecision:
@@ -403,7 +493,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
# undef BOOST_NO_CXX11_FINAL
#endif
#endif
#endif // defined(BOOST_INTEL_STDCXX0X)
//
// Broken in all versions up to 15:
@@ -438,13 +528,22 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
# define BOOST_HAS_STDINT_H
#endif
#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(__CUDACC__)
#if defined(__CUDACC__)
# if defined(BOOST_GCC_CXX11)
# define BOOST_NVCC_CXX11
# else
# define BOOST_NVCC_CXX03
# endif
#endif
#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(BOOST_NVCC_CXX03)
# define BOOST_HAS_INT128
#endif
#endif // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__))
//
// last known and checked version:
#if (BOOST_INTEL_CXX_VERSION > 1310)
#if (BOOST_INTEL_CXX_VERSION > 1700)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# elif defined(_MSC_VER)

View File

@@ -9,7 +9,7 @@
// Kai C++ compiler setup:
#include "boost/config/compiler/common_edg.hpp"
#include <boost/config/compiler/common_edg.hpp>
# if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG)
// at least on Sun, the contents of <cwchar> is not in namespace std

View File

@@ -113,6 +113,7 @@
#define BOOST_NO_CXX11_RAW_LITERALS
#define BOOST_NO_CXX11_SCOPED_ENUMS
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_CXX11_SFINAE_EXPR
#define BOOST_NO_CXX11_STATIC_ASSERT
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
#define BOOST_NO_CXX11_UNICODE_LITERALS
@@ -125,6 +126,7 @@
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#define BOOST_NO_CXX11_THREAD_LOCAL
// C++ 14:
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)

View File

@@ -62,6 +62,7 @@
#define BOOST_NO_CXX11_RVALUE_REFERENCES
#define BOOST_NO_CXX11_SCOPED_ENUMS
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_CXX11_SFINAE_EXPR
#define BOOST_NO_CXX11_STATIC_ASSERT
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
#define BOOST_NO_CXX11_UNICODE_LITERALS
@@ -74,6 +75,7 @@
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#define BOOST_NO_CXX11_THREAD_LOCAL
// C++ 14:
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)

View File

@@ -14,3 +14,19 @@
// NVIDIA Specific support
// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device
#define BOOST_GPU_ENABLED __host__ __device__
// A bug in version 7.0 of CUDA prevents use of variadic templates in some occasions
// https://svn.boost.org/trac/boost/ticket/11897
// This is fixed in 7.5. As the following version macro was introduced in 7.5 an existance
// check is enough to detect versions < 7.5
#if !defined(__CUDACC_VER__) || (__CUDACC_VER__ < 70500)
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
#endif
// The same bug is back again in 8.0:
#if (__CUDACC_VER__ > 80000) && (__CUDACC_VER__ < 80100)
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
#endif
// Most recent CUDA (8.0) has no constexpr support in msvc mode:
#if defined(_MSC_VER)
# define BOOST_NO_CXX11_CONSTEXPR
#endif

View File

@@ -37,6 +37,7 @@
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
# define BOOST_NO_CXX11_STATIC_ASSERT
# define BOOST_NO_SFINAE_EXPR
# define BOOST_NO_CXX11_SFINAE_EXPR
# define BOOST_NO_CXX11_SCOPED_ENUMS
# define BOOST_NO_CXX11_RVALUE_REFERENCES
# define BOOST_NO_CXX11_RANGE_BASED_FOR
@@ -82,6 +83,7 @@
# define BOOST_NO_CXX11_INLINE_NAMESPACES
# define BOOST_NO_CXX11_REF_QUALIFIERS
# define BOOST_NO_CXX11_FINAL
# define BOOST_NO_CXX11_THREAD_LOCAL
// C++ 14:
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)

View File

@@ -88,6 +88,7 @@
#define BOOST_NO_CXX11_RVALUE_REFERENCES
#define BOOST_NO_CXX11_SCOPED_ENUMS
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_CXX11_SFINAE_EXPR
#define BOOST_NO_CXX11_STATIC_ASSERT
#define BOOST_NO_SWPRINTF
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
@@ -120,6 +121,7 @@
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#define BOOST_NO_CXX11_THREAD_LOCAL
// C++ 14:
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)

View File

@@ -9,7 +9,7 @@
#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)
#include "boost/config/compiler/common_edg.hpp"
#include <boost/config/compiler/common_edg.hpp>
//
// Threading support:

View File

@@ -86,26 +86,22 @@
# define BOOST_SYMBOL_VISIBLE __global
#endif
//
// Issues that effect all known versions:
//
#if (__SUNPRO_CC < 0x5130)
// C++03 features in 12.4:
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_ADL_BARRIER
#define BOOST_NO_CXX11_VARIADIC_MACROS
#endif
//
// C++0x features
//
# define BOOST_HAS_LONG_LONG
#if (__SUNPRO_CC < 0x5130) || (__cplusplus < 201100)
// C++11 only featuires in 12.4:
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
#define BOOST_NO_CXX11_CHAR16_T
#define BOOST_NO_CXX11_CHAR32_T
#define BOOST_NO_CXX11_CONSTEXPR
#define BOOST_NO_CXX11_DECLTYPE
#define BOOST_NO_CXX11_DECLTYPE_N3276
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
@@ -120,19 +116,32 @@
#define BOOST_NO_CXX11_RAW_LITERALS
#define BOOST_NO_CXX11_RVALUE_REFERENCES
#define BOOST_NO_CXX11_SCOPED_ENUMS
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_CXX11_STATIC_ASSERT
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
#define BOOST_NO_CXX11_UNICODE_LITERALS
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
#define BOOST_NO_CXX11_VARIADIC_MACROS
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
#define BOOST_NO_CXX11_ALIGNAS
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#endif
#if (__SUNPRO_CC < 0x5140) || (__cplusplus < 201103)
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
#define BOOST_NO_CXX11_DECLTYPE_N3276
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
#define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_THREAD_LOCAL
#endif
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
//
// C++0x features
//
# define BOOST_HAS_LONG_LONG
#define BOOST_NO_CXX11_SFINAE_EXPR
// C++ 14:
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
@@ -144,7 +153,7 @@
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
# define BOOST_NO_CXX14_CONSTEXPR
#endif
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) || (__cplusplus < 201402L)
# define BOOST_NO_CXX14_DECLTYPE_AUTO
#endif
#if (__cplusplus < 201304) // There's no SD6 check for this....
@@ -162,6 +171,13 @@
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
#endif
// Turn on threading support for Solaris 12.
// Ticket #11972
#if (__SUNPRO_CC >= 0x5140) && defined(__SunOS_5_12) && !defined(BOOST_HAS_THREADS)
# define BOOST_HAS_THREADS
#endif
//
// Version
//

View File

@@ -114,6 +114,7 @@
# define BOOST_NO_CXX11_SCOPED_ENUMS
#endif
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_CXX11_SFINAE_EXPR
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#if ! __IBMCPP_STATIC_ASSERT
# define BOOST_NO_CXX11_STATIC_ASSERT
@@ -131,6 +132,7 @@
#define BOOST_NO_CXX11_INLINE_NAMESPACES
#define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#define BOOST_NO_CXX11_THREAD_LOCAL
// C++ 14:
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)

View File

@@ -55,6 +55,7 @@
# define BOOST_NO_CXX11_EXTERN_TEMPLATE
// Variadic macros do not exist for VC7.1 and lower
# define BOOST_NO_CXX11_VARIADIC_MACROS
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
#endif
#if _MSC_VER < 1500 // 140X == VC++ 8.0
@@ -67,21 +68,6 @@
#endif
// MSVC (including the latest checked version) has not yet completely
// implemented value-initialization, as is reported:
// "VC++ does not value-initialize members of derived classes without
// user-declared constructor", reported in 2009 by Sylvester Hesp:
// https://connect.microsoft.com/VisualStudio/feedback/details/484295
// "Presence of copy constructor breaks member class initialization",
// reported in 2009 by Alex Vakulenko:
// https://connect.microsoft.com/VisualStudio/feedback/details/499606
// "Value-initialization in new-expression", reported in 2005 by
// Pavel Kuznetsov (MetaCommunications Engineering):
// https://connect.microsoft.com/VisualStudio/feedback/details/100744
// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
// (Niels Dekker, LKEB, May 2010)
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
#ifndef _NATIVE_WCHAR_T_DEFINED
# define BOOST_NO_INTRINSIC_WCHAR_T
#endif
@@ -104,7 +90,7 @@
#if (_MSC_VER >= 1400) && !defined(_DEBUG)
# define BOOST_HAS_NRVO
#endif
#if _MSC_VER >= 1500 // 150X == VC++ 9.0
#if _MSC_VER >= 1600 // 160X == VC++ 10.0
# define BOOST_HAS_PRAGMA_DETECT_MISMATCH
#endif
//
@@ -172,47 +158,85 @@
# define BOOST_NO_CXX11_DECLTYPE_N3276
#endif
// C++11 features supported by VC++ 14 (aka 2014) CTP1
// Because the CTP is unsupported, unrelease, and only alpha quality,
// it is only supported if BOOST_MSVC_ENABLE_2014_JUN_CTP is defined.
#if _MSC_FULL_VER >= 180020827
#define BOOST_HAS_EXPM1
#define BOOST_HAS_LOG1P
#endif
// C++11 features supported by VC++ 14 (aka 2015)
//
#if (_MSC_FULL_VER < 190021730) || !defined(BOOST_MSVC_ENABLE_2014_JUN_CTP)
#if (_MSC_FULL_VER < 190023026)
# define BOOST_NO_CXX11_NOEXCEPT
# define BOOST_NO_CXX11_REF_QUALIFIERS
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
# define BOOST_NO_CXX11_ALIGNAS
# define BOOST_NO_CXX11_INLINE_NAMESPACES
# define BOOST_NO_CXX11_CHAR16_T
# define BOOST_NO_CXX11_CHAR32_T
# define BOOST_NO_CXX11_UNICODE_LITERALS
# define BOOST_NO_CXX14_DECLTYPE_AUTO
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
#endif
// C++11 features not supported by any versions
#define BOOST_NO_CXX11_CHAR16_T
#define BOOST_NO_CXX11_CHAR32_T
#define BOOST_NO_CXX11_CONSTEXPR
#define BOOST_NO_CXX11_UNICODE_LITERALS
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
// C++ 14:
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
#endif
#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
# define BOOST_NO_CXX14_BINARY_LITERALS
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
# define BOOST_NO_CXX11_THREAD_LOCAL
#endif
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
// C++11 features supported by VC++ 14 update 3 (aka 2015)
//
#if (_MSC_FULL_VER < 190024210)
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
# define BOOST_NO_SFINAE_EXPR
# define BOOST_NO_CXX11_CONSTEXPR
#endif
// C++14 features supported by VC++ 14.1 (Visual Studio 2017)
//
#if (_MSC_VER < 1910)
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
# define BOOST_NO_CXX14_CONSTEXPR
#endif
#if (__cplusplus < 201304) // There's no SD6 check for this....
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
// MSVC including version 14 has not yet completely
// implemented value-initialization, as is reported:
// "VC++ does not value-initialize members of derived classes without
// user-declared constructor", reported in 2009 by Sylvester Hesp:
// https://connect.microsoft.com/VisualStudio/feedback/details/484295
// "Presence of copy constructor breaks member class initialization",
// reported in 2009 by Alex Vakulenko:
// https://connect.microsoft.com/VisualStudio/feedback/details/499606
// "Value-initialization in new-expression", reported in 2005 by
// Pavel Kuznetsov (MetaCommunications Engineering):
// https://connect.microsoft.com/VisualStudio/feedback/details/100744
// Reported again by John Maddock in 2015 for VC14:
// https://connect.microsoft.com/VisualStudio/feedback/details/1582233/c-subobjects-still-not-value-initialized-correctly
// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
// (Niels Dekker, LKEB, May 2010)
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
//
// C++ 11:
//
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
#define BOOST_NO_CXX11_SFINAE_EXPR
//
// Things that don't work in clr mode:
//
#ifdef _M_CEE
#ifndef BOOST_NO_CXX11_THREAD_LOCAL
# define BOOST_NO_CXX11_THREAD_LOCAL
#endif
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
#ifndef BOOST_NO_SFINAE_EXPR
# define BOOST_NO_SFINAE_EXPR
#endif
#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
# define BOOST_NO_CXX11_REF_QUALIFIERS
#endif
#endif
#ifdef _M_CEE_PURE
#ifndef BOOST_NO_CXX11_CONSTEXPR
# define BOOST_NO_CXX11_CONSTEXPR
#endif
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
#endif
//
@@ -279,8 +303,10 @@
# define BOOST_COMPILER_VERSION 11.0
# elif _MSC_VER < 1900
# define BOOST_COMPILER_VERSION 12.0
# elif _MSC_VER < 2000
# elif _MSC_VER < 1910
# define BOOST_COMPILER_VERSION 14.0
# elif _MSC_VER < 1920
# define BOOST_COMPILER_VERSION 14.1
# else
# define BOOST_COMPILER_VERSION _MSC_VER
# endif
@@ -290,8 +316,8 @@
#endif
//
// last known and checked version is 19.00.22129 (VC14 CTP4):
#if (_MSC_VER > 1800 && _MSC_FULL_VER > 190022129)
// last known and checked version is 19.10.25017 (VC++ 2017):
#if (_MSC_VER > 1910)
# if defined(BOOST_ASSERT_CONFIG)
# error "Unknown compiler version - please run the configure tests and report the results"
# else

View File

@@ -0,0 +1,262 @@
// (C) Copyright Douglas Gregor 2010
//
// 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 for most recent version.
// compiler setup for IBM XL C/C++ for Linux (Little Endian) based on clang.
#define BOOST_HAS_PRAGMA_ONCE
// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used.
#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))
# define BOOST_HAS_PRAGMA_DETECT_MISMATCH
#endif
// When compiling with clang before __has_extension was defined,
// even if one writes 'defined(__has_extension) && __has_extension(xxx)',
// clang reports a compiler error. So the only workaround found is:
#ifndef __has_extension
#define __has_extension __has_feature
#endif
#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
# define BOOST_NO_EXCEPTIONS
#endif
#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI)
# define BOOST_NO_RTTI
#endif
#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID)
# define BOOST_NO_TYPEID
#endif
#if defined(__int64) && !defined(__GNUC__)
# define BOOST_HAS_MS_INT64
#endif
#define BOOST_HAS_NRVO
// Branch prediction hints
#if defined(__has_builtin)
#if __has_builtin(__builtin_expect)
#define BOOST_LIKELY(x) __builtin_expect(x, 1)
#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
#endif
#endif
// Clang supports "long long" in all compilation modes.
#define BOOST_HAS_LONG_LONG
//
// Dynamic shared object (DSO) and dynamic-link library (DLL) support
//
#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
# define BOOST_SYMBOL_IMPORT
# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
#endif
//
// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
// between switch labels.
//
#if __cplusplus >= 201103L && defined(__has_warning)
# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough")
# define BOOST_FALLTHROUGH [[clang::fallthrough]]
# endif
#endif
#if !__has_feature(cxx_auto_type)
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
#endif
//
// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t
//
#if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)
# define BOOST_NO_CXX11_CHAR16_T
# define BOOST_NO_CXX11_CHAR32_T
#endif
#if !__has_feature(cxx_constexpr)
# define BOOST_NO_CXX11_CONSTEXPR
#endif
#if !__has_feature(cxx_decltype)
# define BOOST_NO_CXX11_DECLTYPE
#endif
#if !__has_feature(cxx_decltype_incomplete_return_types)
# define BOOST_NO_CXX11_DECLTYPE_N3276
#endif
#if !__has_feature(cxx_defaulted_functions)
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
#endif
#if !__has_feature(cxx_deleted_functions)
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
#endif
#if !__has_feature(cxx_explicit_conversions)
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
#endif
#if !__has_feature(cxx_default_function_template_args)
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
#endif
#if !__has_feature(cxx_generalized_initializers)
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
#endif
#if !__has_feature(cxx_lambdas)
# define BOOST_NO_CXX11_LAMBDAS
#endif
#if !__has_feature(cxx_local_type_template_args)
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
#endif
#if !__has_feature(cxx_noexcept)
# define BOOST_NO_CXX11_NOEXCEPT
#endif
#if !__has_feature(cxx_nullptr)
# define BOOST_NO_CXX11_NULLPTR
#endif
#if !__has_feature(cxx_range_for)
# define BOOST_NO_CXX11_RANGE_BASED_FOR
#endif
#if !__has_feature(cxx_raw_string_literals)
# define BOOST_NO_CXX11_RAW_LITERALS
#endif
#if !__has_feature(cxx_reference_qualified_functions)
# define BOOST_NO_CXX11_REF_QUALIFIERS
#endif
#if !__has_feature(cxx_generalized_initializers)
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#endif
#if !__has_feature(cxx_rvalue_references)
# define BOOST_NO_CXX11_RVALUE_REFERENCES
#endif
#if !__has_feature(cxx_strong_enums)
# define BOOST_NO_CXX11_SCOPED_ENUMS
#endif
#if !__has_feature(cxx_static_assert)
# define BOOST_NO_CXX11_STATIC_ASSERT
#endif
#if !__has_feature(cxx_alias_templates)
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
#endif
#if !__has_feature(cxx_unicode_literals)
# define BOOST_NO_CXX11_UNICODE_LITERALS
#endif
#if !__has_feature(cxx_variadic_templates)
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
#endif
#if !__has_feature(cxx_user_literals)
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
#endif
#if !__has_feature(cxx_alignas)
# define BOOST_NO_CXX11_ALIGNAS
#endif
#if !__has_feature(cxx_trailing_return)
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#endif
#if !__has_feature(cxx_inline_namespaces)
# define BOOST_NO_CXX11_INLINE_NAMESPACES
#endif
#if !__has_feature(cxx_override_control)
# define BOOST_NO_CXX11_FINAL
#endif
#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__))
# define BOOST_NO_CXX14_BINARY_LITERALS
#endif
#if !__has_feature(__cxx_decltype_auto__)
# define BOOST_NO_CXX14_DECLTYPE_AUTO
#endif
#if !__has_feature(__cxx_aggregate_nsdmi__)
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
#endif
#if !__has_feature(__cxx_init_captures__)
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
#endif
#if !__has_feature(__cxx_generic_lambdas__)
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
#endif
// clang < 3.5 has a defect with dependent type, like following.
//
// template <class T>
// constexpr typename enable_if<pred<T> >::type foo(T &)
// { } // error: no return statement in constexpr function
//
// This issue also affects C++11 mode, but C++11 constexpr requires return stmt.
// Therefore we don't care such case.
//
// Note that we can't check Clang version directly as the numbering system changes depending who's
// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873)
// so instead verify that we have a feature that was introduced at the same time as working C++14
// constexpr (generic lambda's in this case):
//
#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__)
# define BOOST_NO_CXX14_CONSTEXPR
#endif
#if !__has_feature(__cxx_return_type_deduction__)
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
#endif
#if !__has_feature(__cxx_variable_templates__)
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
#endif
#if !__has_feature(cxx_thread_local)
# define BOOST_NO_CXX11_THREAD_LOCAL
#endif
#if __cplusplus < 201400
// All versions with __cplusplus above this value seem to support this:
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
#endif
// Unused attribute:
#if defined(__GNUC__) && (__GNUC__ >= 4)
# define BOOST_ATTRIBUTE_UNUSED __attribute__((unused))
#endif
#ifndef BOOST_COMPILER
# define BOOST_COMPILER "Clang version " __clang_version__
#endif
// Macro used to identify the Clang compiler.
#define BOOST_CLANG 1

View File

@@ -0,0 +1,18 @@
// Copyright Nuxi, https://nuxi.nl/ 2015.
// 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)
#define BOOST_PLATFORM "CloudABI"
#define BOOST_HAS_DIRENT_H
#define BOOST_HAS_STDINT_H
#define BOOST_HAS_UNISTD_H
#define BOOST_HAS_CLOCK_GETTIME
#define BOOST_HAS_EXPM1
#define BOOST_HAS_GETTIMEOFDAY
#define BOOST_HAS_LOG1P
#define BOOST_HAS_NANOSLEEP
#define BOOST_HAS_PTHREADS
#define BOOST_HAS_SCHED_YIELD

View File

@@ -23,7 +23,7 @@
# define BOOST_HAS_SCHED_YIELD
# define BOOST_HAS_GETTIMEOFDAY
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
# define BOOST_HAS_SIGACTION
//# define BOOST_HAS_SIGACTION
#else
# if !defined(BOOST_HAS_WINTHREADS)
# define BOOST_HAS_WINTHREADS
@@ -51,7 +51,6 @@
#ifdef BOOST_HAS_NL_TYPES_H
# undef BOOST_HAS_NL_TYPES_H
#endif

View File

@@ -0,0 +1,31 @@
// (C) Copyright Jessica Hamilton 2014.
// 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 for most recent version.
// Haiku specific config options:
#define BOOST_PLATFORM "Haiku"
#define BOOST_HAS_UNISTD_H
#define BOOST_HAS_STDINT_H
#ifndef BOOST_DISABLE_THREADS
# define BOOST_HAS_THREADS
#endif
#define BOOST_NO_CXX11_HDR_TYPE_TRAITS
#define BOOST_NO_CXX11_ATOMIC_SMART_PTR
#define BOOST_NO_CXX11_STATIC_ASSERT
#define BOOST_NO_CXX11_VARIADIC_MACROS
//
// thread API's not auto detected:
//
#define BOOST_HAS_SCHED_YIELD
#define BOOST_HAS_GETTIMEOFDAY
// boilerplate code:
#include <boost/config/posix_features.hpp>

View File

@@ -72,7 +72,7 @@
// boilerplate code:
#define BOOST_HAS_UNISTD_H
#include <boost/config/posix_features.hpp>
#ifdef __USE_GNU
#if defined(__USE_GNU) && !defined(__ANDROID__) && !defined(ANDROID)
#define BOOST_HAS_PTHREAD_YIELD
#endif

View File

@@ -47,7 +47,7 @@
# define BOOST_NO_STDC_NAMESPACE
# endif
# if (__GNUC__ == 4)
# if (__GNUC__ >= 4)
// Both gcc and intel require these.
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE

View File

@@ -23,6 +23,9 @@
# undef BOOST_HAS_PTHREADS
#endif
#define BOOST_HAS_STDINT_H
#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
#define BOOST_HAS_LOG1P
#define BOOST_HAS_EXPM1

View File

@@ -74,6 +74,14 @@
# define BOOST_HAS_GETSYSTEMTIMEASFILETIME
#endif
//
// Windows Runtime
//
#if defined(WINAPI_FAMILY) && \
(WINAPI_FAMILY == WINAPI_FAMILY_APP || WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
# define BOOST_NO_ANSI_APIS
#endif
#ifndef BOOST_DISABLE_WIN32
// WEK: Added
#define BOOST_HAS_FTIME

View File

@@ -39,7 +39,7 @@
// Intel
# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
#elif defined __clang__ && !defined(__CUDACC__)
#elif defined __clang__ && !defined(__CUDACC__) && !defined(__ibmxl__)
// when using clang and cuda at same time, you want to appear as gcc
// Clang C++ emulates GCC, so it has to appear early.
# define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp"
@@ -48,7 +48,7 @@
// Digital Mars C++
# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp"
# elif defined __GNUC__
# elif defined(__GNUC__) && !defined(__ibmxl__)
// GNU C++:
# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp"
@@ -92,8 +92,12 @@
// MPW MrCpp or SCpp
# define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp"
#elif defined(__ibmxl__)
// IBM XL C/C++ for Linux (Little Endian)
# define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp.hpp"
#elif defined(__IBMCPP__)
// IBM Visual Age
// IBM Visual Age or IBM XL C/C++ for Linux (Big Endian)
# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp"
#elif defined(__PGI)
@@ -118,27 +122,27 @@
//
// This section allows dependency scanners to find all the headers we *might* include:
//
#include "boost/config/compiler/gcc_xml.hpp"
#include "boost/config/compiler/cray.hpp"
#include "boost/config/compiler/comeau.hpp"
#include "boost/config/compiler/pathscale.hpp"
#include "boost/config/compiler/intel.hpp"
#include "boost/config/compiler/clang.hpp"
#include "boost/config/compiler/digitalmars.hpp"
#include "boost/config/compiler/gcc.hpp"
#include "boost/config/compiler/kai.hpp"
#include "boost/config/compiler/sgi_mipspro.hpp"
#include "boost/config/compiler/compaq_cxx.hpp"
#include "boost/config/compiler/greenhills.hpp"
#include "boost/config/compiler/codegear.hpp"
#include "boost/config/compiler/borland.hpp"
#include "boost/config/compiler/metrowerks.hpp"
#include "boost/config/compiler/sunpro_cc.hpp"
#include "boost/config/compiler/hp_acc.hpp"
#include "boost/config/compiler/mpw.hpp"
#include "boost/config/compiler/vacpp.hpp"
#include "boost/config/compiler/pgi.hpp"
#include "boost/config/compiler/visualc.hpp"
#include <boost/config/compiler/gcc_xml.hpp>
#include <boost/config/compiler/cray.hpp>
#include <boost/config/compiler/comeau.hpp>
#include <boost/config/compiler/pathscale.hpp>
#include <boost/config/compiler/intel.hpp>
#include <boost/config/compiler/clang.hpp>
#include <boost/config/compiler/digitalmars.hpp>
#include <boost/config/compiler/gcc.hpp>
#include <boost/config/compiler/kai.hpp>
#include <boost/config/compiler/sgi_mipspro.hpp>
#include <boost/config/compiler/compaq_cxx.hpp>
#include <boost/config/compiler/greenhills.hpp>
#include <boost/config/compiler/codegear.hpp>
#include <boost/config/compiler/borland.hpp>
#include <boost/config/compiler/metrowerks.hpp>
#include <boost/config/compiler/sunpro_cc.hpp>
#include <boost/config/compiler/hp_acc.hpp>
#include <boost/config/compiler/mpw.hpp>
#include <boost/config/compiler/vacpp.hpp>
#include <boost/config/compiler/pgi.hpp>
#include <boost/config/compiler/visualc.hpp>
#endif

View File

@@ -41,6 +41,10 @@
// win32:
# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp"
#elif defined(__HAIKU__)
// Haiku
# define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp"
#elif defined(__BEOS__)
// BeOS
# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp"
@@ -76,6 +80,10 @@
#elif defined(__VMS)
// VMS:
# define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp"
#elif defined(__CloudABI__)
// Nuxi CloudABI:
# define BOOST_PLATFORM_CONFIG "boost/config/platform/cloudabi.hpp"
#else
# if defined(unix) \

View File

@@ -96,7 +96,7 @@
#include <exception>
#endif
#include <typeinfo>
#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__)
#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__) && !defined(__VISUALDSPVERSION__)
# define BOOST_NO_STD_TYPEINFO
#endif
@@ -147,6 +147,27 @@
# define BOOST_NO_CXX11_STD_ALIGN
#endif
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif (__cplusplus < 201402) && !defined(_MSC_VER)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#elif !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// C++14 features
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
# define BOOST_NO_CXX14_STD_EXCHANGE
#endif
// C++17 features
# define BOOST_NO_CXX17_STD_APPLY
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
# define BOOST_NO_CXX17_STD_INVOKE
#endif
#if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400)
// Intel's compiler can't handle this header yet:
# define BOOST_NO_CXX11_HDR_ATOMIC
@@ -155,7 +176,55 @@
// 520..610 have std::addressof, but it doesn't support functions
//
#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 650
# define BOOST_NO_CXX11_ADDRESSOF
#endif
// Bug specific to VC14,
// See https://connect.microsoft.com/VisualStudio/feedback/details/1348277/link-error-when-using-std-codecvt-utf8-utf16-char16-t
// and discussion here: http://blogs.msdn.com/b/vcblog/archive/2014/11/12/visual-studio-2015-preview-now-available.aspx?PageIndex=2
#if defined(_CPPLIB_VER) && (_CPPLIB_VER == 650)
# define BOOST_NO_CXX11_HDR_CODECVT
#endif
#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 650)
// If _HAS_AUTO_PTR_ETC is defined to 0, std::auto_ptr is not available.
// See https://www.visualstudio.com/en-us/news/vs2015-vs.aspx#C++
// and http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx
# if defined(_HAS_AUTO_PTR_ETC) && (_HAS_AUTO_PTR_ETC == 0)
# define BOOST_NO_AUTO_PTR
# endif
#endif
//
// Things not supported by the CLR:
#ifdef _M_CEE
#ifndef BOOST_NO_CXX11_HDR_MUTEX
# define BOOST_NO_CXX11_HDR_MUTEX
#endif
#ifndef BOOST_NO_CXX11_HDR_ATOMIC
# define BOOST_NO_CXX11_HDR_ATOMIC
#endif
#ifndef BOOST_NO_CXX11_HDR_FUTURE
# define BOOST_NO_CXX11_HDR_FUTURE
#endif
#ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
#endif
#ifndef BOOST_NO_CXX11_HDR_THREAD
# define BOOST_NO_CXX11_HDR_THREAD
#endif
#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#ifndef BOOST_NO_CXX14_STD_EXCHANGE
# define BOOST_NO_CXX14_STD_EXCHANGE
#endif
#ifndef BOOST_NO_FENV_H
# define BOOST_NO_FENV_H
#endif
#endif
#ifdef _CPPLIB_VER
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER

View File

@@ -62,6 +62,23 @@
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// C++14 features
# define BOOST_NO_CXX14_STD_EXCHANGE
// C++17 features
# define BOOST_NO_CXX17_STD_APPLY
# define BOOST_NO_CXX17_STD_INVOKE
//
// Intrinsic type_traits support.
// The SGI STL has it's own __type_traits class, which
@@ -71,5 +88,3 @@
#define BOOST_HAS_SGI_TYPE_TRAITS
#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__)

View File

@@ -32,10 +32,14 @@
#endif
#if __cplusplus < 201103
# define BOOST_NO_CXX11_HDR_ARRAY
//
// These two appear to be somewhat useable in C++03 mode, there may be others...
//
//# define BOOST_NO_CXX11_HDR_ARRAY
//# define BOOST_NO_CXX11_HDR_FORWARD_LIST
# define BOOST_NO_CXX11_HDR_CODECVT
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
# define BOOST_NO_CXX11_HDR_FORWARD_LIST
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
# define BOOST_NO_CXX11_HDR_MUTEX
# define BOOST_NO_CXX11_HDR_RANDOM
@@ -53,18 +57,57 @@
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#endif
# define BOOST_NO_CXX11_HDR_ATOMIC
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
# define BOOST_NO_CXX11_HDR_CHRONO
# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
# define BOOST_NO_CXX11_HDR_FUTURE
#elif _LIBCPP_VERSION < 3700
//
// These appear to be unusable/incomplete so far:
//
# define BOOST_NO_CXX11_HDR_CHRONO
# define BOOST_NO_CXX11_HDR_FUTURE
# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
# define BOOST_NO_CXX11_HDR_ATOMIC
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
# define BOOST_NO_CXX11_HDR_CHRONO
# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
# define BOOST_NO_CXX11_HDR_FUTURE
#endif
#if _LIBCPP_VERSION < 3700
// libc++ uses a non-standard messages_base
#define BOOST_NO_STD_MESSAGES
#endif
// C++14 features
#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L)
# define BOOST_NO_CXX14_STD_EXCHANGE
#endif
// C++17 features
#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L)
# define BOOST_NO_CXX17_STD_INVOKE
#endif
#if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L)
# define BOOST_NO_CXX17_STD_APPLY
#endif
#if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
// This is a bit of a sledgehammer, because really it's just libc++abi that has no
// support for thread_local, leading to linker errors such as
// "undefined reference to `__cxa_thread_atexit'". It is fixed in the
// most recent releases of libc++abi though...
# define BOOST_NO_CXX11_THREAD_LOCAL
#endif
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus <= 201103
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// --- end ---

View File

@@ -36,7 +36,8 @@
|| defined(_GLIBCXX__PTHREADS) \
|| defined(_GLIBCXX_HAS_GTHREADS) \
|| defined(_WIN32) \
|| defined(_AIX)
|| defined(_AIX) \
|| defined(__HAIKU__)
//
// If the std lib has thread support turned on, then turn it on in Boost
// as well. We do this because some gcc-3.4 std lib headers define _REENTANT
@@ -97,10 +98,11 @@
#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103)
# define BOOST_LIBSTDCXX11
#endif
//
// Decide which version of libstdc++ we have, normally
// stdlibc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly
// __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the stdlibc++
// libstdc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly
// __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the libstdc++
// developers. He also commented:
//
// "I'm not sure how useful __GLIBCXX__ is for your purposes, for instance in
@@ -108,7 +110,7 @@
// Although 4.3.0 was released earlier than 4.2.4, it has better C++0x support
// than any release in the 4.2 series."
//
// Another resource for understanding stdlibc++ features is:
// Another resource for understanding libstdc++ features is:
// http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#manual.intro.status.standard.200x
//
// However, using the GCC version number fails when the compiler is clang since this
@@ -121,13 +123,15 @@
//
#ifdef __clang__
#if __has_include(<experimental/any>)
# define BOOST_LIBSTDCXX_VERSION 50000
#if __has_include(<experimental/memory_resource>)
# define BOOST_LIBSTDCXX_VERSION 60100
#elif __has_include(<experimental/any>)
# define BOOST_LIBSTDCXX_VERSION 50100
#elif __has_include(<shared_mutex>)
# define BOOST_LIBSTDCXX_VERSION 40900
#elif __has_include(<ext/cmath>)
# define BOOST_LIBSTDCXX_VERSION 40800
#elif __has_include(<chrono>)
#elif __has_include(<scoped_allocator>)
# define BOOST_LIBSTDCXX_VERSION 40700
#elif __has_include(<typeindex>)
# define BOOST_LIBSTDCXX_VERSION 40600
@@ -138,6 +142,7 @@
#elif __has_include(<array>)
# define BOOST_LIBSTDCXX_VERSION 40300
#endif
//
// GCC 4.8 and 9 add working versions of <atomic> and <regex> respectively.
// However, we have no test for these as the headers were present but broken
@@ -145,10 +150,34 @@
//
#endif
#if defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130) && (__cplusplus >= 201103L)
//
// Oracle Solaris compiler uses it's own verison of libstdc++ but doesn't
// set __GNUC__
//
#if __SUNPRO_CC >= 0x5140
#define BOOST_LIBSTDCXX_VERSION 50100
#else
#define BOOST_LIBSTDCXX_VERSION 40800
#endif
#endif
#if !defined(BOOST_LIBSTDCXX_VERSION)
# define BOOST_LIBSTDCXX_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#endif
// std::auto_ptr isn't provided with _GLIBCXX_DEPRECATED=0 (GCC 4.5 and earlier)
// or _GLIBCXX_USE_DEPRECATED=0 (GCC 4.6 and later).
#if defined(BOOST_LIBSTDCXX11)
# if BOOST_LIBSTDCXX_VERSION < 40600
# if !_GLIBCXX_DEPRECATED
# define BOOST_NO_AUTO_PTR
# endif
# elif !_GLIBCXX_USE_DEPRECATED
# define BOOST_NO_AUTO_PTR
# endif
#endif
// C++0x headers in GCC 4.3.0 and later
//
#if (BOOST_LIBSTDCXX_VERSION < 40300) || !defined(BOOST_LIBSTDCXX11)
@@ -193,7 +222,7 @@
//
#if (BOOST_LIBSTDCXX_VERSION < 40700) || !defined(BOOST_LIBSTDCXX11)
// Note that although <chrono> existed prior to 4.7, "steady_clock" is spelled "monotonic_clock"
// so 4.7.0 is the first truely conforming one.
// so 4.7.0 is the first truly conforming one.
# define BOOST_NO_CXX11_HDR_CHRONO
# define BOOST_NO_CXX11_ALLOCATOR
#endif
@@ -204,23 +233,62 @@
# define BOOST_NO_CXX11_HDR_ATOMIC
# define BOOST_NO_CXX11_HDR_THREAD
#endif
// C++0x features in GCC 4.9.0 and later
//
#if (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11)
// Although <regex> is present and compilable against, the actual implementation is not functional
// even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively.
# define BOOST_NO_CXX11_HDR_REGEX
#endif
#if (BOOST_LIBSTDCXX_VERSION < 40900) || (__cplusplus <= 201103)
# define BOOST_NO_CXX14_STD_EXCHANGE
#endif
#if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7)))
// As of clang-3.6, libstdc++ header <atomic> throws up errors with clang:
# define BOOST_NO_CXX11_HDR_ATOMIC
#endif
// C++0x headers not yet (fully!) implemented
//
// C++0x features in GCC 5.1 and later
//
#if (BOOST_LIBSTDCXX_VERSION < 50100) || !defined(BOOST_LIBSTDCXX11)
# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
# define BOOST_NO_CXX11_HDR_CODECVT
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
# define BOOST_NO_CXX11_STD_ALIGN
#endif
//
// C++17 features in GCC 6.1 and later
//
#if (BOOST_LIBSTDCXX_VERSION < 60100) || (__cplusplus <= 201402L)
# define BOOST_NO_CXX17_STD_INVOKE
#endif
#if (BOOST_LIBSTDCXX_VERSION < 70100) || (__cplusplus <= 201402L)
# define BOOST_NO_CXX17_STD_APPLY
#endif
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus <= 201103
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#elif __cplusplus < 201402 || (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
//
// Headers not present on Solaris with the Oracle compiler:
#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5140)
#define BOOST_NO_CXX11_HDR_FUTURE
#define BOOST_NO_CXX11_HDR_FORWARD_LIST
#define BOOST_NO_CXX11_HDR_ATOMIC
// shared_ptr is present, but is not convertible to bool
// which causes all kinds of problems especially in Boost.Thread
// but probably elsewhere as well.
#define BOOST_NO_CXX11_SMART_PTR
#endif
#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1))
// Headers not always available:
@@ -233,6 +301,9 @@
# ifndef BOOST_NO_CXX11_HDR_THREAD
# define BOOST_NO_CXX11_HDR_THREAD
# endif
# ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
# endif
#endif
#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX)

View File

@@ -51,6 +51,23 @@
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// C++14 features
# define BOOST_NO_CXX14_STD_EXCHANGE
// C++17 features
# define BOOST_NO_CXX17_STD_APPLY
# define BOOST_NO_CXX17_STD_INVOKE
#define BOOST_STDLIB "Modena C++ standard library"

View File

@@ -75,13 +75,21 @@
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// C++14 features
# define BOOST_NO_CXX14_STD_EXCHANGE
// C++17 features
# define BOOST_NO_CXX17_STD_APPLY
# define BOOST_NO_CXX17_STD_INVOKE
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)

View File

@@ -187,3 +187,19 @@
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// C++14 features
# define BOOST_NO_CXX14_STD_EXCHANGE
// C++17 features
# define BOOST_NO_CXX17_STD_APPLY
# define BOOST_NO_CXX17_STD_INVOKE

View File

@@ -145,7 +145,21 @@
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// C++14 features
# define BOOST_NO_CXX14_STD_EXCHANGE
// C++17 features
# define BOOST_NO_CXX17_STD_APPLY
# define BOOST_NO_CXX17_STD_INVOKE
#define BOOST_STDLIB "SGI standard library"

View File

@@ -235,12 +235,21 @@ namespace boost { using std::min; using std::max; }
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// C++14 features
# define BOOST_NO_CXX14_STD_EXCHANGE
// C++17 features
# define BOOST_NO_CXX17_STD_APPLY
# define BOOST_NO_CXX17_STD_INVOKE
#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)

View File

@@ -51,7 +51,21 @@
# define BOOST_NO_CXX11_STD_ALIGN
# define BOOST_NO_CXX11_ADDRESSOF
#if defined(__has_include)
#if !__has_include(<shared_mutex>)
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#elif __cplusplus < 201402
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
#else
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
#endif
// C++14 features
# define BOOST_NO_CXX14_STD_EXCHANGE
// C++17 features
# define BOOST_NO_CXX17_STD_APPLY
# define BOOST_NO_CXX17_STD_INVOKE
#define BOOST_STDLIB "Visual Age default standard library"

View File

@@ -444,10 +444,12 @@ namespace std {
// is defined, in which case it evaluates to return x; Use when you have a return
// statement that can never be reached.
#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION
# define BOOST_UNREACHABLE_RETURN(x) return x;
#else
# define BOOST_UNREACHABLE_RETURN(x)
#ifndef BOOST_UNREACHABLE_RETURN
# ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION
# define BOOST_UNREACHABLE_RETURN(x) return x;
# else
# define BOOST_UNREACHABLE_RETURN(x)
# endif
#endif
// BOOST_DEDUCED_TYPENAME workaround ------------------------------------------//
@@ -501,6 +503,16 @@ namespace boost{
# endif
}
#endif
// same again for __float128:
#if defined(BOOST_HAS_FLOAT128) && defined(__cplusplus)
namespace boost {
# ifdef __GNUC__
__extension__ typedef __float128 float128_type;
# else
typedef __float128 float128_type;
# endif
}
#endif
// BOOST_[APPEND_]EXPLICIT_TEMPLATE_[NON_]TYPE macros --------------------------//
@@ -571,6 +583,25 @@ namespace std{ using ::type_info; }
# define BOOST_GPU_ENABLED
# endif
// BOOST_RESTRICT ---------------------------------------------//
// Macro to use in place of 'restrict' keyword variants
#if !defined(BOOST_RESTRICT)
# if defined(_MSC_VER)
# define BOOST_RESTRICT __restrict
# if !defined(BOOST_NO_RESTRICT_REFERENCES) && (_MSC_FULL_VER < 190023026)
# define BOOST_NO_RESTRICT_REFERENCES
# endif
# elif defined(__GNUC__) && __GNUC__ > 3
// Clang also defines __GNUC__ (as 4)
# define BOOST_RESTRICT __restrict__
# else
# define BOOST_RESTRICT
# if !defined(BOOST_NO_RESTRICT_REFERENCES)
# define BOOST_NO_RESTRICT_REFERENCES
# endif
# endif
#endif
// BOOST_FORCEINLINE ---------------------------------------------//
// Macro to use in place of 'inline' to force a function to be inline
#if !defined(BOOST_FORCEINLINE)
@@ -592,7 +623,7 @@ namespace std{ using ::type_info; }
# elif defined(__GNUC__) && __GNUC__ > 3
// Clang also defines __GNUC__ (as 4)
# if defined(__CUDACC__)
// nvcc doesn't always parse __noinline__,
// nvcc doesn't always parse __noinline__,
// see: https://svn.boost.org/trac/boost/ticket/9392
# define BOOST_NOINLINE __attribute__ ((noinline))
# else
@@ -612,12 +643,22 @@ namespace std{ using ::type_info; }
# define BOOST_NORETURN __declspec(noreturn)
# elif defined(__GNUC__)
# define BOOST_NORETURN __attribute__ ((__noreturn__))
# else
# define BOOST_NO_NORETURN
# define BOOST_NORETURN
# elif defined(__has_attribute) && defined(__SUNPRO_CC)
# if __has_attribute(noreturn)
# define BOOST_NORETURN [[noreturn]]
# endif
# elif defined(__has_cpp_attribute)
# if __has_cpp_attribute(noreturn)
# define BOOST_NORETURN [[noreturn]]
# endif
# endif
#endif
#if !defined(BOOST_NORETURN)
# define BOOST_NO_NORETURN
# define BOOST_NORETURN
#endif
// Branch prediction hints
// These macros are intended to wrap conditional expressions that yield true or false
//

View File

@@ -69,7 +69,7 @@
# endif
#ifdef __QNX__
#if defined(__QNX__) && defined(__EXT_QNX)
// QNX (Dinkumware stdlib) defines these as non-standard names.
// Reflect to the standard names.
@@ -140,7 +140,7 @@ namespace boost
} // namespace boost
#elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS)
#elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS) || defined(__SOLARIS9__) || defined(__NetBSD__)
// FreeBSD and Tru64 have an <inttypes.h> that contains much of what we need.
# include <inttypes.h>
@@ -374,7 +374,7 @@ namespace boost
|| (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \
|| defined(__CYGWIN__) \
|| defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \
|| defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
|| defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(sun)
namespace boost {
using ::intptr_t;
@@ -492,7 +492,7 @@ INT#_C macros if they're not already defined (John Maddock).
// 64-bit types + intmax_t and uintmax_t ----------------------------------//
#ifndef INT64_C
# if defined(BOOST_HAS_LONG_LONG) && \
(defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_LLONG_MAX))
(defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_ULLONG_MAX) || defined(_LLONG_MAX))
# if defined(__hpux)
// HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions
@@ -501,7 +501,8 @@ INT#_C macros if they're not already defined (John Maddock).
# elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || \
(defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || \
(defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) || \
(defined(_LLONG_MAX) && _LLONG_MAX == 18446744073709551615ULL)
(defined(_ULLONG_MAX) && _ULLONG_MAX == 18446744073709551615ULL) || \
(defined(_LLONG_MAX) && _LLONG_MAX == 9223372036854775807LL)
# define INT64_C(value) value##LL
# define UINT64_C(value) value##uLL

View File

@@ -0,0 +1,70 @@
// boost cxx11_char_types.hpp --------------------------------------------------------//
// Copyright Beman Dawes 2011
// Distributed under the Boost Software License, Version 1.0.
// See http://www.boost.org/LICENSE_1_0.txt
//--------------------------------------------------------------------------------------//
// //
// The purpose of this header is to emulate the C++11 char16_t and char32_t //
// character and string types so that they can be used in both C++11 and C++03 //
// programs. //
// //
// The emulation names use char16/char32 rather than char16_t/char32_t to avoid use //
// of names that are keywords in C++11. //
// //
// The emulation names are placed in namespace boost, as is usual for Boost C++11 //
// emulation names such as those in header <boost/cstdint.hpp>. //
// //
// An alternative would would have been to place the C++11 emulation names at global //
// scope, and put the C++11 string types in namespace std. That is the approach taken //
// by Microsoft Visual Studio 2010, but is controversion with some Boost users and //
// developers, and runs counter to usual Boost practice. //
// //
// Thanks to Mathias Gaunard and others for discussions leading to the final form //
// of these typedefs. //
// //
// Boost C++11 C++03 //
// ---------------- -------------- -------------------------------- //
// boost::char16 char16_t uint16_t //
// boost::char32 char32_t uint32_t //
// boost::u16string std::u16string std::basic_string<boost::char16> //
// boost::u32string std::u32string std::basic_string<boost::char32> //
// //
// Uses the typedefs provided by Microsoft Visual C++ 2010 if present //
// //
// Thanks to Mathias Gaunard and others for discussions leading to the final form //
// of these typedefs. //
// //
//--------------------------------------------------------------------------------------//
#if !defined(BOOST_CXX11_CHAR_TYPES_HPP)
# define BOOST_CXX11_CHAR_TYPES_HPP
# include <boost/config.hpp>
# include <boost/cstdint.hpp>
# include <string>
namespace boost
{
# if defined(BOOST_NO_CHAR16_T) && (!defined(_MSC_VER) || _MSC_VER < 1600) // 1600 == VC++10
typedef boost::uint_least16_t char16;
typedef std::basic_string<boost::char16> u16string;
# else
typedef char16_t char16;
typedef std::u16string u16string;
# endif
# if defined(BOOST_NO_CHAR32_T) && (!defined(_MSC_VER) || _MSC_VER < 1600) // 1600 == VC++10
typedef boost::uint_least32_t char32;
typedef std::basic_string<boost::char32> u32string;
# else
typedef char32_t char32;
typedef std::u32string u32string;
# endif
} // namespace boost
#endif // !defined(BOOST_CXX11_CHAR_TYPES_HPP)

View File

@@ -85,6 +85,11 @@
#else
#define __GNUC_PATCHLEVEL___WORKAROUND_GUARD 0
#endif
#ifndef BOOST_GCC
#define BOOST_GCC_WORKAROUND_GUARD 1
#else
#define BOOST_GCC_WORKAROUND_GUARD 0
#endif
#ifndef __IBMCPP__
#define __IBMCPP___WORKAROUND_GUARD 1
#else

View File

@@ -10,16 +10,16 @@
#define BOOST_VERSION_HPP
//
// Caution, this is the only boost header that is guarenteed
// to change with every boost release, including this header
// will cause a recompile every time a new boost version is
// released.
// Caution: this is the only Boost header that is guaranteed
// to change with every Boost release. Including this header
// will cause a recompile every time a new Boost version is
// used.
//
// BOOST_VERSION % 100 is the patch level
// BOOST_VERSION / 100 % 1000 is the minor version
// BOOST_VERSION / 100000 is the major version
#define BOOST_VERSION 105700
#define BOOST_VERSION 106400
//
// 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_57"
#define BOOST_LIB_VERSION "1_64"
#endif

View File

@@ -19,16 +19,16 @@ import ../checks/config : requires ;
local is_unix = [ modules.peek : UNIX ] ;
if $(is_unix)
{
local osname = [ SHELL uname ] ;
lib atomic ;
lib pthread ;
lib rt ;
switch $(osname)
{
case "Sun*" : OTHERFLAGS = "-lpthread -lrt" ;
case "*BSD*" : OTHERFLAGS = "-lpthread" ;
}
}
exe has_atomic_lib : config_info.cpp atomic ;
explicit has_atomic_lib ;
exe has_pthread_lib : config_info.cpp pthread ;
explicit has_pthread_lib ;
exe has_rt_lib : config_info.cpp rt ;
explicit has_rt_lib ;
test-suite config
:
@@ -38,6 +38,9 @@ test-suite config
: #input-files
: #requirements
<threading>multi
[ check-target-builds has_atomic_lib : <source>atomic ]
[ check-target-builds has_pthread_lib : <source>pthread ]
[ check-target-builds has_rt_lib : <source>rt ]
: config_test_threaded
]
[ run config_test.cpp
@@ -45,18 +48,18 @@ test-suite config
: #input-files
: #requirements
<threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static
<target-os>linux:<linkflags>-lpthread
<target-os>linux:<linkflags>-lrt
<toolset>gcc:<linkflags>$(OTHERFLAGS)
[ check-target-builds has_atomic_lib : <source>atomic ]
[ check-target-builds has_pthread_lib : <source>pthread ]
[ check-target-builds has_rt_lib : <source>rt ]
]
[ run config_test.cpp
: #args
: #input-files
: #requirements
<rtti>off
<target-os>linux:<linkflags>-lpthread
<target-os>linux:<linkflags>-lrt
<toolset>gcc:<linkflags>$(OTHERFLAGS)
[ check-target-builds has_atomic_lib : <source>atomic ]
[ check-target-builds has_pthread_lib : <source>pthread ]
[ check-target-builds has_rt_lib : <source>rt ]
: config_test_no_rtti
]
[ run config_test.cpp
@@ -64,9 +67,9 @@ test-suite config
: #input-files
: #requirements
<exception-handling>off
<target-os>linux:<linkflags>-lpthread
<target-os>linux:<linkflags>-lrt
<toolset>gcc:<linkflags>$(OTHERFLAGS)
[ check-target-builds has_atomic_lib : <source>atomic ]
[ check-target-builds has_pthread_lib : <source>pthread ]
[ check-target-builds has_rt_lib : <source>rt ]
: config_test_no_except
]
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ]
@@ -75,7 +78,7 @@ test-suite config
[ run config_info.cpp : : : <test-info>always_show_run_output <exception-handling>off : 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 ../../test/build//boost_test_exec_monitor ]
[ run limits_test.cpp ]
[ run link/main.cpp link//link_test
: #args
: #input-files

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 Mon Oct 13 13:09:12 2014
# This file was automatically generated on Sun Feb 5 19:09:22 2017
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
@@ -37,6 +37,9 @@ test-suite "BOOST_HAS_DIRENT_H" :
test-suite "BOOST_HAS_EXPM1" :
[ run ../has_expm1_pass.cpp ]
[ compile-fail ../has_expm1_fail.cpp ] ;
test-suite "BOOST_HAS_FLOAT128" :
[ run ../has_float128_pass.cpp ]
[ compile-fail ../has_float128_fail.cpp ] ;
test-suite "BOOST_HAS_FTIME" :
[ run ../has_ftime_pass.cpp ]
[ compile-fail ../has_ftime_fail.cpp ] ;
@@ -310,12 +313,18 @@ test-suite "BOOST_NO_CXX11_NUMERIC_LIMITS" :
test-suite "BOOST_NO_CXX11_REF_QUALIFIERS" :
[ run ../no_cxx11_ref_qualifiers_pass.cpp ]
[ compile-fail ../no_cxx11_ref_qualifiers_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_SFINAE_EXPR" :
[ run ../no_cxx11_sfinae_expr_pass.cpp ]
[ compile-fail ../no_cxx11_sfinae_expr_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_SMART_PTR" :
[ run ../no_cxx11_smart_ptr_pass.cpp ]
[ compile-fail ../no_cxx11_smart_ptr_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_STD_ALIGN" :
[ run ../no_cxx11_std_align_pass.cpp ]
[ compile-fail ../no_cxx11_std_align_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_THREAD_LOCAL" :
[ run ../no_cxx11_thread_local_pass.cpp ]
[ compile-fail ../no_cxx11_thread_local_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_TRAILING_RESULT_TYPES" :
[ run ../no_cxx11_trailing_result_types_pass.cpp ]
[ compile-fail ../no_cxx11_trailing_result_types_fail.cpp ] ;
@@ -331,12 +340,15 @@ test-suite "BOOST_NO_CXX14_CONSTEXPR" :
test-suite "BOOST_NO_CXX14_DECLTYPE_AUTO" :
[ run ../no_cxx14_decltype_auto_pass.cpp ]
[ compile-fail ../no_cxx14_decltype_auto_fail.cpp ] ;
test-suite "BOOST_NO_CXX14_DIGIT_SEPARATOR" :
test-suite "BOOST_NO_CXX14_DIGIT_SEPARATORS" :
[ run ../no_cxx14_digit_separator_pass.cpp ]
[ compile-fail ../no_cxx14_digit_separator_fail.cpp ] ;
test-suite "BOOST_NO_CXX14_GENERIC_LAMBDAS" :
[ run ../no_cxx14_generic_lambda_pass.cpp ]
[ compile-fail ../no_cxx14_generic_lambda_fail.cpp ] ;
test-suite "BOOST_NO_CXX14_HDR_SHARED_MUTEX" :
[ run ../no_cxx14_hdr_shared_mutex_pass.cpp ]
[ compile-fail ../no_cxx14_hdr_shared_mutex_fail.cpp ] ;
test-suite "BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES" :
[ run ../no_cxx14_lambda_capture_pass.cpp ]
[ compile-fail ../no_cxx14_lambda_capture_fail.cpp ] ;
@@ -346,9 +358,18 @@ test-suite "BOOST_NO_CXX14_AGGREGATE_NSDMI" :
test-suite "BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION" :
[ run ../no_cxx14_return_type_ded_pass.cpp ]
[ compile-fail ../no_cxx14_return_type_ded_fail.cpp ] ;
test-suite "BOOST_NO_CXX14_STD_EXCHANGE" :
[ run ../no_cxx14_std_exchange_pass.cpp ]
[ compile-fail ../no_cxx14_std_exchange_fail.cpp ] ;
test-suite "BOOST_NO_CXX14_VARIABLE_TEMPLATES" :
[ run ../no_cxx14_var_templ_pass.cpp ]
[ compile-fail ../no_cxx14_var_templ_fail.cpp ] ;
test-suite "BOOST_NO_CXX17_STD_APPLY" :
[ run ../no_cxx17_std_apply_pass.cpp ]
[ compile-fail ../no_cxx17_std_apply_fail.cpp ] ;
test-suite "BOOST_NO_CXX17_STD_INVOKE" :
[ run ../no_cxx17_std_invoke_pass.cpp ]
[ compile-fail ../no_cxx17_std_invoke_fail.cpp ] ;
test-suite "BOOST_NO_CXX11_HDR_FUNCTIONAL" :
[ run ../no_cxx_hdr_functional_pass.cpp ]
[ compile-fail ../no_cxx_hdr_functional_fail.cpp ] ;
@@ -484,6 +505,9 @@ test-suite "BOOST_NO_CXX11_RANGE_BASED_FOR" :
test-suite "BOOST_NO_CXX11_RAW_LITERALS" :
[ run ../no_raw_literals_pass.cpp ]
[ compile-fail ../no_raw_literals_fail.cpp ] ;
test-suite "BOOST_NO_RESTRICT_REFERENCES" :
[ run ../no_restrict_references_pass.cpp ]
[ compile-fail ../no_restrict_references_fail.cpp ] ;
test-suite "BOOST_NO_UNREACHABLE_RETURN_DETECTION" :
[ run ../no_ret_det_pass.cpp ]
[ compile-fail ../no_ret_det_fail.cpp ] ;

View File

@@ -0,0 +1,29 @@
// (C) Copyright John Maddock 2012.
// 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 most recent version.
// MACRO: BOOST_HAS_FLOAT128
// TITLE: __float128
// DESCRIPTION: The platform supports __float128.
#include <cstdlib>
namespace boost_has_float128{
int test()
{
#ifdef __GNUC__
__extension__ __float128 big_float = 0.0Q;
#else
__float128 big_float = 0.0Q;
#endif
(void)&big_float;
return 0;
}
}

View File

@@ -32,14 +32,53 @@ private:
template<int> struct X { };
#if __cplusplus < 201400L
// Some C++14 compilers reject this (clang), some C++11 compilers reject "constexpr const" (GCC-4.6)
constexpr A a = 42;
#else
constexpr const A a = 42;
#endif
X<a> xx; // OK: unique conversion to int
// virtual function
struct B
{
virtual void vf() {}
};
struct C : B
{
constexpr C() {}
};
// aggregate initialization
struct D
{
int val[2];
constexpr D() : val() {}
};
// virtual base
struct E
{
};
struct F : virtual E
{
};
constexpr F& f(F& out) { return out; }
int test()
{
int i = square(5);
quiet_warning(i);
switch (i)
{
case a:
break;
}
return 0;
}

View File

@@ -29,7 +29,7 @@ int test()
std::atomic<int> a1;
std::atomic<unsigned> a2;
std::atomic<void*> a3;
std::atomic<int*> a3;
a1.is_lock_free();
a1.store(1);
a1.load();

View File

@@ -11,6 +11,7 @@
// DESCRIPTION: The standard library does not supply C++0x header <codecvt>
#include <codecvt>
#include <locale> // for wstring_convert
namespace boost_no_cxx11_hdr_codecvt {
@@ -19,6 +20,9 @@ int test()
using std::codecvt_utf8;
using std::codecvt_utf16;
using std::codecvt_utf8_utf16;
#ifndef BOOST_NO_CXX11_CHAR16_T
std::wstring_convert<std::codecvt_utf8<char16_t>, char16_t> test;
#endif
return 0;
}

View File

@@ -0,0 +1,46 @@
/*
Copyright 2017 Glen Joseph Fernandes
(glenjofe@gmail.com)
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_CXX11_SFINAE_EXPR
// TITLE: C++11 SFINAE for expressions
// DESCRIPTION: C++11 SFINAE for expressions not supported.
namespace boost_no_cxx11_sfinae_expr {
template<class>
struct ignore {
typedef void type;
};
template<class T>
T& object();
template<class T, class E = void>
struct trait {
static const int value = 0;
};
template<class T>
struct trait<T, typename ignore<decltype(&object<T>())>::type> { };
template<class T>
struct result {
static const int value = T::value;
};
class type {
void operator&() const { }
};
int test()
{
return result<trait<type> >::value;
}
} /* boost_no_cxx11_sfinae_expr */

View File

@@ -0,0 +1,24 @@
// (C) Copyright John Maddock 2012.
// 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 most recent version.
// MACRO: BOOST_NO_CXX11_THREAD_LOCAL
// TITLE: thread_local
// DESCRIPTION: The compiler supports the thread_local storage specifier.
#include <string>
namespace boost_no_cxx11_thread_local{
int test()
{
static thread_local std::string local("hello");
return 0;
}
}

View File

@@ -1,5 +1,5 @@
// (C) Copyright Kohei Takahashi 2014
// (C) Copyright Kohei Takahashi 2014,2016
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
@@ -17,6 +17,15 @@ namespace boost_no_cxx14_constexpr
namespace detail
{
template <class> struct void_ { typedef void type; };
struct non_tmpl
{
constexpr int foo() const { return 1; }
constexpr int foo() { return 0; }
};
template <typename T>
struct tmpl : non_tmpl { };
}
// Test relaxed constexpr with dependent type; for more details, see comment of
@@ -27,6 +36,17 @@ constexpr typename detail::void_<T>::type decrement(T &value)
--value;
}
constexpr int non_cv_member(detail::non_tmpl x)
{
return x.foo();
}
template <typename T>
constexpr int non_cv_member(detail::tmpl<T> x)
{
return x.foo();
}
constexpr int zero()
{
int ret = 1;
@@ -34,9 +54,18 @@ constexpr int zero()
return ret;
}
template <int v> struct compile_time_value
{
static constexpr int value = v;
};
int test()
{
return zero();
return compile_time_value<
zero()
+ non_cv_member(detail::non_tmpl())
+ non_cv_member(detail::tmpl<int>())
>::value;
}
}

View File

@@ -11,7 +11,7 @@
// TITLE: C++14 digit separator unavailable
// DESCRIPTION: The compiler does not support C++14 digit separator
namespace boost_no_cxx14_digit_separator
namespace boost_no_cxx14_digit_separators
{
int test()

View File

@@ -0,0 +1,27 @@
// (C) Copyright Edward Diener 2015
// 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_CXX14_HDR_SHARED_MUTEX
// TITLE: C++0y header <shared_mutex> unavailable
// DESCRIPTION: The standard library does not supply C++0y header <shared_mutex>
#include <shared_mutex>
namespace boost_no_cxx14_hdr_shared_mutex {
int test()
{
//
// We should probably test __cpp_lib_shared_timed_mutex here, but since neither
// MSVC/Dinkumware, nor clang/libc++ bother to set it (as of July 2015), there's
// not much point....
using std::shared_timed_mutex;
return 0;
}
}

View File

@@ -0,0 +1,23 @@
// (C) Copyright Oliver Kowalke 2016.
// 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 most recent version.
// MACRO: BOOST_NO_CXX14_STD_EXCHANGE
// TITLE: apply
// DESCRIPTION: The compiler supports the std::exchange() function.
#include <utility>
namespace boost_no_cxx14_std_exchange {
int test() {
int * i = new int( 1);
int * j = std::exchange( i, nullptr);
delete j;
return 0;
}
}

View File

@@ -0,0 +1,28 @@
// (C) Copyright Oliver Kowalke 2016.
// 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 most recent version.
// MACRO: BOOST_NO_CXX17_STD_APPLY
// TITLE: apply
// DESCRIPTION: The compiler supports the std::apply() function.
#include <functional>
#include <tuple>
namespace boost_no_cxx17_std_apply {
int foo( int i, int j) {
return i + j;
}
int test() {
int i = 1, j = 2;
std::apply( foo, std::make_tuple( i, j) );
return 0;
}
}

View File

@@ -0,0 +1,27 @@
// (C) Copyright Oliver Kowalke 2016.
// 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 most recent version.
// MACRO: BOOST_NO_CXX17_STD_INVOKE
// TITLE: invoke
// DESCRIPTION: The compiler supports the std::invoke() function.
#include <functional>
namespace boost_no_cxx17_std_invoke {
int foo( int i, int j) {
return i + j;
}
int test() {
int i = 1, j = 2;
std::invoke( foo, i, j);
return 0;
}
}

View File

@@ -0,0 +1,47 @@
// (C) Copyright Beman Dawes 2009
// 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_RESTRICT_REFERENCES
// TITLE: We cannot apply BOOST_RESTRICT to a reference type.
// DESCRIPTION: We cannot apply BOOST_RESTRICT to a reference type
#include <boost/config.hpp>
namespace boost_no_restrict_references {
#ifdef _MSC_VER
#pragma warning(error:4227)
#endif
void sum2(int (& BOOST_RESTRICT a)[4], int (& BOOST_RESTRICT b)[4], int (&c)[4], int (&d)[4]) {
int i;
for (i = 0; i < 4; i++) {
a[i] = b[i] + c[i];
c[i] = b[i] + d[i];
}
}
int test()
{
int a[4] = { 1, 2, 3, 4 };
int b[4] = { 3, 4, 5, 6 };
int c[4] = { 0, 1, 3, 5 };
int d[4] = { 2, 4, 6, 8 };
sum2(a, b, c, d);
return 0;
}
#ifdef _MSC_VER
#pragma warning(default:4227)
#endif
}

View File

@@ -12,7 +12,7 @@
// compilers insist on it, while other issue a
// bunch of warnings if it is in fact present.
#if defined( BOOST_NO_EXCEPTIONS ) && !defined( _MSC_VER )
#if defined( BOOST_NO_EXCEPTIONS )
# include <stdlib.h>
#endif
@@ -20,7 +20,7 @@ namespace boost_no_unreachable_return_detection{
int checker()
{
#if defined( BOOST_NO_EXCEPTIONS ) && !defined( _MSC_VER )
#if defined( BOOST_NO_EXCEPTIONS ) && (!defined( _MSC_VER ) || defined(__clang__))
abort();
#else
throw 0;

View File

@@ -330,6 +330,13 @@ void print_compiler_macros()
PRINT_MACRO(_NTO_VERSION);
PRINT_MACRO(__OPEN64__);
PRINT_MACRO(__open64);
PRINT_MACRO(__NVCC__);
PRINT_MACRO(__CUDACC__);
PRINT_MACRO(__CUDACC_RDC__);
PRINT_MACRO(__CUDACC_VER_MAJOR__);
PRINT_MACRO(__CUDACC_VER_MINOR__);
PRINT_MACRO(__CUDACC_VER_BUILD__);
PRINT_MACRO(__CUDACC_VER__);
}
void print_stdlib_macros()
@@ -937,6 +944,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_HAS_CLOCK_GETTIME);
PRINT_MACRO(BOOST_HAS_DIRENT_H);
PRINT_MACRO(BOOST_HAS_EXPM1);
PRINT_MACRO(BOOST_HAS_FLOAT128);
PRINT_MACRO(BOOST_HAS_FTIME);
PRINT_MACRO(BOOST_HAS_GETSYSTEMTIMEASFILETIME);
PRINT_MACRO(BOOST_HAS_GETTIMEOFDAY);
@@ -1045,10 +1053,12 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX11_REF_QUALIFIERS);
PRINT_MACRO(BOOST_NO_CXX11_RVALUE_REFERENCES);
PRINT_MACRO(BOOST_NO_CXX11_SCOPED_ENUMS);
PRINT_MACRO(BOOST_NO_CXX11_SFINAE_EXPR);
PRINT_MACRO(BOOST_NO_CXX11_SMART_PTR);
PRINT_MACRO(BOOST_NO_CXX11_STATIC_ASSERT);
PRINT_MACRO(BOOST_NO_CXX11_STD_ALIGN);
PRINT_MACRO(BOOST_NO_CXX11_TEMPLATE_ALIASES);
PRINT_MACRO(BOOST_NO_CXX11_THREAD_LOCAL);
PRINT_MACRO(BOOST_NO_CXX11_TRAILING_RESULT_TYPES);
PRINT_MACRO(BOOST_NO_CXX11_UNICODE_LITERALS);
PRINT_MACRO(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX);
@@ -1061,9 +1071,13 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_CXX14_DECLTYPE_AUTO);
PRINT_MACRO(BOOST_NO_CXX14_DIGIT_SEPARATORS);
PRINT_MACRO(BOOST_NO_CXX14_GENERIC_LAMBDAS);
PRINT_MACRO(BOOST_NO_CXX14_HDR_SHARED_MUTEX);
PRINT_MACRO(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES);
PRINT_MACRO(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION);
PRINT_MACRO(BOOST_NO_CXX14_STD_EXCHANGE);
PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES);
PRINT_MACRO(BOOST_NO_CXX17_STD_APPLY);
PRINT_MACRO(BOOST_NO_CXX17_STD_INVOKE);
PRINT_MACRO(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS);
PRINT_MACRO(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS);
PRINT_MACRO(BOOST_NO_EXCEPTIONS);
@@ -1093,6 +1107,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_CONST);
PRINT_MACRO(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS);
PRINT_MACRO(BOOST_NO_PRIVATE_IN_AGGREGATE);
PRINT_MACRO(BOOST_NO_RESTRICT_REFERENCES);
PRINT_MACRO(BOOST_NO_RTTI);
PRINT_MACRO(BOOST_NO_SFINAE);
PRINT_MACRO(BOOST_NO_SFINAE_EXPR);
@@ -1123,6 +1138,21 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_USING_TEMPLATE);
PRINT_MACRO(BOOST_NO_VOID_RETURNS);
// END GENERATED BLOCK
PRINT_MACRO(BOOST_INTEL);

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Mon Oct 13 13:09:12 2014
// This file was automatically generated on Sun Feb 5 19:09:22 2017
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@@ -242,6 +242,11 @@ namespace boost_no_cxx11_numeric_limits = empty_boost;
#else
namespace boost_no_cxx11_ref_qualifiers = empty_boost;
#endif
#ifndef BOOST_NO_CXX11_SFINAE_EXPR
#include "boost_no_cxx11_sfinae_expr.ipp"
#else
namespace boost_no_cxx11_sfinae_expr = empty_boost;
#endif
#ifndef BOOST_NO_CXX11_SMART_PTR
#include "boost_no_cxx11_smart_ptr.ipp"
#else
@@ -252,6 +257,11 @@ namespace boost_no_cxx11_smart_ptr = empty_boost;
#else
namespace boost_no_cxx11_std_align = empty_boost;
#endif
#ifndef BOOST_NO_CXX11_THREAD_LOCAL
#include "boost_no_cxx11_thread_local.ipp"
#else
namespace boost_no_cxx11_thread_local = empty_boost;
#endif
#ifndef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#include "boost_no_cxx11_trailing_result_types.ipp"
#else
@@ -280,13 +290,18 @@ namespace boost_no_cxx14_decltype_auto = empty_boost;
#ifndef BOOST_NO_CXX14_DIGIT_SEPARATORS
#include "boost_no_cxx14_digit_separator.ipp"
#else
namespace boost_no_cxx14_digit_separator = empty_boost;
namespace boost_no_cxx14_digit_separators = empty_boost;
#endif
#ifndef BOOST_NO_CXX14_GENERIC_LAMBDAS
#include "boost_no_cxx14_generic_lambda.ipp"
#else
namespace boost_no_cxx14_generic_lambdas = empty_boost;
#endif
#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX
#include "boost_no_cxx14_hdr_shared_mutex.ipp"
#else
namespace boost_no_cxx14_hdr_shared_mutex = empty_boost;
#endif
#ifndef BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
#include "boost_no_cxx14_lambda_capture.ipp"
#else
@@ -302,11 +317,26 @@ namespace boost_no_cxx14_aggregate_nsdmi = empty_boost;
#else
namespace boost_no_cxx14_return_type_deduction = empty_boost;
#endif
#ifndef BOOST_NO_CXX14_STD_EXCHANGE
#include "boost_no_cxx14_std_exchange.ipp"
#else
namespace boost_no_cxx14_std_exchange = empty_boost;
#endif
#ifndef BOOST_NO_CXX14_VARIABLE_TEMPLATES
#include "boost_no_cxx14_var_templ.ipp"
#else
namespace boost_no_cxx14_variable_templates = empty_boost;
#endif
#ifndef BOOST_NO_CXX17_STD_APPLY
#include "boost_no_cxx17_std_apply.ipp"
#else
namespace boost_no_cxx17_std_apply = empty_boost;
#endif
#ifndef BOOST_NO_CXX17_STD_INVOKE
#include "boost_no_cxx17_std_invoke.ipp"
#else
namespace boost_no_cxx17_std_invoke = empty_boost;
#endif
#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL
#include "boost_no_cxx_hdr_functional.ipp"
#else
@@ -532,6 +562,11 @@ namespace boost_no_cxx11_range_based_for = empty_boost;
#else
namespace boost_no_cxx11_raw_literals = empty_boost;
#endif
#ifndef BOOST_NO_RESTRICT_REFERENCES
#include "boost_no_restrict_references.ipp"
#else
namespace boost_no_restrict_references = empty_boost;
#endif
#ifndef BOOST_NO_UNREACHABLE_RETURN_DETECTION
#include "boost_no_ret_det.ipp"
#else
@@ -748,6 +783,11 @@ namespace boost_has_dirent_h = empty_boost;
#else
namespace boost_has_expm1 = empty_boost;
#endif
#ifdef BOOST_HAS_FLOAT128
#include "boost_has_float128.ipp"
#else
namespace boost_has_float128 = empty_boost;
#endif
#ifdef BOOST_HAS_FTIME
#include "boost_has_ftime.ipp"
#else
@@ -1011,6 +1051,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_HAS_EXPM1 at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_has_float128::test())
{
std::cerr << "Failed test for BOOST_HAS_FLOAT128 at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_has_ftime::test())
{
std::cerr << "Failed test for BOOST_HAS_FTIME at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1466,6 +1511,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CXX11_REF_QUALIFIERS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx11_sfinae_expr::test())
{
std::cerr << "Failed test for BOOST_NO_CXX11_SFINAE_EXPR at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx11_smart_ptr::test())
{
std::cerr << "Failed test for BOOST_NO_CXX11_SMART_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1476,6 +1526,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CXX11_STD_ALIGN at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx11_thread_local::test())
{
std::cerr << "Failed test for BOOST_NO_CXX11_THREAD_LOCAL at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx11_trailing_result_types::test())
{
std::cerr << "Failed test for BOOST_NO_CXX11_TRAILING_RESULT_TYPES at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1501,7 +1556,7 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CXX14_DECLTYPE_AUTO at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx14_digit_separator::test())
if(0 != boost_no_cxx14_digit_separators::test())
{
std::cerr << "Failed test for BOOST_NO_CXX14_DIGIT_SEPARATORS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
@@ -1511,6 +1566,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CXX14_GENERIC_LAMBDAS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx14_hdr_shared_mutex::test())
{
std::cerr << "Failed test for BOOST_NO_CXX14_HDR_SHARED_MUTEX at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx14_initialized_lambda_captures::test())
{
std::cerr << "Failed test for BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1526,11 +1586,26 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx14_std_exchange::test())
{
std::cerr << "Failed test for BOOST_NO_CXX14_STD_EXCHANGE at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx14_variable_templates::test())
{
std::cerr << "Failed test for BOOST_NO_CXX14_VARIABLE_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx17_std_apply::test())
{
std::cerr << "Failed test for BOOST_NO_CXX17_STD_APPLY at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx17_std_invoke::test())
{
std::cerr << "Failed test for BOOST_NO_CXX17_STD_INVOKE at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_cxx11_hdr_functional::test())
{
std::cerr << "Failed test for BOOST_NO_CXX11_HDR_FUNCTIONAL at: " << __FILE__ << ":" << __LINE__ << std::endl;
@@ -1756,6 +1831,11 @@ int main( int, char *[] )
std::cerr << "Failed test for BOOST_NO_CXX11_RAW_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_restrict_references::test())
{
std::cerr << "Failed test for BOOST_NO_RESTRICT_REFERENCES at: " << __FILE__ << ":" << __LINE__ << std::endl;
++error_count;
}
if(0 != boost_no_unreachable_return_detection::test())
{
std::cerr << "Failed test for BOOST_NO_UNREACHABLE_RETURN_DETECTION at: " << __FILE__ << ":" << __LINE__ << std::endl;

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Thu Aug 13 16:29:35 2015
// 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_HAS_FLOAT128
// This file should not compile, if it does then
// BOOST_HAS_FLOAT128 should be defined.
// See file boost_has_float128.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_HAS_FLOAT128
#include "boost_has_float128.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_has_float128::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Thu Aug 13 16:29:35 2015
// 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_HAS_FLOAT128
// This file should compile, if it does not then
// BOOST_HAS_FLOAT128 should not be defined.
// See file boost_has_float128.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_HAS_FLOAT128
#include "boost_has_float128.ipp"
#else
namespace boost_has_float128 = empty_boost;
#endif
int main( int, char *[] )
{
return boost_has_float128::test();
}

View File

@@ -9,8 +9,8 @@
*/
#include <boost/limits.hpp>
#define BOOST_INCLUDE_MAIN
#include <boost/test/test_tools.hpp>
#include <boost/detail/lightweight_main.hpp>
#include <boost/core/lightweight_test.hpp>
#include <iostream>
/*
@@ -82,10 +82,10 @@ void test_integral_limits(const T &, const char * msg)
<< ", max: " << make_char_numeric_for_streaming((lim::max)())
<< std::endl;
BOOST_CHECK(static_cast<bool>(lim::is_specialized));
BOOST_CHECK(static_cast<bool>(lim::is_integer));
// BOOST_CHECK(lim::is_modulo);
BOOST_CHECK(static_cast<bool>((lim::min)() < (lim::max)()));
BOOST_TEST(static_cast<bool>(lim::is_specialized));
BOOST_TEST(static_cast<bool>(lim::is_integer));
// BOOST_TEST(lim::is_modulo);
BOOST_TEST(static_cast<bool>((lim::min)() < (lim::max)()));
}
template <class T>
@@ -107,10 +107,10 @@ void test_float_limits(const T &, const char * msg)
std::cout << "\nTesting " << msg << std::endl;
typedef std::numeric_limits<T> lim;
BOOST_CHECK(static_cast<bool>(lim::is_specialized));
BOOST_CHECK(static_cast<bool>(!lim::is_modulo));
BOOST_CHECK(static_cast<bool>(!lim::is_integer));
BOOST_CHECK(static_cast<bool>(lim::is_signed));
BOOST_TEST(static_cast<bool>(lim::is_specialized));
BOOST_TEST(static_cast<bool>(!lim::is_modulo));
BOOST_TEST(static_cast<bool>(!lim::is_integer));
BOOST_TEST(static_cast<bool>(lim::is_signed));
const T infinity = lim::infinity();
const T qnan = lim::quiet_NaN();
@@ -127,15 +127,15 @@ void test_float_limits(const T &, const char * msg)
print_hex_val(qnan, "qnan");
print_hex_val(snan, "snan");
BOOST_CHECK((lim::max)() > 1000);
BOOST_CHECK((lim::min)() > 0);
BOOST_CHECK((lim::min)() < 0.001);
BOOST_CHECK(lim::epsilon() > 0);
BOOST_TEST((lim::max)() > 1000);
BOOST_TEST((lim::min)() > 0);
BOOST_TEST((lim::min)() < 0.001);
BOOST_TEST(lim::epsilon() > 0);
if(lim::is_iec559) {
BOOST_CHECK(static_cast<bool>(lim::has_infinity));
BOOST_CHECK(static_cast<bool>(lim::has_quiet_NaN));
BOOST_CHECK(static_cast<bool>(lim::has_signaling_NaN));
BOOST_TEST(static_cast<bool>(lim::has_infinity));
BOOST_TEST(static_cast<bool>(lim::has_quiet_NaN));
BOOST_TEST(static_cast<bool>(lim::has_signaling_NaN));
} else {
std::cout << "Does not claim IEEE conformance" << std::endl;
}
@@ -143,8 +143,8 @@ void test_float_limits(const T &, const char * msg)
if(lim::has_infinity) {
// Make sure those values are not 0 or similar nonsense.
// Infinity must compare as if larger than the maximum representable value.
BOOST_CHECK(infinity > (lim::max)());
BOOST_CHECK(-infinity < -(lim::max)());
BOOST_TEST(infinity > (lim::max)());
BOOST_TEST(-infinity < -(lim::max)());
} else {
std::cout << "Does not have infinity" << std::endl;
}
@@ -153,26 +153,26 @@ void test_float_limits(const T &, const char * msg)
// NaNs shall always compare "false" when compared for equality
// If one of these fail, your compiler may be optimizing incorrectly,
// or the standard library is incorrectly configured.
BOOST_CHECK(! (qnan == 42));
BOOST_CHECK(qnan != 42);
BOOST_TEST(! (qnan == 42));
BOOST_TEST(qnan != 42);
if(lim::is_iec559)
{
BOOST_CHECK(! (qnan == qnan));
BOOST_CHECK(qnan != qnan);
BOOST_TEST(! (qnan == qnan));
BOOST_TEST(qnan != qnan);
}
// The following tests may cause arithmetic traps.
// BOOST_CHECK(! (qnan < 42));
// BOOST_CHECK(! (qnan > 42));
// BOOST_CHECK(! (qnan <= 42));
// BOOST_CHECK(! (qnan >= 42));
// BOOST_TEST(! (qnan < 42));
// BOOST_TEST(! (qnan > 42));
// BOOST_TEST(! (qnan <= 42));
// BOOST_TEST(! (qnan >= 42));
} else {
std::cout << "Does not have QNaN" << std::endl;
}
}
int test_main(int, char*[])
int cpp_main(int, char*[])
{
test_integral_limits(bool(), "bool");
test_integral_limits(char(), "char");

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Sat Feb 4 00:49:07 2017
// 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_SFINAE_EXPR
// This file should not compile, if it does then
// BOOST_NO_CXX11_SFINAE_EXPR should not be defined.
// See file boost_no_cxx11_sfinae_expr.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_SFINAE_EXPR
#include "boost_no_cxx11_sfinae_expr.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_cxx11_sfinae_expr::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Sat Feb 4 00:49:07 2017
// 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_SFINAE_EXPR
// This file should compile, if it does not then
// BOOST_NO_CXX11_SFINAE_EXPR should be defined.
// See file boost_no_cxx11_sfinae_expr.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_SFINAE_EXPR
#include "boost_no_cxx11_sfinae_expr.ipp"
#else
namespace boost_no_cxx11_sfinae_expr = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_cxx11_sfinae_expr::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Fri Jul 1 18:47:25 2016
// 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_THREAD_LOCAL
// This file should not compile, if it does then
// BOOST_NO_CXX11_THREAD_LOCAL should not be defined.
// See file boost_no_cxx11_thread_local.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_THREAD_LOCAL
#include "boost_no_cxx11_thread_local.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_cxx11_thread_local::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Fri Jul 1 18:47:25 2016
// 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_THREAD_LOCAL
// This file should compile, if it does not then
// BOOST_NO_CXX11_THREAD_LOCAL should be defined.
// See file boost_no_cxx11_thread_local.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_THREAD_LOCAL
#include "boost_no_cxx11_thread_local.ipp"
#else
namespace boost_no_cxx11_thread_local = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_cxx11_thread_local::test();
}

View File

@@ -32,6 +32,6 @@
int main( int, char *[] )
{
return boost_no_cxx14_digit_separator::test();
return boost_no_cxx14_digit_separators::test();
}

View File

@@ -27,11 +27,11 @@
#ifndef BOOST_NO_CXX14_DIGIT_SEPARATORS
#include "boost_no_cxx14_digit_separator.ipp"
#else
namespace boost_no_cxx14_digit_separator = empty_boost;
namespace boost_no_cxx14_digit_separators = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_cxx14_digit_separator::test();
return boost_no_cxx14_digit_separators::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Fri Jun 26 21:47:59 2015
// 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_CXX14_HDR_SHARED_MUTEX
// This file should not compile, if it does then
// BOOST_NO_CXX14_HDR_SHARED_MUTEX should not be defined.
// See file boost_no_cxx14_hdr_shared_mutex.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_CXX14_HDR_SHARED_MUTEX
#include "boost_no_cxx14_hdr_shared_mutex.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_cxx14_hdr_shared_mutex::test();
}

Some files were not shown because too many files have changed in this diff Show More