mirror of
https://github.com/boostorg/config.git
synced 2026-03-09 15:30:52 +01:00
Compare commits
269 Commits
boost-1.56
...
boost-1.62
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
606cc77268 | ||
|
|
7d7c25bb26 | ||
|
|
64780152fa | ||
|
|
a5f23185bd | ||
|
|
d4a4885ed9 | ||
|
|
a094c078ad | ||
|
|
b457022699 | ||
|
|
c4de2d0013 | ||
|
|
a9e325b2e0 | ||
|
|
dff5971974 | ||
|
|
a17bb6c8da | ||
|
|
830192fc35 | ||
|
|
09beda8c1a | ||
|
|
226bee3010 | ||
|
|
221f4da6d1 | ||
|
|
b24ad05ffe | ||
|
|
befe61c5f0 | ||
|
|
76f6cdc453 | ||
|
|
65fa2a46f2 | ||
|
|
7c7c58417b | ||
|
|
ea80234d5f | ||
|
|
4fc32ad70a | ||
|
|
fb27cce043 | ||
|
|
a7620c98b5 | ||
|
|
b9e69e9fa1 | ||
|
|
295fff9a10 | ||
|
|
01ae016b52 | ||
|
|
4faca9e9e7 | ||
|
|
534ee17f3f | ||
|
|
743dc92612 | ||
|
|
71214fe310 | ||
|
|
f84f27c366 | ||
|
|
733e24c081 | ||
|
|
9ea6b3fb49 | ||
|
|
77d86bcf16 | ||
|
|
1ce7d756ff | ||
|
|
9018b7b58d | ||
|
|
efefba30ee | ||
|
|
84f2fb19d1 | ||
|
|
9dd2b3afff | ||
|
|
2090da494e | ||
|
|
6d46b18e3b | ||
|
|
b1df465870 | ||
|
|
af5351f42b | ||
|
|
8abd28004a | ||
|
|
f384d058f9 | ||
|
|
95b158b454 | ||
|
|
73ee4f5b03 | ||
|
|
e5b21fb9b4 | ||
|
|
a332112317 | ||
|
|
74bcf32eca | ||
|
|
05d55111e4 | ||
|
|
94a3bf4f12 | ||
|
|
19f66e8992 | ||
|
|
478ab51c8a | ||
|
|
ca7967820b | ||
|
|
26c91920e2 | ||
|
|
cdc5750155 | ||
|
|
ad3141cebd | ||
|
|
85288108c0 | ||
|
|
d0dbbc3d56 | ||
|
|
7d67f4171f | ||
|
|
a2616b4f3f | ||
|
|
a17884f425 | ||
|
|
f23f3a4bb7 | ||
|
|
3ff780f2a9 | ||
|
|
c99044f492 | ||
|
|
2656ae42d4 | ||
|
|
e14893a9fc | ||
|
|
cdcb3fc1aa | ||
|
|
2ee108b81f | ||
|
|
458869dd03 | ||
|
|
ca01235304 | ||
|
|
0070534348 | ||
|
|
034817c492 | ||
|
|
d05131f7e2 | ||
|
|
7b9e5f8d6b | ||
|
|
5cc1746cab | ||
|
|
b794a7162b | ||
|
|
15fa6fd8b9 | ||
|
|
a8f96e4b6e | ||
|
|
776bc8ac10 | ||
|
|
854a785483 | ||
|
|
a66898d292 | ||
|
|
d5839ad09b | ||
|
|
dfef189197 | ||
|
|
dd26419a25 | ||
|
|
79950d0293 | ||
|
|
6b767b0e09 | ||
|
|
e472f46438 | ||
|
|
5bf05c9fbb | ||
|
|
160de8b513 | ||
|
|
0bbfcc22f4 | ||
|
|
4c08407c86 | ||
|
|
5dff05e8d9 | ||
|
|
16f491d48d | ||
|
|
26258e676d | ||
|
|
15d56c9cff | ||
|
|
5ccb1b6c5f | ||
|
|
5a9c919ef6 | ||
|
|
ecb017fd33 | ||
|
|
54e8de973f | ||
|
|
2f24d9811f | ||
|
|
da03881bfb | ||
|
|
ce9a0f17c8 | ||
|
|
7e6d65e361 | ||
|
|
584a711c7a | ||
|
|
3ca81f1095 | ||
|
|
b351a9a1ed | ||
|
|
4f80398754 | ||
|
|
32ea03d6fb | ||
|
|
cd72cbe273 | ||
|
|
046b9d95e0 | ||
|
|
ae443e33fa | ||
|
|
3fa00f8adb | ||
|
|
d14f46f77b | ||
|
|
e0e1deca08 | ||
|
|
b283567200 | ||
|
|
fa954b8b61 | ||
|
|
89fd23ad0a | ||
|
|
f125f5829a | ||
|
|
0ca0adc3b3 | ||
|
|
4ec6a18686 | ||
|
|
a0f7b67145 | ||
|
|
ad22b77738 | ||
|
|
fa0e91cf21 | ||
|
|
03673b1d20 | ||
|
|
55ea43b454 | ||
|
|
d7e258faf5 | ||
|
|
a2ad620450 | ||
|
|
88167ee705 | ||
|
|
8787f6b071 | ||
|
|
f1639e00ce | ||
|
|
5169ec9d57 | ||
|
|
8a811db6e0 | ||
|
|
d5694b49e2 | ||
|
|
d44dbf69a4 | ||
|
|
579bc09dab | ||
|
|
871df563bb | ||
|
|
337cf92b49 | ||
|
|
abaaea2f29 | ||
|
|
1c48f8e6f2 | ||
|
|
fada9f5ee2 | ||
|
|
975a488549 | ||
|
|
c573e85173 | ||
|
|
5366f899e9 | ||
|
|
b03afe92be | ||
|
|
d5e99748aa | ||
|
|
5cd585bfa2 | ||
|
|
6f5c1113af | ||
|
|
52518f3946 | ||
|
|
9c653f5e57 | ||
|
|
06aa40a5d1 | ||
|
|
44028a148c | ||
|
|
1b6d6d9aa1 | ||
|
|
6038d5fd7e | ||
|
|
f7091f4784 | ||
|
|
c329a34407 | ||
|
|
122a60c77f | ||
|
|
7118c0d2a7 | ||
|
|
85fea8fe0a | ||
|
|
a04ee99c15 | ||
|
|
b8bfae2e75 | ||
|
|
719392271a | ||
|
|
1e4124d6cd | ||
|
|
70096c5d80 | ||
|
|
22be8fffcf | ||
|
|
5050ae481f | ||
|
|
4df98ad40a | ||
|
|
db66a9f051 | ||
|
|
224d70f02a | ||
|
|
42cc344212 | ||
|
|
dcbb032aa3 | ||
|
|
42446e02d2 | ||
|
|
78e67031e3 | ||
|
|
ec1f5273be | ||
|
|
52882f7327 | ||
|
|
d9026f1d45 | ||
|
|
c8ff40531c | ||
|
|
35360b6c07 | ||
|
|
2a51a64b84 | ||
|
|
eaa5c714c8 | ||
|
|
e725ad9776 | ||
|
|
dd6e9405b8 | ||
|
|
75f4069bad | ||
|
|
f9bfac1297 | ||
|
|
5e78d55d0e | ||
|
|
b811dd40ae | ||
|
|
35faf7816c | ||
|
|
003d33725e | ||
|
|
5838168061 | ||
|
|
441311c950 | ||
|
|
f43ed77973 | ||
|
|
a8868e82e0 | ||
|
|
32237deddc | ||
|
|
b36566fe04 | ||
|
|
de968af32a | ||
|
|
196a4baae0 | ||
|
|
71fa89f5e1 | ||
|
|
d978d31117 | ||
|
|
d3c1db5436 | ||
|
|
04acb85f7a | ||
|
|
16a4fc7f6a | ||
|
|
85dba1d5ee | ||
|
|
8b174c0617 | ||
|
|
b32c1340b7 | ||
|
|
94d0eaf177 | ||
|
|
d73e56cdea | ||
|
|
7a7a7077b6 | ||
|
|
951e2b00dc | ||
|
|
2690cb8b39 | ||
|
|
1066b2a582 | ||
|
|
4dc7c66c4d | ||
|
|
eec8085549 | ||
|
|
053f0e420a | ||
|
|
2662b12166 | ||
|
|
82457fadb7 | ||
|
|
04c139e40f | ||
|
|
e659a7e487 | ||
|
|
6b2d9b249e | ||
|
|
05604f00d0 | ||
|
|
2abc483055 | ||
|
|
6a0c4aeb34 | ||
|
|
0df91c0665 | ||
|
|
85dde189ac | ||
|
|
9a1f46fbbc | ||
|
|
be328aa19b | ||
|
|
ef0fbe981a | ||
|
|
2d297754ad | ||
|
|
a49bdd43c0 | ||
|
|
81acb3f788 | ||
|
|
3138b2b747 | ||
|
|
c2f8e6adf6 | ||
|
|
2c0d0ed559 | ||
|
|
ad3d4cf5af | ||
|
|
6ea485e9f1 | ||
|
|
c71a4c7980 | ||
|
|
f0136c5911 | ||
|
|
54d53f307f | ||
|
|
ab45a2c7e6 | ||
|
|
e0a53a3a84 | ||
|
|
9a872e7a88 | ||
|
|
f94465534b | ||
|
|
884b53b563 | ||
|
|
3087b80a77 | ||
|
|
34e1c7416b | ||
|
|
5fb0343fa8 | ||
|
|
d43db8b388 | ||
|
|
7eb1b741b1 | ||
|
|
51da22f6ff | ||
|
|
4cf1376ec2 | ||
|
|
6c89538f2e | ||
|
|
8e4d98da1e | ||
|
|
28832f792f | ||
|
|
c5d40ff6da | ||
|
|
02dd6bf9b3 | ||
|
|
50487a6d85 | ||
|
|
2638e71dc4 | ||
|
|
f0c99f7b7f | ||
|
|
7948d33e78 | ||
|
|
051fbf2cc7 | ||
|
|
97618dc66a | ||
|
|
1a72dfeffe | ||
|
|
db9540d98d | ||
|
|
6fdfceaefa | ||
|
|
d6ad9e200e | ||
|
|
2bbe588a3f | ||
|
|
cea06346a2 | ||
|
|
dad7bc5b30 |
217
checks/Jamfile.v2
Normal file
217
checks/Jamfile.v2
Normal file
@@ -0,0 +1,217 @@
|
||||
#
|
||||
# *** DO NOT EDIT THIS FILE BY HAND ***
|
||||
# This file was automatically generated on Fri Jul 1 18:47:25 2016
|
||||
# by libs/config/tools/generate.cpp
|
||||
# Copyright John Maddock.
|
||||
# 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)
|
||||
|
||||
import modules ;
|
||||
import path ;
|
||||
|
||||
|
||||
rule run-simple ( requirements * : target-name )
|
||||
{
|
||||
obj $(target-name)_obj : test_case.cpp : $(requirements) ;
|
||||
explicit $(target-name)_obj ;
|
||||
unit-test $(target-name) : $(target-name)_obj : $(requirements) ;
|
||||
explicit $(target-name) ;
|
||||
}
|
||||
|
||||
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_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_VARIABLE_TEMPLATES : cxx14_variable_templates ;
|
||||
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_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 ;
|
||||
|
||||
9
checks/architecture/32.cpp
Normal file
9
checks/architecture/32.cpp
Normal 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];
|
||||
9
checks/architecture/64.cpp
Normal file
9
checks/architecture/64.cpp
Normal 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];
|
||||
23
checks/architecture/Jamroot.jam
Normal file
23
checks/architecture/Jamroot.jam
Normal 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 ;
|
||||
15
checks/architecture/arm.cpp
Normal file
15
checks/architecture/arm.cpp
Normal 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
|
||||
|
||||
21
checks/architecture/combined.cpp
Normal file
21
checks/architecture/combined.cpp
Normal 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
|
||||
11
checks/architecture/mips1.cpp
Normal file
11
checks/architecture/mips1.cpp
Normal 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
|
||||
14
checks/architecture/power.cpp
Normal file
14
checks/architecture/power.cpp
Normal 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
|
||||
11
checks/architecture/sparc.cpp
Normal file
11
checks/architecture/sparc.cpp
Normal 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
|
||||
16
checks/architecture/x86.cpp
Normal file
16
checks/architecture/x86.cpp
Normal 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
|
||||
21
checks/config.jam
Normal file
21
checks/config.jam
Normal file
@@ -0,0 +1,21 @@
|
||||
# Copyright John Maddock.
|
||||
# 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)
|
||||
|
||||
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 $(config-binding:D)//$(name) $(msg:J=) : : <build>no ] ;
|
||||
}
|
||||
return $(result) ;
|
||||
}
|
||||
|
||||
797
checks/test_case.cpp
Normal file
797
checks/test_case.cpp
Normal file
@@ -0,0 +1,797 @@
|
||||
// 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$
|
||||
//
|
||||
|
||||
#ifdef TEST_BOOST_HAS_TWO_ARG_USE_FACET
|
||||
# include "../test/boost_has_2arg_use_facet.ipp"
|
||||
namespace test = boost_has_two_arg_use_facet;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_BETHREADS
|
||||
# include "../test/boost_has_bethreads.ipp"
|
||||
namespace test = boost_has_bethreads;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_CLOCK_GETTIME
|
||||
# include "../test/boost_has_clock_gettime.ipp"
|
||||
namespace test = boost_has_clock_gettime;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_DIRENT_H
|
||||
# include "../test/boost_has_dirent_h.ipp"
|
||||
namespace test = boost_has_dirent_h;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_EXPM1
|
||||
# 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;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_GETSYSTEMTIMEASFILETIME
|
||||
# include "../test/boost_has_getsystemtimeasfiletime.ipp"
|
||||
namespace test = boost_has_getsystemtimeasfiletime;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_GETTIMEOFDAY
|
||||
# include "../test/boost_has_gettimeofday.ipp"
|
||||
namespace test = boost_has_gettimeofday;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_HASH
|
||||
# include "../test/boost_has_hash.ipp"
|
||||
namespace test = boost_has_hash;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_INT128
|
||||
# include "../test/boost_has_int128.ipp"
|
||||
namespace test = boost_has_int128;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_LOG1P
|
||||
# include "../test/boost_has_log1p.ipp"
|
||||
namespace test = boost_has_log1p;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_LONG_LONG
|
||||
# include "../test/boost_has_long_long.ipp"
|
||||
namespace test = boost_has_long_long;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_MACRO_USE_FACET
|
||||
# include "../test/boost_has_macro_use_facet.ipp"
|
||||
namespace test = boost_has_macro_use_facet;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_MS_INT64
|
||||
# include "../test/boost_has_ms_int64.ipp"
|
||||
namespace test = boost_has_ms_int64;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_NANOSLEEP
|
||||
# include "../test/boost_has_nanosleep.ipp"
|
||||
namespace test = boost_has_nanosleep;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_NL_TYPES_H
|
||||
# include "../test/boost_has_nl_types_h.ipp"
|
||||
namespace test = boost_has_nl_types_h;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_NRVO
|
||||
# include "../test/boost_has_nrvo.ipp"
|
||||
namespace test = boost_has_nrvo;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_PARTIAL_STD_ALLOCATOR
|
||||
# include "../test/boost_has_part_alloc.ipp"
|
||||
namespace test = boost_has_partial_std_allocator;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_PTHREAD_DELAY_NP
|
||||
# include "../test/boost_has_pthread_delay_np.ipp"
|
||||
namespace test = boost_has_pthread_delay_np;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||
# include "../test/boost_has_pthread_ma_st.ipp"
|
||||
namespace test = boost_has_pthread_mutexattr_settype;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_PTHREAD_YIELD
|
||||
# include "../test/boost_has_pthread_yield.ipp"
|
||||
namespace test = boost_has_pthread_yield;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_PTHREADS
|
||||
# include "../test/boost_has_pthreads.ipp"
|
||||
namespace test = boost_has_pthreads;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_RVALUE_REFS
|
||||
# include "../test/boost_has_rvalue_refs.ipp"
|
||||
namespace test = boost_has_rvalue_refs;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_SCHED_YIELD
|
||||
# include "../test/boost_has_sched_yield.ipp"
|
||||
namespace test = boost_has_sched_yield;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_SGI_TYPE_TRAITS
|
||||
# include "../test/boost_has_sgi_type_traits.ipp"
|
||||
namespace test = boost_has_sgi_type_traits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_SIGACTION
|
||||
# include "../test/boost_has_sigaction.ipp"
|
||||
namespace test = boost_has_sigaction;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_SLIST
|
||||
# include "../test/boost_has_slist.ipp"
|
||||
namespace test = boost_has_slist;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_STATIC_ASSERT
|
||||
# include "../test/boost_has_static_assert.ipp"
|
||||
namespace test = boost_has_static_assert;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_STDINT_H
|
||||
# include "../test/boost_has_stdint_h.ipp"
|
||||
namespace test = boost_has_stdint_h;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_STLP_USE_FACET
|
||||
# include "../test/boost_has_stlp_use_facet.ipp"
|
||||
namespace test = boost_has_stlp_use_facet;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_ARRAY
|
||||
# include "../test/boost_has_tr1_array.ipp"
|
||||
namespace test = boost_has_tr1_array;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_BIND
|
||||
# include "../test/boost_has_tr1_bind.ipp"
|
||||
namespace test = boost_has_tr1_bind;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_COMPLEX_OVERLOADS
|
||||
# include "../test/boost_has_tr1_complex_over.ipp"
|
||||
namespace test = boost_has_tr1_complex_overloads;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
|
||||
# include "../test/boost_has_tr1_complex_trig.ipp"
|
||||
namespace test = boost_has_tr1_complex_inverse_trig;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_FUNCTION
|
||||
# include "../test/boost_has_tr1_function.ipp"
|
||||
namespace test = boost_has_tr1_function;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_HASH
|
||||
# include "../test/boost_has_tr1_hash.ipp"
|
||||
namespace test = boost_has_tr1_hash;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_MEM_FN
|
||||
# include "../test/boost_has_tr1_mem_fn.ipp"
|
||||
namespace test = boost_has_tr1_mem_fn;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_RANDOM
|
||||
# include "../test/boost_has_tr1_random.ipp"
|
||||
namespace test = boost_has_tr1_random;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_REFERENCE_WRAPPER
|
||||
# include "../test/boost_has_tr1_ref_wrap.ipp"
|
||||
namespace test = boost_has_tr1_reference_wrapper;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_REGEX
|
||||
# include "../test/boost_has_tr1_regex.ipp"
|
||||
namespace test = boost_has_tr1_regex;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_RESULT_OF
|
||||
# include "../test/boost_has_tr1_result_of.ipp"
|
||||
namespace test = boost_has_tr1_result_of;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_SHARED_PTR
|
||||
# include "../test/boost_has_tr1_shared_ptr.ipp"
|
||||
namespace test = boost_has_tr1_shared_ptr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_TUPLE
|
||||
# include "../test/boost_has_tr1_tuple.ipp"
|
||||
namespace test = boost_has_tr1_tuple;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_TYPE_TRAITS
|
||||
# include "../test/boost_has_tr1_type_traits.ipp"
|
||||
namespace test = boost_has_tr1_type_traits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_UNORDERED_MAP
|
||||
# include "../test/boost_has_tr1_unordered_map.ipp"
|
||||
namespace test = boost_has_tr1_unordered_map;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_UNORDERED_SET
|
||||
# include "../test/boost_has_tr1_unordered_set.ipp"
|
||||
namespace test = boost_has_tr1_unordered_set;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_TR1_UTILITY
|
||||
# include "../test/boost_has_tr1_utility.ipp"
|
||||
namespace test = boost_has_tr1_utility;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_UNISTD_H
|
||||
# include "../test/boost_has_unistd_h.ipp"
|
||||
namespace test = boost_has_unistd_h;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_VARIADIC_TMPL
|
||||
# include "../test/boost_has_variadic_tmpl.ipp"
|
||||
namespace test = boost_has_variadic_tmpl;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_MSVC6_MEMBER_TEMPLATES
|
||||
# include "../test/boost_has_vc6_mem_templ.ipp"
|
||||
namespace test = boost_msvc6_member_templates;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_MSVC_STD_ITERATOR
|
||||
# include "../test/boost_has_vc_iterator.ipp"
|
||||
namespace test = boost_msvc_std_iterator;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_HAS_WINTHREADS
|
||||
# include "../test/boost_has_winthreads.ipp"
|
||||
namespace test = boost_has_winthreads;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_ADL_BARRIER
|
||||
# include "../test/boost_no_adl_barrier.ipp"
|
||||
namespace test = boost_no_adl_barrier;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||
# include "../test/boost_no_arg_dep_lookup.ipp"
|
||||
namespace test = boost_no_argument_dependent_lookup;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
|
||||
# include "../test/boost_no_array_type_spec.ipp"
|
||||
namespace test = boost_no_array_type_specializations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# include "../test/boost_no_auto_declarations.ipp"
|
||||
namespace test = boost_no_cxx11_auto_declarations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
# include "../test/boost_no_auto_multidecl.ipp"
|
||||
namespace test = boost_no_cxx11_auto_multideclarations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_AUTO_PTR
|
||||
# include "../test/boost_no_auto_ptr.ipp"
|
||||
namespace test = boost_no_auto_ptr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
|
||||
# include "../test/boost_no_bcb_partial_spec.ipp"
|
||||
namespace test = boost_bcb_partial_specialization_bug;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_CHAR16_T
|
||||
# include "../test/boost_no_char16_t.ipp"
|
||||
namespace test = boost_no_cxx11_char16_t;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_CHAR32_T
|
||||
# include "../test/boost_no_char32_t.ipp"
|
||||
namespace test = boost_no_cxx11_char32_t;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
# include "../test/boost_no_com_value_init.ipp"
|
||||
namespace test = boost_no_complete_value_initialization;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_CONSTEXPR
|
||||
# include "../test/boost_no_constexpr.ipp"
|
||||
namespace test = boost_no_cxx11_constexpr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CTYPE_FUNCTIONS
|
||||
# include "../test/boost_no_ctype_functions.ipp"
|
||||
namespace test = boost_no_ctype_functions;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CV_SPECIALIZATIONS
|
||||
# include "../test/boost_no_cv_spec.ipp"
|
||||
namespace test = boost_no_cv_specializations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CV_VOID_SPECIALIZATIONS
|
||||
# include "../test/boost_no_cv_void_spec.ipp"
|
||||
namespace test = boost_no_cv_void_specializations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CWCHAR
|
||||
# include "../test/boost_no_cwchar.ipp"
|
||||
namespace test = boost_no_cwchar;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CWCTYPE
|
||||
# include "../test/boost_no_cwctype.ipp"
|
||||
namespace test = boost_no_cwctype;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_ADDRESSOF
|
||||
# include "../test/boost_no_cxx11_addressof.ipp"
|
||||
namespace test = boost_no_cxx11_addressof;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_ALIGNAS
|
||||
# include "../test/boost_no_cxx11_alignas.ipp"
|
||||
namespace test = boost_no_cxx11_alignas;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_ALLOCATOR
|
||||
# include "../test/boost_no_cxx11_allocator.ipp"
|
||||
namespace test = boost_no_cxx11_allocator;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||
# include "../test/boost_no_cxx11_atomic_sp.ipp"
|
||||
namespace test = boost_no_cxx11_atomic_smart_ptr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_FINAL
|
||||
# include "../test/boost_no_cxx11_final.ipp"
|
||||
namespace test = boost_no_cxx11_final;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_ARRAY
|
||||
# include "../test/boost_no_cxx11_hdr_array.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_array;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_ATOMIC
|
||||
# include "../test/boost_no_cxx11_hdr_atomic.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_atomic;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_CHRONO
|
||||
# include "../test/boost_no_cxx11_hdr_chrono.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_chrono;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_CODECVT
|
||||
# include "../test/boost_no_cxx11_hdr_codecvt.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_codecvt;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# include "../test/boost_no_cxx11_hdr_condition_variable.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_condition_variable;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_FORWARD_LIST
|
||||
# include "../test/boost_no_cxx11_hdr_forward_list.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_forward_list;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_FUTURE
|
||||
# include "../test/boost_no_cxx11_hdr_future.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_future;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# include "../test/boost_no_cxx11_hdr_initializer_list.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_initializer_list;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_MUTEX
|
||||
# include "../test/boost_no_cxx11_hdr_mutex.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_mutex;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_RANDOM
|
||||
# include "../test/boost_no_cxx11_hdr_random.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_random;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_RATIO
|
||||
# include "../test/boost_no_cxx11_hdr_ratio.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_ratio;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_REGEX
|
||||
# include "../test/boost_no_cxx11_hdr_regex.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_regex;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
# include "../test/boost_no_cxx11_hdr_system_error.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_system_error;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_THREAD
|
||||
# include "../test/boost_no_cxx11_hdr_thread.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_thread;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_TUPLE
|
||||
# include "../test/boost_no_cxx11_hdr_tuple.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_tuple;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
||||
# include "../test/boost_no_cxx11_hdr_type_traits.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_type_traits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_TYPEINDEX
|
||||
# include "../test/boost_no_cxx11_hdr_typeindex.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_typeindex;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_UNORDERED_MAP
|
||||
# include "../test/boost_no_cxx11_hdr_unordered_map.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_unordered_map;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_HDR_UNORDERED_SET
|
||||
# include "../test/boost_no_cxx11_hdr_unordered_set.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_unordered_set;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# include "../test/boost_no_cxx11_inline_namespaces.ipp"
|
||||
namespace test = boost_no_cxx11_inline_namespaces;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
# include "../test/boost_no_cxx11_non_pub_def_fun.ipp"
|
||||
namespace test = boost_no_cxx11_non_public_defaulted_functions;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_NUMERIC_LIMITS
|
||||
# include "../test/boost_no_cxx11_numeric_limits.ipp"
|
||||
namespace test = boost_no_cxx11_numeric_limits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
# include "../test/boost_no_cxx11_ref_qualifiers.ipp"
|
||||
namespace test = boost_no_cxx11_ref_qualifiers;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_SMART_PTR
|
||||
# include "../test/boost_no_cxx11_smart_ptr.ipp"
|
||||
namespace test = boost_no_cxx11_smart_ptr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_STD_ALIGN
|
||||
# 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;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# include "../test/boost_no_cxx11_user_lit.ipp"
|
||||
namespace test = boost_no_cxx11_user_defined_literals;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX14_BINARY_LITERALS
|
||||
# include "../test/boost_no_cxx14_binary_literals.ipp"
|
||||
namespace test = boost_no_cxx14_binary_literals;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX14_CONSTEXPR
|
||||
# include "../test/boost_no_cxx14_constexpr.ipp"
|
||||
namespace test = boost_no_cxx14_constexpr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
# include "../test/boost_no_cxx14_decltype_auto.ipp"
|
||||
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_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;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
# include "../test/boost_no_cxx14_member_init.ipp"
|
||||
namespace test = boost_no_cxx14_aggregate_nsdmi;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
# include "../test/boost_no_cxx14_return_type_ded.ipp"
|
||||
namespace test = boost_no_cxx14_return_type_deduction;
|
||||
#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_CXX11_HDR_FUNCTIONAL
|
||||
# include "../test/boost_no_cxx_hdr_functional.ipp"
|
||||
namespace test = boost_no_cxx11_hdr_functional;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_DECLTYPE
|
||||
# include "../test/boost_no_decltype.ipp"
|
||||
namespace test = boost_no_cxx11_decltype;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
# include "../test/boost_no_decltype_n3276.ipp"
|
||||
namespace test = boost_no_cxx11_decltype_n3276;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_DEDUCED_TYPENAME
|
||||
# include "../test/boost_no_ded_typename.ipp"
|
||||
namespace test = boost_deduced_typename;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# include "../test/boost_no_defaulted_functions.ipp"
|
||||
namespace test = boost_no_cxx11_defaulted_functions;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# include "../test/boost_no_deleted_functions.ipp"
|
||||
namespace test = boost_no_cxx11_deleted_functions;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
||||
# include "../test/boost_no_dep_nested_class.ipp"
|
||||
namespace test = boost_no_dependent_nested_derivations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
|
||||
# include "../test/boost_no_dep_val_param.ipp"
|
||||
namespace test = boost_no_dependent_types_in_template_value_parameters;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_EXCEPTION_STD_NAMESPACE
|
||||
# include "../test/boost_no_excep_std.ipp"
|
||||
namespace test = boost_no_exception_std_namespace;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_EXCEPTIONS
|
||||
# include "../test/boost_no_exceptions.ipp"
|
||||
namespace test = boost_no_exceptions;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
|
||||
# include "../test/boost_no_exp_func_tem_arg.ipp"
|
||||
namespace test = boost_no_explicit_function_template_arguments;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# include "../test/boost_no_explicit_cvt_ops.ipp"
|
||||
namespace test = boost_no_cxx11_explicit_conversion_operators;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
# include "../test/boost_no_extern_template.ipp"
|
||||
namespace test = boost_no_cxx11_extern_template;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_FENV_H
|
||||
# include "../test/boost_no_fenv_h.ipp"
|
||||
namespace test = boost_no_fenv_h;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||
# include "../test/boost_no_fixed_len_variadic_templates.ipp"
|
||||
namespace test = boost_no_cxx11_fixed_length_variadic_template_expansion_packs;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
||||
# include "../test/boost_no_func_tmp_order.ipp"
|
||||
namespace test = boost_no_function_template_ordering;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
# include "../test/boost_no_function_template_default_args.ipp"
|
||||
namespace test = boost_no_cxx11_function_template_default_args;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
|
||||
# include "../test/boost_no_function_type_spec.ipp"
|
||||
namespace test = boost_no_function_type_specializations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_MS_INT64_NUMERIC_LIMITS
|
||||
# include "../test/boost_no_i64_limits.ipp"
|
||||
namespace test = boost_no_ms_int64_numeric_limits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_INCLASS_MEMBER_INITIALIZATION
|
||||
# include "../test/boost_no_inline_memb_init.ipp"
|
||||
namespace test = boost_no_inclass_member_initialization;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_INTEGRAL_INT64_T
|
||||
# include "../test/boost_no_integral_int64_t.ipp"
|
||||
namespace test = boost_no_integral_int64_t;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_IOSFWD
|
||||
# include "../test/boost_no_iosfwd.ipp"
|
||||
namespace test = boost_no_iosfwd;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_IOSTREAM
|
||||
# include "../test/boost_no_iostream.ipp"
|
||||
namespace test = boost_no_iostream;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_IS_ABSTRACT
|
||||
# include "../test/boost_no_is_abstract.ipp"
|
||||
namespace test = boost_no_is_abstract;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
|
||||
# include "../test/boost_no_iter_construct.ipp"
|
||||
namespace test = boost_no_templated_iterator_constructors;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_LAMBDAS
|
||||
# include "../test/boost_no_lambdas.ipp"
|
||||
namespace test = boost_no_cxx11_lambdas;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_LIMITS
|
||||
# include "../test/boost_no_limits.ipp"
|
||||
namespace test = boost_no_limits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||
# include "../test/boost_no_limits_const_exp.ipp"
|
||||
namespace test = boost_no_limits_compile_time_constants;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_LONG_LONG_NUMERIC_LIMITS
|
||||
# include "../test/boost_no_ll_limits.ipp"
|
||||
namespace test = boost_no_long_long_numeric_limits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_LONG_LONG
|
||||
# include "../test/boost_no_long_long.ipp"
|
||||
namespace test = boost_no_long_long;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
|
||||
# include "../test/boost_no_mem_func_spec.ipp"
|
||||
namespace test = boost_no_member_function_specializations;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_MEMBER_TEMPLATE_KEYWORD
|
||||
# include "../test/boost_no_mem_tem_keyword.ipp"
|
||||
namespace test = boost_no_member_template_keyword;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
|
||||
# include "../test/boost_no_mem_tem_pnts.ipp"
|
||||
namespace test = boost_no_pointer_to_member_template_parameters;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
# include "../test/boost_no_mem_templ_frnds.ipp"
|
||||
namespace test = boost_no_member_template_friends;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_MEMBER_TEMPLATES
|
||||
# include "../test/boost_no_mem_templates.ipp"
|
||||
namespace test = boost_no_member_templates;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_NESTED_FRIENDSHIP
|
||||
# include "../test/boost_no_nested_friendship.ipp"
|
||||
namespace test = boost_no_nested_friendship;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_NOEXCEPT
|
||||
# include "../test/boost_no_noexcept.ipp"
|
||||
namespace test = boost_no_cxx11_noexcept;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_NULLPTR
|
||||
# include "../test/boost_no_nullptr.ipp"
|
||||
namespace test = boost_no_cxx11_nullptr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_OPERATORS_IN_NAMESPACE
|
||||
# include "../test/boost_no_ops_in_namespace.ipp"
|
||||
namespace test = boost_no_operators_in_namespace;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
|
||||
# include "../test/boost_no_part_spec_def_args.ipp"
|
||||
namespace test = boost_no_partial_specialization_implicit_default_args;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
# include "../test/boost_no_partial_spec.ipp"
|
||||
namespace test = boost_no_template_partial_specialization;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_PRIVATE_IN_AGGREGATE
|
||||
# include "../test/boost_no_priv_aggregate.ipp"
|
||||
namespace test = boost_no_private_in_aggregate;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_POINTER_TO_MEMBER_CONST
|
||||
# include "../test/boost_no_ptr_mem_const.ipp"
|
||||
namespace test = boost_no_pointer_to_member_const;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
# include "../test/boost_no_range_based_for.ipp"
|
||||
namespace test = boost_no_cxx11_range_based_for;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_RAW_LITERALS
|
||||
# include "../test/boost_no_raw_literals.ipp"
|
||||
namespace test = boost_no_cxx11_raw_literals;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
||||
# include "../test/boost_no_ret_det.ipp"
|
||||
namespace test = boost_no_unreachable_return_detection;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_RTTI
|
||||
# include "../test/boost_no_rtti.ipp"
|
||||
namespace test = boost_no_rtti;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# include "../test/boost_no_rvalue_references.ipp"
|
||||
namespace test = boost_no_cxx11_rvalue_references;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
# include "../test/boost_no_scoped_enums.ipp"
|
||||
namespace test = boost_no_cxx11_scoped_enums;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_SFINAE
|
||||
# include "../test/boost_no_sfinae.ipp"
|
||||
namespace test = boost_no_sfinae;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_SFINAE_EXPR
|
||||
# include "../test/boost_no_sfinae_expr.ipp"
|
||||
namespace test = boost_no_sfinae_expr;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STRINGSTREAM
|
||||
# include "../test/boost_no_sstream.ipp"
|
||||
namespace test = boost_no_stringstream;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_STATIC_ASSERT
|
||||
# include "../test/boost_no_static_assert.ipp"
|
||||
namespace test = boost_no_cxx11_static_assert;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_ALLOCATOR
|
||||
# include "../test/boost_no_std_allocator.ipp"
|
||||
namespace test = boost_no_std_allocator;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_DISTANCE
|
||||
# include "../test/boost_no_std_distance.ipp"
|
||||
namespace test = boost_no_std_distance;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_ITERATOR_TRAITS
|
||||
# include "../test/boost_no_std_iter_traits.ipp"
|
||||
namespace test = boost_no_std_iterator_traits;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_ITERATOR
|
||||
# include "../test/boost_no_std_iterator.ipp"
|
||||
namespace test = boost_no_std_iterator;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_LOCALE
|
||||
# include "../test/boost_no_std_locale.ipp"
|
||||
namespace test = boost_no_std_locale;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_MESSAGES
|
||||
# include "../test/boost_no_std_messages.ipp"
|
||||
namespace test = boost_no_std_messages;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_MIN_MAX
|
||||
# include "../test/boost_no_std_min_max.ipp"
|
||||
namespace test = boost_no_std_min_max;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
|
||||
# include "../test/boost_no_std_oi_assign.ipp"
|
||||
namespace test = boost_no_std_output_iterator_assign;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_TYPEINFO
|
||||
# include "../test/boost_no_std_typeinfo.ipp"
|
||||
namespace test = boost_no_std_typeinfo;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_USE_FACET
|
||||
# include "../test/boost_no_std_use_facet.ipp"
|
||||
namespace test = boost_no_std_use_facet;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_WSTREAMBUF
|
||||
# include "../test/boost_no_std_wstreambuf.ipp"
|
||||
namespace test = boost_no_std_wstreambuf;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STD_WSTRING
|
||||
# include "../test/boost_no_std_wstring.ipp"
|
||||
namespace test = boost_no_std_wstring;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_STDC_NAMESPACE
|
||||
# include "../test/boost_no_stdc_namespace.ipp"
|
||||
namespace test = boost_no_stdc_namespace;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_SWPRINTF
|
||||
# include "../test/boost_no_swprintf.ipp"
|
||||
namespace test = boost_no_swprintf;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
# include "../test/boost_no_tem_local_classes.ipp"
|
||||
namespace test = boost_no_cxx11_local_class_template_parameters;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# include "../test/boost_no_template_aliases.ipp"
|
||||
namespace test = boost_no_cxx11_template_aliases;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_TEMPLATED_IOSTREAMS
|
||||
# include "../test/boost_no_template_streams.ipp"
|
||||
namespace test = boost_no_templated_iostreams;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_TEMPLATE_TEMPLATES
|
||||
# include "../test/boost_no_template_template.ipp"
|
||||
namespace test = boost_no_template_templates;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
# include "../test/boost_no_two_phase_lookup.ipp"
|
||||
namespace test = boost_no_two_phase_name_lookup;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_TYPEID
|
||||
# include "../test/boost_no_typeid.ipp"
|
||||
namespace test = boost_no_typeid;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_TYPENAME_WITH_CTOR
|
||||
# include "../test/boost_no_typename_with_ctor.ipp"
|
||||
namespace test = boost_no_typename_with_ctor;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
# include "../test/boost_no_unicode_literals.ipp"
|
||||
namespace test = boost_no_cxx11_unicode_literals;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
# include "../test/boost_no_unified_init.ipp"
|
||||
namespace test = boost_no_cxx11_unified_initialization_syntax;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
# include "../test/boost_no_using_breaks_adl.ipp"
|
||||
namespace test = boost_function_scope_using_declaration_breaks_adl;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
|
||||
# include "../test/boost_no_using_decl_overld.ipp"
|
||||
namespace test = boost_no_using_declaration_overloads_from_typename_base;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_USING_TEMPLATE
|
||||
# include "../test/boost_no_using_template.ipp"
|
||||
namespace test = boost_no_using_template;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
# include "../test/boost_no_variadic_macros.ipp"
|
||||
namespace test = boost_no_cxx11_variadic_macros;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
# include "../test/boost_no_variadic_templates.ipp"
|
||||
namespace test = boost_no_cxx11_variadic_templates;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_VOID_RETURNS
|
||||
# include "../test/boost_no_void_returns.ipp"
|
||||
namespace test = boost_no_void_returns;
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_INTRINSIC_WCHAR_T
|
||||
# include "../test/boost_no_wchar_t.ipp"
|
||||
namespace test = boost_no_intrinsic_wchar_t;
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return test::test();
|
||||
}
|
||||
|
||||
65
doc/build_time.qbk
Normal file
65
doc/build_time.qbk
Normal file
@@ -0,0 +1,65 @@
|
||||
|
||||
[section:build_config Build Time Configuration]
|
||||
|
||||
There are times when you want to control whether a build target gets built or not, based
|
||||
on what features the compiler supports. For example, suppose you have a test file
|
||||
"test_constexpr_128.cpp" which requires three key features in order to build:
|
||||
|
||||
* The `constexpr` keyword as detected by BOOST_NO_CXX11_CONSTEXPR.
|
||||
* User defined literals, as detected by BOOST_NO_CXX11_USER_DEFINED_LITERALS.
|
||||
* The `__int128` data type, as detected by BOOST_HAS_INT128.
|
||||
|
||||
Clearly we know that if these features are not supported by the compiler, then
|
||||
there's simply no point in even trying to build the test program. The main advantages being:
|
||||
|
||||
* Faster compile times - build configuration uses lightweight tests the results of which are also cached.
|
||||
* Less noise in build output - there's no reason to be faced with pages of template
|
||||
instantiation backtrace if we know the file can never compile anyway.
|
||||
* Less noise in the online test results - the test will show up as blank, rather than as a fail
|
||||
in the online test matrix.
|
||||
* A better experience for end users building all of Boost, if those libraries which can not be built
|
||||
for the current target compiler are simply skipped, rather than generating pages of error output.
|
||||
|
||||
Returning to our example, the test case is probably executed in it's Jamfile via the "run" rule:
|
||||
|
||||
run test_constexpr_128.cpp ;
|
||||
|
||||
We now need to make this target conditional on the necessary features.
|
||||
We can do that by first importing the necessary rule at the start of the Jamfile:
|
||||
|
||||
import path-to-config-lib/checks/config : requires ;
|
||||
|
||||
Assuming that the test case is in the usual directory:
|
||||
|
||||
libs/yourlib/test
|
||||
|
||||
then the import rule will actually be:
|
||||
|
||||
import ../../config/checks/config : requires ;
|
||||
|
||||
Then add a "requires" rule invocation to the requirements section of the target:
|
||||
|
||||
run test_constexpr_128.cpp
|
||||
: : : #requirements:
|
||||
[ requires cxx11_constexpr cxx11_user_defined_literals int128 ] ;
|
||||
|
||||
Notice that multiple arguments can be added to the requires rule, and that these are
|
||||
always the same as the Boost.Config macro name, but in lower case and with the ['boost_no_]
|
||||
or ['boost_has_] prefix removed.
|
||||
|
||||
When building the above example, you will see at the start of the build process the results
|
||||
of the configuration, for example GCC in C++11 mode gives:
|
||||
|
||||
- Boost.Config Feature Check: int128 : yes
|
||||
- Boost.Config Feature Check: cxx11_constexpr : yes
|
||||
- Boost.Config Feature Check: cxx11_user_defined_literals : yes
|
||||
|
||||
That's all there is to this handy feature, should at any time you be unsure of the feature-test
|
||||
names you can pass to the "requires" rule, then search for the Boost.Config macro of interest in
|
||||
libs/config/checks/Jamfiles.v2, and the name of the feature check will follow it.
|
||||
|
||||
And finally, this feature is built around the Boost.Build built in rule ['check-target-builds]
|
||||
which can be used to perform more generalized build-time feature testing. The checks in this
|
||||
library are provided as a convenient shorthand without the need for you to write the test cases yourself.
|
||||
|
||||
[endsect]
|
||||
@@ -50,6 +50,7 @@ Distributed under the Boost Software License, Version 1.0.
|
||||
|
||||
[include configuring_boost.qbk]
|
||||
[include macro_reference.qbk]
|
||||
[include build_time.qbk]
|
||||
[include cstdint.qbk]
|
||||
[include guidelines.qbk]
|
||||
[include rationale.qbk]
|
||||
|
||||
@@ -271,6 +271,12 @@ feature off.
|
||||
Causes the auto-linking code to output diagnostic messages indicating the
|
||||
name of the library that is selected for linking.
|
||||
]]
|
||||
[[`BOOST_LIB_BUILDID`][
|
||||
If you built Boost using the `--buildid` option then set this macro to the same value
|
||||
as you passed to bjam. For example if you built using `bjam address-model=64 --buildid=amd64`
|
||||
then compile your code with `-DBOOST_LIB_BUILDID=amd64` to ensure the correct libraries
|
||||
are selected at link time.
|
||||
]]
|
||||
[[`BOOST_LIB_TOOLSET`][
|
||||
Overrides the name of the toolset part of the name of library being linked
|
||||
to; note if defined this must be defined to a quoted string literal, for
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
<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">
|
||||
<link rel="next" href="cstdint.html" title="Standard Integer Types">
|
||||
<link rel="next" href="build_config.html" title="Build Time Configuration">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@@ -20,13 +20,13 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cstdint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="build_config.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<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
|
||||
@@ -37,6 +37,10 @@
|
||||
that describe C++11 features not supported</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_allow_use_of_c__11_features_with_c__03_compilers">Macros
|
||||
that allow use of C++11 features with C++03 compilers</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__14_features_not_supported">Macros
|
||||
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.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
|
||||
@@ -1423,6 +1427,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>
|
||||
@@ -1663,6 +1686,29 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_HAS_PRAGMA_DETECT_MISMATCH</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Compiler
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler recognizes the <code class="computeroutput"><span class="preprocessor">#pragma</span>
|
||||
<span class="identifier">detect_mismatch</span><span class="special">(</span><span class="string">"name"</span><span class="special">,</span>
|
||||
<span class="string">"value"</span><span class="special">)</span></code>
|
||||
directive which tells that the link stage should be terminated
|
||||
with error if values for provided <code class="computeroutput"><span class="string">"name"</span></code>
|
||||
missmatch. This pragma may be a help in preventing ODR violations
|
||||
and ensuring that different modules are compiled with same flags.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_HAS_PTHREAD_DELAY_NP</span></code>
|
||||
@@ -2427,6 +2473,190 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_AUTO_DECLARATIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type deduction for variables declared
|
||||
with the <code class="computeroutput"><span class="keyword">auto</span></code> keyword
|
||||
(<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
|
||||
<span class="special">=</span> <span class="special">...;</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type deduction for multiple variables
|
||||
declared with the <code class="computeroutput"><span class="keyword">auto</span></code>
|
||||
keyword (<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
|
||||
<span class="special">=</span> <span class="special">...,</span>
|
||||
<span class="special">*</span><span class="identifier">ptr</span>
|
||||
<span class="special">=</span> <span class="special">...;</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CHAR16_T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type <code class="computeroutput"><span class="keyword">char16_t</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CHAR32_T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type <code class="computeroutput"><span class="keyword">char32_t</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CONSTEXPR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support <code class="computeroutput"><span class="keyword">constexpr</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DECLTYPE</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support <code class="computeroutput"><span class="keyword">decltype</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DECLTYPE_N3276</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support the extension to <code class="computeroutput"><span class="keyword">decltype</span></code>
|
||||
described in <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf" target="_top">N3276</a>,
|
||||
accepted in Madrid, March 2011.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DELETED_FUNCTIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support deleted (<code class="computeroutput"><span class="special">=</span>
|
||||
<span class="keyword">delete</span></code>) functions.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DEFAULTED_FUNCTIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support defaulted (<code class="computeroutput"><span class="special">=</span>
|
||||
<span class="keyword">default</span></code>) functions.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support explicit conversion operators (<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">operator</span>
|
||||
<span class="identifier">T</span><span class="special">()</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_EXTERN_TEMPLATE</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support explicit instantiation forward declarations
|
||||
for templates (<code class="computeroutput"><span class="keyword">extern</span> <span class="keyword">template</span> <span class="special">...</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_FINAL</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support the C++ class-virt-specifier final.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support expanding a variadic template parameter
|
||||
pack into a template containing one or more fixed arguments
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support default template arguments for function
|
||||
templates.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_HDR_ATOMIC</span></code>
|
||||
@@ -2680,202 +2910,6 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_SMART_PTR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The standard library header <memory> has no shared_ptr and
|
||||
unique_ptr.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_STD_ALIGN</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The standard library header <memory> has no working std::align.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_AUTO_DECLARATIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type deduction for variables declared
|
||||
with the <code class="computeroutput"><span class="keyword">auto</span></code> keyword
|
||||
(<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
|
||||
<span class="special">=</span> <span class="special">...;</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type deduction for multiple variables
|
||||
declared with the <code class="computeroutput"><span class="keyword">auto</span></code>
|
||||
keyword (<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span>
|
||||
<span class="special">=</span> <span class="special">...,</span>
|
||||
<span class="special">*</span><span class="identifier">ptr</span>
|
||||
<span class="special">=</span> <span class="special">...;</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CHAR16_T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type <code class="computeroutput"><span class="keyword">char16_t</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CHAR32_T</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support type <code class="computeroutput"><span class="keyword">char32_t</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_TEMPLATE_ALIASES</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support template aliases.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_CONSTEXPR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support <code class="computeroutput"><span class="keyword">constexpr</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DECLTYPE</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support <code class="computeroutput"><span class="keyword">decltype</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DECLTYPE_N3276</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support the extension to <code class="computeroutput"><span class="keyword">decltype</span></code>
|
||||
described in <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf" target="_top">N3276</a>,
|
||||
accepted in Madrid, March 2011.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DEFAULTED_FUNCTIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support defaulted (<code class="computeroutput"><span class="special">=</span>
|
||||
<span class="keyword">default</span></code>) functions.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DELETED_FUNCTIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support deleted (<code class="computeroutput"><span class="special">=</span>
|
||||
<span class="keyword">delete</span></code>) functions.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support explicit conversion operators (<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">operator</span>
|
||||
<span class="identifier">T</span><span class="special">()</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_EXTERN_TEMPLATE</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support explicit instantiation forward declarations
|
||||
for templates (<code class="computeroutput"><span class="keyword">extern</span> <span class="keyword">template</span> <span class="special">...</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support default template arguments for function
|
||||
templates.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_LAMBDAS</span></code>
|
||||
@@ -2904,13 +2938,19 @@
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_LONG_LONG</span></code>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support <code class="computeroutput"><span class="keyword">long</span>
|
||||
<span class="keyword">long</span></code>.
|
||||
The compiler does not support defaulted (<code class="computeroutput"><span class="special">=</span>
|
||||
<span class="keyword">default</span></code>) functions in access
|
||||
control sections other than <code class="computeroutput"><span class="keyword">public</span></code>.
|
||||
Public defaulted functions may still be supported, as indicated
|
||||
by <code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DEFAULTED_FUNCTIONS</span></code>.
|
||||
Some compilers implementing an early draft of the C++11 standard
|
||||
(in particular, incorporating <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#906" target="_top">DR906</a>)
|
||||
are susceptible to this problem.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -2939,6 +2979,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"><</span><span class="identifier">limits</span><span class="special">></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>
|
||||
@@ -3000,6 +3053,19 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_SMART_PTR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The standard library header <memory> has no shared_ptr and
|
||||
unique_ptr.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_STATIC_ASSERT</span></code>
|
||||
@@ -3012,6 +3078,18 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_STD_ALIGN</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The standard library header <memory> has no working std::align.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_STD_UNORDERED</span></code>
|
||||
@@ -3025,6 +3103,31 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_TEMPLATE_ALIASES</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support template aliases.
|
||||
</p>
|
||||
</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>
|
||||
@@ -3100,6 +3203,19 @@
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_LONG_LONG</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support <code class="computeroutput"><span class="keyword">long</span>
|
||||
<span class="keyword">long</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
@@ -3384,6 +3500,221 @@
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_config.boost_macro_reference.macros_that_describe_c__14_features_not_supported"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__14_features_not_supported" title="Macros that describe C++14 features not supported">Macros
|
||||
that describe C++14 features not supported</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
The following macros describe features in the 2014 ISO C++ standard, formerly
|
||||
known as C++0y, 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_CXX14_AGGREGATE_NSDMI</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support member initializer for aggregates
|
||||
as in the following example:
|
||||
</p>
|
||||
<div class="blockquote"><blockquote class="blockquote">
|
||||
<p>
|
||||
</p>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">Foo</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">int</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span> <span class="special">=</span> <span class="number">42</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="identifier">Foo</span> <span class="identifier">foo</span> <span class="special">=</span> <span class="special">{</span> <span class="number">0</span> <span class="special">};</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
</blockquote></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_BINARY_LITERALS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not binary literals (e.g. <code class="computeroutput"><span class="number">0</span><span class="identifier">b1010</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_CONSTEXPR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support relaxed <code class="computeroutput"><span class="keyword">constexpr</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_DECLTYPE_AUTO</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support <code class="computeroutput"><span class="keyword">decltype</span><span class="special">(</span><span class="keyword">auto</span><span class="special">)</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_DIGIT_SEPARATORS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support digit separators (e.g. <code class="computeroutput"><span class="number">1</span><span class="char">'000'</span><span class="number">000</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_GENERIC_LAMBDAS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support generic lambda (e.g. <code class="computeroutput"><span class="special">[](</span><span class="keyword">auto</span>
|
||||
<span class="identifier">v</span><span class="special">){</span>
|
||||
<span class="special">}</span></code>).
|
||||
</p>
|
||||
</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 <shared_mutex>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support initialized lambda capture (e.g.
|
||||
<code class="computeroutput"><span class="special">[</span><span class="identifier">foo</span>
|
||||
<span class="special">=</span> <span class="number">42</span><span class="special">]{</span> <span class="special">}</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support return type deduction for normal
|
||||
functions (e.g. <code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">f</span><span class="special">()</span>
|
||||
<span class="special">{</span> <span class="keyword">return</span>
|
||||
<span class="identifier">val</span><span class="special">;</span>
|
||||
<span class="special">}</span></code>).
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX14_VARIABLE_TEMPLATES</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support variable template (e.g. <code class="computeroutput"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span> <span class="identifier">T</span>
|
||||
<span class="identifier">kibi</span> <span class="special">=</span>
|
||||
<span class="identifier">T</span><span class="special">(</span><span class="number">1024</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.macros_that_allow_use_of_c__14_features_with_c__11_or_earlier_compilers"></a><a name="config_14_for_11"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_allow_use_of_c__14_features_with_c__11_or_earlier_compilers" title="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>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
The following macros allow use of C++14 features even with compilers that
|
||||
do not yet provide compliant C++14 support.
|
||||
</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_CXX14_CONSTEXPR</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
This macro works similar to BOOST_CONSTEXPR, but expands to <code class="computeroutput"><span class="keyword">constexpr</span></code> only if the C++14 "relaxed"
|
||||
<code class="computeroutput"><span class="keyword">constexpr</span></code> is available.
|
||||
</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>
|
||||
@@ -3914,6 +4245,20 @@
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_ATTRIBUTE_UNUSED</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Expands to <code class="computeroutput"><span class="identifier">__attribute__</span><span class="special">((</span><span class="identifier">unused</span><span class="special">))</span></code> when this is available - can
|
||||
be used to disable compiler warnings relating to unused types or
|
||||
variables.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
@@ -5278,7 +5623,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
|
||||
@@ -5303,7 +5648,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">
|
||||
@@ -5613,7 +5958,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cstdint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="build_config.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
144
doc/html/boost_config/build_config.html
Normal file
144
doc/html/boost_config/build_config.html
Normal file
@@ -0,0 +1,144 @@
|
||||
<html>
|
||||
<head>
|
||||
<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.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">
|
||||
<link rel="next" href="cstdint.html" title="Standard Integer Types">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
|
||||
<td align="center"><a href="../../../../../index.html">Home</a></td>
|
||||
<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="../../../../../more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cstdint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_config.build_config"></a><a class="link" href="build_config.html" title="Build Time Configuration">Build Time Configuration</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
There are times when you want to control whether a build target gets built
|
||||
or not, based on what features the compiler supports. For example, suppose
|
||||
you have a test file "test_constexpr_128.cpp" which requires three
|
||||
key features in order to build:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
|
||||
<li class="listitem">
|
||||
The <code class="computeroutput"><span class="keyword">constexpr</span></code> keyword as detected
|
||||
by BOOST_NO_CXX11_CONSTEXPR.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
User defined literals, as detected by BOOST_NO_CXX11_USER_DEFINED_LITERALS.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
The <code class="computeroutput"><span class="identifier">__int128</span></code> data type,
|
||||
as detected by BOOST_HAS_INT128.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
Clearly we know that if these features are not supported by the compiler, then
|
||||
there's simply no point in even trying to build the test program. The main
|
||||
advantages being:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
|
||||
<li class="listitem">
|
||||
Faster compile times - build configuration uses lightweight tests the results
|
||||
of which are also cached.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Less noise in build output - there's no reason to be faced with pages of
|
||||
template instantiation backtrace if we know the file can never compile
|
||||
anyway.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Less noise in the online test results - the test will show up as blank,
|
||||
rather than as a fail in the online test matrix.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
A better experience for end users building all of Boost, if those libraries
|
||||
which can not be built for the current target compiler are simply skipped,
|
||||
rather than generating pages of error output.
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
Returning to our example, the test case is probably executed in it's Jamfile
|
||||
via the "run" rule:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">run</span> <span class="identifier">test_constexpr_128</span><span class="special">.</span><span class="identifier">cpp</span> <span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
We now need to make this target conditional on the necessary features. We can
|
||||
do that by first importing the necessary rule at the start of the Jamfile:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">import</span> <span class="identifier">path</span><span class="special">-</span><span class="identifier">to</span><span class="special">-</span><span class="identifier">config</span><span class="special">-</span><span class="identifier">lib</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">config</span> <span class="special">:</span> <span class="identifier">requires</span> <span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
Assuming that the test case is in the usual directory:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">libs</span><span class="special">/</span><span class="identifier">yourlib</span><span class="special">/</span><span class="identifier">test</span>
|
||||
</pre>
|
||||
<p>
|
||||
then the import rule will actually be:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">import</span> <span class="special">../../</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">checks</span><span class="special">/</span><span class="identifier">config</span> <span class="special">:</span> <span class="identifier">requires</span> <span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
Then add a "requires" rule invocation to the requirements section
|
||||
of the target:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">run</span> <span class="identifier">test_constexpr_128</span><span class="special">.</span><span class="identifier">cpp</span>
|
||||
<span class="special">:</span> <span class="special">:</span> <span class="special">:</span> <span class="special">#</span><span class="identifier">requirements</span><span class="special">:</span>
|
||||
<span class="special">[</span> <span class="identifier">requires</span> <span class="identifier">cxx11_constexpr</span> <span class="identifier">cxx11_user_defined_literals</span> <span class="identifier">int128</span> <span class="special">]</span> <span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
Notice that multiple arguments can be added to the requires rule, and that
|
||||
these are always the same as the Boost.Config macro name, but in lower case
|
||||
and with the <span class="emphasis"><em>boost_no_</em></span> or <span class="emphasis"><em>boost_has_</em></span>
|
||||
prefix removed.
|
||||
</p>
|
||||
<p>
|
||||
When building the above example, you will see at the start of the build process
|
||||
the results of the configuration, for example GCC in C++11 mode gives:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="special">-</span> <span class="identifier">Boost</span><span class="special">.</span><span class="identifier">Config</span> <span class="identifier">Feature</span> <span class="identifier">Check</span><span class="special">:</span> <span class="identifier">int128</span> <span class="special">:</span> <span class="identifier">yes</span>
|
||||
<span class="special">-</span> <span class="identifier">Boost</span><span class="special">.</span><span class="identifier">Config</span> <span class="identifier">Feature</span> <span class="identifier">Check</span><span class="special">:</span> <span class="identifier">cxx11_constexpr</span> <span class="special">:</span> <span class="identifier">yes</span>
|
||||
<span class="special">-</span> <span class="identifier">Boost</span><span class="special">.</span><span class="identifier">Config</span> <span class="identifier">Feature</span> <span class="identifier">Check</span><span class="special">:</span> <span class="identifier">cxx11_user_defined_literals</span> <span class="special">:</span> <span class="identifier">yes</span>
|
||||
</pre>
|
||||
<p>
|
||||
That's all there is to this handy feature, should at any time you be unsure
|
||||
of the feature-test names you can pass to the "requires" rule, then
|
||||
search for the Boost.Config macro of interest in libs/config/checks/Jamfiles.v2,
|
||||
and the name of the feature check will follow it.
|
||||
</p>
|
||||
<p>
|
||||
And finally, this feature is built around the Boost.Build built in rule <span class="emphasis"><em>check-target-builds</em></span>
|
||||
which can be used to perform more generalized build-time feature testing. The
|
||||
checks in this library are provided as a convenient shorthand without the need
|
||||
for you to write the test cases yourself.
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2001-2007 Beman Dawes, Vesa Karvonen, John
|
||||
Maddock<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="cstdint.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -3,10 +3,10 @@
|
||||
<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="boost_macro_reference.html" title="Boost Macro Reference">
|
||||
<link rel="prev" href="build_config.html" title="Build Time Configuration">
|
||||
<link rel="next" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@@ -20,13 +20,13 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="build_config.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<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>
|
||||
@@ -283,7 +283,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost_macro_reference.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="build_config.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="guidelines_for_boost_authors.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -68,6 +68,10 @@
|
||||
that describe C++11 features not supported</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_allow_use_of_c__11_features_with_c__03_compilers">Macros
|
||||
that allow use of C++11 features with C++03 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__14_features_not_supported">Macros
|
||||
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.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
|
||||
@@ -77,6 +81,7 @@
|
||||
<dt><span class="section"><a href="boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code">Macros
|
||||
for libraries with separate source code</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="boost_config/build_config.html">Build Time Configuration</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_config/cstdint.html">Standard Integer Types</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="boost_config/cstdint.html#boost_config.cstdint.overview">Overview</a></span></dt>
|
||||
@@ -118,7 +123,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
|
||||
@@ -679,6 +684,22 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_LIB_BUILDID</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
If you built Boost using the <code class="computeroutput"><span class="special">--</span><span class="identifier">buildid</span></code> option then set this
|
||||
macro to the same value as you passed to bjam. For example if you
|
||||
built using <code class="computeroutput"><span class="identifier">bjam</span> <span class="identifier">address</span><span class="special">-</span><span class="identifier">model</span><span class="special">=</span><span class="number">64</span> <span class="special">--</span><span class="identifier">buildid</span><span class="special">=</span><span class="identifier">amd64</span></code> then compile your code
|
||||
with <code class="computeroutput"><span class="special">-</span><span class="identifier">DBOOST_LIB_BUILDID</span><span class="special">=</span><span class="identifier">amd64</span></code>
|
||||
to ensure the correct libraries are selected at link time.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_LIB_TOOLSET</span></code>
|
||||
@@ -700,7 +721,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
|
||||
@@ -967,7 +988,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: June 01, 2014 at 09:50:01 GMT</small></p></td>
|
||||
<td align="left"><p><small>Last revised: July 02, 2016 at 08:07:27 GMT</small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
|
||||
@@ -348,6 +348,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.
|
||||
]]
|
||||
@@ -399,6 +402,13 @@ containing header should be included only once while preprocessing the
|
||||
current translation unit. The pragma may improve compile times of large projects
|
||||
with some compilers.
|
||||
]]
|
||||
[[`BOOST_HAS_PRAGMA_DETECT_MISMATCH`][Compiler][
|
||||
The compiler recognizes the `#pragma detect_mismatch("name", "value")` directive which tells that the
|
||||
link stage should be terminated with error if values for provided `"name"` missmatch.
|
||||
This pragma may be a help in preventing ODR violations and ensuring that different modules
|
||||
are compiled with same flags.
|
||||
]]
|
||||
|
||||
[[`BOOST_HAS_PTHREAD_DELAY_NP`][Platform][
|
||||
The platform has the POSIX API `pthread_delay_np`.
|
||||
]]
|
||||
@@ -582,6 +592,48 @@ that are not yet supported by a particular compiler or library.
|
||||
[[`BOOST_NO_CXX11_ALIGNAS`][The compiler does not support the `alignas` keyword.]]
|
||||
[[`BOOST_NO_CXX11_ALLOCATOR`][The standard library does not provide a C++11 version of `std::allocator` in <memory>.]]
|
||||
[[`BOOST_NO_CXX11_ATOMIC_SMART_PTR`][The standard library <memory> does not support atomic smart pointer operations.]]
|
||||
[[`BOOST_NO_CXX11_AUTO_DECLARATIONS`][The compiler does not support
|
||||
type deduction for variables declared with the `auto` keyword (`auto var = ...;`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS`][The compiler does not support
|
||||
type deduction for multiple variables declared with the `auto` keyword (`auto var = ..., *ptr = ...;`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_CHAR16_T`][The compiler does not support
|
||||
type `char16_t`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_CHAR32_T`][The compiler does not support
|
||||
type `char32_t`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_CONSTEXPR`][The compiler does not support
|
||||
`constexpr`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DECLTYPE`][The compiler does not support
|
||||
`decltype`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DECLTYPE_N3276`][The compiler does not support the extension to
|
||||
`decltype` described in [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf N3276],
|
||||
accepted in Madrid, March 2011.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DELETED_FUNCTIONS`][The compiler does not support
|
||||
deleted (`= delete`) functions.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DEFAULTED_FUNCTIONS`][The compiler does not support
|
||||
defaulted (`= default`) functions.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS`][The compiler does not support
|
||||
explicit conversion operators (`explicit operator T()`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_EXTERN_TEMPLATE`][The compiler does not support
|
||||
explicit instantiation forward declarations for templates (`extern template ...`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_FINAL`][The compiler does not support the C++ class-virt-specifier final.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS`][The compiler does not support
|
||||
expanding a variadic template parameter pack into a template containing one or more
|
||||
fixed arguments]]
|
||||
[[`BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS`][The compiler does not support
|
||||
default template arguments for function templates.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_HDR_ATOMIC`][The standard library does not provide header <atomic>.]]
|
||||
[[`BOOST_NO_CXX11_HDR_ARRAY`][The standard library does not provide header <array>.]]
|
||||
[[`BOOST_NO_CXX11_HDR_CHRONO`][The standard library does not provide header <chrono>.]]
|
||||
@@ -602,49 +654,8 @@ that are not yet supported by a particular compiler or library.
|
||||
[[`BOOST_NO_CXX11_HDR_TYPE_TRAITS`][The standard library does not provide header <type_traits>.]]
|
||||
[[`BOOST_NO_CXX11_HDR_UNORDERED_MAP`][The standard library does not provide header <unordered_map>.]]
|
||||
[[`BOOST_NO_CXX11_HDR_UNORDERED_SET`][The standard library does not provide header <unordered_set>.]]
|
||||
[[`BOOST_NO_CXX11_INLINE_NAMESPACES`][The compiler does not support inline namespaces.]]
|
||||
[[`BOOST_NO_CXX11_SMART_PTR`][The standard library header <memory> has no shared_ptr and unique_ptr.]]
|
||||
[[`BOOST_NO_CXX11_STD_ALIGN`][The standard library header <memory> has no working std::align.]]
|
||||
|
||||
[[`BOOST_NO_CXX11_AUTO_DECLARATIONS`][The compiler does not support
|
||||
type deduction for variables declared with the `auto` keyword (`auto var = ...;`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS`][The compiler does not support
|
||||
type deduction for multiple variables declared with the `auto` keyword (`auto var = ..., *ptr = ...;`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_CHAR16_T`][The compiler does not support
|
||||
type `char16_t`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_CHAR32_T`][The compiler does not support
|
||||
type `char32_t`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_TEMPLATE_ALIASES`][The compiler does not support template aliases.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_CONSTEXPR`][The compiler does not support
|
||||
`constexpr`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DECLTYPE`][The compiler does not support
|
||||
`decltype`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DECLTYPE_N3276`][The compiler does not support the extension to
|
||||
`decltype` described in [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf N3276],
|
||||
accepted in Madrid, March 2011.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DEFAULTED_FUNCTIONS`][The compiler does not support
|
||||
defaulted (`= default`) functions.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DELETED_FUNCTIONS`][The compiler does not support
|
||||
deleted (`= delete`) functions.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS`][The compiler does not support
|
||||
explicit conversion operators (`explicit operator T()`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_EXTERN_TEMPLATE`][The compiler does not support
|
||||
explicit instantiation forward declarations for templates (`extern template ...`).
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS`][The compiler does not support
|
||||
default template arguments for function templates.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_INLINE_NAMESPACES`][The compiler does not support inline namespaces.]]
|
||||
[[`BOOST_NO_CXX11_LAMBDAS`][The compiler does not support Lambdas.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS`][The compiler does not allow to
|
||||
@@ -652,12 +663,19 @@ pass local classes as template parameters (this macro intentionally does not
|
||||
control passing of unnamed types as template parameters, see also
|
||||
[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm N2657]).
|
||||
]]
|
||||
[[`BOOST_NO_LONG_LONG`][The compiler does not support `long long`.
|
||||
[[`BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS`][The compiler does not support
|
||||
defaulted (`= default`) functions in access control sections other than `public`. Public defaulted
|
||||
functions may still be supported, as indicated by `BOOST_NO_CXX11_DEFAULTED_FUNCTIONS`. Some
|
||||
compilers implementing an early draft of the C++11 standard (in particular, incorporating
|
||||
[@http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#906 DR906]) are susceptible to this problem.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_NOEXCEPT`][The compiler does not support `noexcept`.
|
||||
]]
|
||||
[[`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.
|
||||
]]
|
||||
@@ -674,12 +692,18 @@ r-value references.
|
||||
[[`BOOST_NO_CXX11_SCOPED_ENUMS`][The compiler does not support
|
||||
scoped enumerations (`enum class`).
|
||||
]]
|
||||
[[`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`.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_STD_ALIGN`][The standard library header <memory> has no working std::align.]]
|
||||
[[`BOOST_NO_CXX11_STD_UNORDERED`][The standard library does not support
|
||||
<unordered_map> and <unordered_set>.
|
||||
]]
|
||||
[[`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
|
||||
@@ -696,6 +720,8 @@ variadic templates.
|
||||
[[`BOOST_NO_CXX11_VARIADIC_MACROS`][The compiler does not support
|
||||
variadic macros.
|
||||
]]
|
||||
[[`BOOST_NO_LONG_LONG`][The compiler does not support `long long`.
|
||||
]]
|
||||
]
|
||||
|
||||
[endsect]
|
||||
@@ -852,6 +878,52 @@ release supports the CTP features.
|
||||
|
||||
[endsect]
|
||||
|
||||
[section Macros that describe C++14 features not supported]
|
||||
|
||||
The following macros describe features in the 2014 ISO C++ standard, formerly known as C++0y,
|
||||
that are not yet supported by a particular compiler or library.
|
||||
|
||||
[table
|
||||
[[Macro ][Description ]]
|
||||
[[`BOOST_NO_CXX14_AGGREGATE_NSDMI`][The compiler does not support member initializer for aggregates as in the following example:
|
||||
[:
|
||||
``
|
||||
struct Foo
|
||||
{
|
||||
int x, y = 42;
|
||||
};
|
||||
|
||||
Foo foo = { 0 };
|
||||
``
|
||||
]
|
||||
]]
|
||||
[[`BOOST_NO_CXX14_BINARY_LITERALS`][The compiler does not binary literals (e.g. `0b1010`).]]
|
||||
[[`BOOST_NO_CXX14_CONSTEXPR`][The compiler does not support relaxed `constexpr`.]]
|
||||
[[`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);`).]]
|
||||
]
|
||||
|
||||
[endsect]
|
||||
|
||||
[#config_14_for_11]
|
||||
|
||||
[section Macros that allow use of C++14 features with C++11 or earlier compilers]
|
||||
|
||||
The following macros allow use of C++14 features even with compilers that do not yet
|
||||
provide compliant C++14 support.
|
||||
|
||||
[table
|
||||
[[Macro ][ Description ]]
|
||||
[[`BOOST_CXX14_CONSTEXPR`][This macro works similar to BOOST_CONSTEXPR, but expands to `constexpr` only if the C++14 "relaxed" `constexpr` is available.]]
|
||||
]
|
||||
|
||||
[endsect]
|
||||
|
||||
[#config_helpers]
|
||||
|
||||
[section Boost Helper Macros]
|
||||
@@ -1134,6 +1206,8 @@ Usage example:
|
||||
handle_error("ptr is NULL");
|
||||
``
|
||||
]]
|
||||
[[`BOOST_ATTRIBUTE_UNUSED`][Expands to `__attribute__((unused))` when this is available -
|
||||
can be used to disable compiler warnings relating to unused types or variables.]]
|
||||
]
|
||||
|
||||
[endsect]
|
||||
@@ -1288,7 +1362,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]
|
||||
|
||||
|
||||
@@ -156,11 +156,16 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
||||
// vc11:
|
||||
# define BOOST_LIB_TOOLSET "vc110"
|
||||
|
||||
# elif defined(BOOST_MSVC)
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1900)
|
||||
|
||||
// vc12:
|
||||
# define BOOST_LIB_TOOLSET "vc120"
|
||||
|
||||
# elif defined(BOOST_MSVC)
|
||||
|
||||
// vc14:
|
||||
# define BOOST_LIB_TOOLSET "vc140"
|
||||
|
||||
# elif defined(__BORLANDC__)
|
||||
|
||||
// CBuilder 6:
|
||||
@@ -382,6 +387,11 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
||||
# ifdef BOOST_LIB_DIAGNOSTIC
|
||||
# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
|
||||
# endif
|
||||
#elif defined(BOOST_LIB_BUILDID)
|
||||
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib")
|
||||
# ifdef BOOST_LIB_DIAGNOSTIC
|
||||
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib")
|
||||
# endif
|
||||
#else
|
||||
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
|
||||
# ifdef BOOST_LIB_DIAGNOSTIC
|
||||
|
||||
@@ -195,6 +195,37 @@
|
||||
#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_THREAD_LOCAL
|
||||
|
||||
// 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
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
#if __BORLANDC__ >= 0x590
|
||||
# define BOOST_HAS_TR1_HASH
|
||||
|
||||
@@ -10,6 +10,11 @@
|
||||
|
||||
#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:
|
||||
@@ -18,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
|
||||
@@ -30,9 +39,20 @@
|
||||
# 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
|
||||
|
||||
@@ -47,7 +67,26 @@
|
||||
// Clang supports "long long" in all compilation modes.
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
|
||||
#if defined(__SIZEOF_INT128__)
|
||||
//
|
||||
// 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.
|
||||
// Similarly __SIZEOF_INT128__ is defined when targetting msvc
|
||||
// compatibility even though the required support functions are absent.
|
||||
//
|
||||
#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
|
||||
|
||||
@@ -79,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
|
||||
@@ -176,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
|
||||
|
||||
@@ -188,8 +232,68 @@
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#endif
|
||||
|
||||
// Clang always supports variadic macros
|
||||
// Clang always supports extern templates
|
||||
#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 __cplusplus < 201400
|
||||
// All versions with __cplusplus above this value seem to support this:
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
//
|
||||
// __builtin_unreachable:
|
||||
#if defined(__has_builtin) && __has_builtin(__builtin_unreachable)
|
||||
#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__
|
||||
|
||||
@@ -121,6 +121,37 @@
|
||||
#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_THREAD_LOCAL
|
||||
|
||||
// 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
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
//
|
||||
// TR1 macros:
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -105,6 +105,37 @@
|
||||
#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_THREAD_LOCAL
|
||||
|
||||
// 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
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
#ifdef c_plusplus
|
||||
// EDG has "long long" in non-strict mode
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
//
|
||||
@@ -59,6 +59,10 @@
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#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
|
||||
#define BOOST_MATH_DISABLE_STD_FPCLASSIFY
|
||||
//#define BOOST_HAS_FPCLASSIFY
|
||||
|
||||
@@ -81,6 +81,37 @@
|
||||
#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_THREAD_LOCAL
|
||||
|
||||
// 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
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
#if (__DMC__ <= 0x840)
|
||||
#error "Compiler not supported or configured - please reconfigure"
|
||||
|
||||
@@ -16,8 +16,13 @@
|
||||
//
|
||||
// Define BOOST_GCC so we know this is "real" GCC and not some pretender:
|
||||
//
|
||||
#define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
|
||||
#if !defined(__CUDACC__)
|
||||
#define BOOST_GCC (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
|
||||
#define BOOST_GCC BOOST_GCC_VERSION
|
||||
#endif
|
||||
|
||||
#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L)
|
||||
# define BOOST_GCC_CXX11
|
||||
#endif
|
||||
|
||||
#if __GNUC__ == 3
|
||||
@@ -42,11 +47,11 @@
|
||||
#endif
|
||||
|
||||
// GCC prior to 3.4 had #pragma once too but it didn't work well with filesystem links
|
||||
#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
|
||||
#if BOOST_GCC_VERSION >= 30400
|
||||
#define BOOST_HAS_PRAGMA_ONCE
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 4 )
|
||||
#if BOOST_GCC_VERSION < 40400
|
||||
// Previous versions of GCC did not completely implement value-initialization:
|
||||
// GCC Bug 30111, "Value-initialization of POD base class doesn't initialize
|
||||
// members", reported by Jonathan Wakely in 2006,
|
||||
@@ -114,7 +119,7 @@
|
||||
//
|
||||
// RTTI and typeinfo detection is possible post gcc-4.3:
|
||||
//
|
||||
#if __GNUC__ * 100 + __GNUC_MINOR__ >= 403
|
||||
#if BOOST_GCC_VERSION > 40300
|
||||
# ifndef __GXX_RTTI
|
||||
# ifndef BOOST_NO_TYPEID
|
||||
# define BOOST_NO_TYPEID
|
||||
@@ -128,20 +133,46 @@
|
||||
//
|
||||
// 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
|
||||
//
|
||||
#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if (BOOST_GCC_VERSION >= 40300) && defined(BOOST_GCC_CXX11)
|
||||
// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are
|
||||
// passed on the command line, which in turn defines
|
||||
// __GXX_EXPERIMENTAL_CXX0X__.
|
||||
@@ -154,19 +185,11 @@
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
|
||||
// Variadic templates compiler:
|
||||
// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html
|
||||
# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__))
|
||||
# define BOOST_HAS_VARIADIC_TMPL
|
||||
# else
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.4.n and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if (BOOST_GCC_VERSION < 40400) || !defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
@@ -176,20 +199,21 @@
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
|
||||
#if BOOST_GCC_VERSION < 40500
|
||||
# define BOOST_NO_SFINAE_EXPR
|
||||
#endif
|
||||
|
||||
// GCC 4.5 forbids declaration of defaulted functions in private or protected sections
|
||||
#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && (__GNUC__ == 4 && __GNUC_MINOR__ <= 5)
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 5) || !defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.5.0 and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if (BOOST_GCC_VERSION < 40500) || !defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# define BOOST_NO_CXX11_LAMBDAS
|
||||
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
@@ -199,7 +223,7 @@
|
||||
|
||||
// C++0x features in 4.5.1 and later
|
||||
//
|
||||
#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40501) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if (BOOST_GCC_VERSION < 40501) || !defined(BOOST_GCC_CXX11)
|
||||
// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_CXX11_SCOPED_ENUMS before 4.5.1
|
||||
// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
@@ -207,7 +231,7 @@
|
||||
|
||||
// C++0x features in 4.6.n and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if (BOOST_GCC_VERSION < 40600) || !defined(BOOST_GCC_CXX11)
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
@@ -217,22 +241,61 @@
|
||||
|
||||
// C++0x features in 4.7.n and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if (BOOST_GCC_VERSION < 40700) || !defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NO_CXX11_FINAL
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.8.n and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if (BOOST_GCC_VERSION < 40800) || !defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
# define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.8.1 and later
|
||||
//
|
||||
#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40801) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if (BOOST_GCC_VERSION < 40801) || !defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
|
||||
// C++14 features in 4.9.0 and later
|
||||
//
|
||||
#if (BOOST_GCC_VERSION < 40900) || (__cplusplus < 201300)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
# if !((BOOST_GCC_VERSION >= 40801) && (BOOST_GCC_VERSION < 40900) && defined(BOOST_GCC_CXX11))
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
//
|
||||
// Unused attribute:
|
||||
#if __GNUC__ >= 4
|
||||
# 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
|
||||
@@ -248,12 +311,12 @@
|
||||
|
||||
// versions check:
|
||||
// we don't know gcc prior to version 3.30:
|
||||
#if (__GNUC__ < 3) || (__GNUC__ == 3 && (__GNUC_MINOR__ < 3))
|
||||
#if (BOOST_GCC_VERSION< 30300)
|
||||
# error "Compiler not configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 4.6 (Pre-release):
|
||||
#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6))
|
||||
// last known and checked version is 4.9:
|
||||
#if (BOOST_GCC_VERSION > 40900)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
@@ -263,4 +326,3 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -59,6 +59,37 @@
|
||||
# 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_THREAD_LOCAL
|
||||
|
||||
// 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
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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)
|
||||
@@ -123,6 +123,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
|
||||
|
||||
@@ -14,10 +14,44 @@
|
||||
|
||||
// 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
|
||||
|
||||
#else
|
||||
|
||||
#include <boost/config/compiler/gcc.hpp>
|
||||
|
||||
#undef BOOST_GCC_VERSION
|
||||
#undef BOOST_GCC_CXX11
|
||||
|
||||
#endif
|
||||
|
||||
#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)
|
||||
@@ -34,11 +68,64 @@
|
||||
# define BOOST_INTEL_STDCXX0X
|
||||
#endif
|
||||
|
||||
#ifdef 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)
|
||||
#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
|
||||
|
||||
#include <boost/config/compiler/common_edg.hpp>
|
||||
|
||||
#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)
|
||||
@@ -157,6 +244,24 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
|
||||
#endif
|
||||
|
||||
// RTTI
|
||||
// __RTTI is the EDG macro
|
||||
// __INTEL_RTTI__ is the Intel macro
|
||||
// __GXX_RTTI is the g++ macro
|
||||
// _CPPRTTI is the MSVC++ macro
|
||||
#if !defined(__RTTI) && !defined(__INTEL_RTTI__) && !defined(__GXX_RTTI) && !defined(_CPPRTTI)
|
||||
|
||||
#if !defined(BOOST_NO_RTTI)
|
||||
# define BOOST_NO_RTTI
|
||||
#endif
|
||||
|
||||
// in MS mode, static typeid works even when RTTI is off
|
||||
#if !defined(_MSC_VER) && !defined(BOOST_NO_TYPEID)
|
||||
# define BOOST_NO_TYPEID
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support Intel prior to version 6.0:
|
||||
@@ -184,7 +289,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
// (Niels Dekker, LKEB, May 2010)
|
||||
// Apparently Intel 12.1 (compiler version number 9999 !!) has the same issue (compiler regression).
|
||||
#if defined(__INTEL_COMPILER)
|
||||
# if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1500))
|
||||
# if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1600))
|
||||
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
# endif
|
||||
#endif
|
||||
@@ -199,75 +304,187 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
#endif
|
||||
//
|
||||
// C++0x features
|
||||
// - ICC added static_assert in 11.0 (first version with C++0x support)
|
||||
// For each feature we need to check both the Intel compiler version,
|
||||
// and the version of MSVC or GCC that we are emulating.
|
||||
// See http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
|
||||
// for a list of which features were implemented in which Intel releases.
|
||||
//
|
||||
#if defined(BOOST_INTEL_STDCXX0X)
|
||||
# undef BOOST_NO_CXX11_STATIC_ASSERT
|
||||
//
|
||||
// These pass our test cases, but aren't officially supported according to:
|
||||
// http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
|
||||
//
|
||||
//# undef BOOST_NO_CXX11_LAMBDAS
|
||||
//# undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
//# undef BOOST_NO_CXX11_DECLTYPE
|
||||
//# undef BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
//# undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
// BOOST_NO_CXX11_CONSTEXPR:
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && !defined(_MSC_VER)
|
||||
// Available in earlier Intel versions, but fail our tests:
|
||||
# undef BOOST_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
// BOOST_NO_CXX11_NULLPTR:
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
|
||||
# undef BOOST_NO_CXX11_NULLPTR
|
||||
#endif
|
||||
// BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1200)
|
||||
//# undef BOOST_NO_CXX11_RVALUE_REFERENCES // Enabling this breaks Filesystem and Exception libraries
|
||||
//# undef BOOST_NO_CXX11_SCOPED_ENUMS // doesn't really work!!
|
||||
# undef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# undef BOOST_NO_CXX11_LAMBDAS
|
||||
# undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
# undef BOOST_NO_CXX11_DECLTYPE
|
||||
# undef BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
# undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
// BOOST_NO_CXX11_DECLTYPE
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
|
||||
# undef BOOST_NO_CXX11_DECLTYPE
|
||||
#endif
|
||||
|
||||
// icl Version 12.1.0.233 Build 20110811 and possibly some other builds
|
||||
// had an incorrect __INTEL_COMPILER value of 9999. Intel say this has been fixed.
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION > 1200)
|
||||
# undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
# undef BOOST_NO_CXX11_NULLPTR
|
||||
# undef BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# undef BOOST_NO_SFINAE_EXPR
|
||||
# undef BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# undef BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
|
||||
// http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
|
||||
// continues to list scoped enum support as "Partial"
|
||||
//# undef BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
// BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#endif
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(_MSC_VER)
|
||||
# undef BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
|
||||
// BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
// This one generates internal compiler errors in multiprecision, disabled for now:
|
||||
//# undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
// This one generates errors when used with conditional exception specifications, for example in multiprecision:
|
||||
//# undef BOOST_NO_CXX11_NOEXCEPT
|
||||
# undef BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1300) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
|
||||
// This is available from earlier Intel versions, but breaks Filesystem and other libraries:
|
||||
# undef BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1110) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
|
||||
# undef BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40200)) && (!defined(_MSC_VER) || (_MSC_VER >= 1400))
|
||||
# undef BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
|
||||
# undef BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
|
||||
# undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_CHAR16_T
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
|
||||
# undef BOOST_NO_CXX11_CHAR16_T
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_CHAR32_T
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
|
||||
# undef BOOST_NO_CXX11_CHAR32_T
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))
|
||||
# undef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40501)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))
|
||||
// This is available but broken in earlier Intel releases.
|
||||
# undef BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_SFINAE_EXPR
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
|
||||
# undef BOOST_NO_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:
|
||||
# undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_LAMBDAS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
|
||||
# undef BOOST_NO_CXX11_LAMBDAS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500))
|
||||
# undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))
|
||||
# undef BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_RAW_LITERALS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_RAW_LITERALS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
|
||||
# undef BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_NOEXCEPT
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
|
||||
// Available in earlier Intel release, but generates errors when used with
|
||||
// conditional exception specifications, for example in multiprecision:
|
||||
# undef BOOST_NO_CXX11_NOEXCEPT
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
|
||||
# undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#endif
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1310)
|
||||
# undef BOOST_NO_SFINAE_EXPR
|
||||
|
||||
// BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))
|
||||
# undef BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#endif
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1400) && !defined(_MSC_VER)
|
||||
# undef BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
# undef BOOST_NO_CXX11_RAW_LITERALS
|
||||
// This one generates errors when used with conditional exception specifications, for example in multiprecision:
|
||||
//# undef BOOST_NO_CXX11_NOEXCEPT
|
||||
// This breaks multiprecision:
|
||||
//# undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# undef BOOST_NO_CXX11_HDR_THREAD
|
||||
# undef BOOST_NO_CXX11_CHAR32_T
|
||||
# undef BOOST_NO_CXX11_CHAR16_T
|
||||
|
||||
// BOOST_NO_CXX11_ALIGNAS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))
|
||||
# undef BOOST_NO_CXX11_ALIGNAS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))
|
||||
# undef BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))
|
||||
# undef BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_FINAL
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))
|
||||
# undef BOOST_NO_CXX11_FINAL
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// Broken in all versions up to 15:
|
||||
#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION <= 1310)
|
||||
# define BOOST_NO_CXX11_HDR_FUTURE
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
@@ -279,20 +496,6 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
# define BOOST_NO_CXX11_HDR_TUPLE
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER <= 1700)
|
||||
//
|
||||
// Although the Intel compiler is capable of supporting these, it appears not to in MSVC compatibility mode:
|
||||
//
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# if(BOOST_INTEL_CXX_VERSION < 1310)
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if (BOOST_INTEL_CXX_VERSION < 1200)
|
||||
//
|
||||
// fenv.h appears not to work with Intel prior to 12.0:
|
||||
@@ -300,17 +503,33 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
# define BOOST_NO_FENV_H
|
||||
#endif
|
||||
|
||||
// Intel 13.10 fails to access defaulted functions of a base class declared in private or protected sections,
|
||||
// producing the following errors:
|
||||
// error #453: protected function "..." (declared at ...") is not accessible through a "..." pointer or object
|
||||
#if (BOOST_INTEL_CXX_VERSION <= 1310)
|
||||
# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
|
||||
# define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
|
||||
#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310)
|
||||
#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
|
||||
//
|
||||
// last known and checked version:
|
||||
#if (BOOST_INTEL_CXX_VERSION > 1310)
|
||||
#if (BOOST_INTEL_CXX_VERSION > 1500)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# elif defined(_MSC_VER)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -124,6 +124,37 @@
|
||||
#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_THREAD_LOCAL
|
||||
|
||||
// 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
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
|
||||
|
||||
|
||||
@@ -73,6 +73,38 @@
|
||||
#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_THREAD_LOCAL
|
||||
|
||||
// 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
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support MPW prior to version 8.9:
|
||||
|
||||
@@ -14,3 +14,11 @@
|
||||
// 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
|
||||
|
||||
@@ -81,4 +81,35 @@
|
||||
# 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_THREAD_LOCAL
|
||||
|
||||
// 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
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -119,7 +119,37 @@
|
||||
#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_THREAD_LOCAL
|
||||
|
||||
// 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
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
//
|
||||
// version check:
|
||||
// probably nothing to do here?
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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,18 +116,66 @@
|
||||
#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_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
|
||||
|
||||
|
||||
// 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
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#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
|
||||
|
||||
@@ -130,3 +130,34 @@
|
||||
#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_THREAD_LOCAL
|
||||
|
||||
// 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
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
@@ -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,6 +90,9 @@
|
||||
#if (_MSC_VER >= 1400) && !defined(_DEBUG)
|
||||
# define BOOST_HAS_NRVO
|
||||
#endif
|
||||
#if _MSC_VER >= 1600 // 160X == VC++ 10.0
|
||||
# define BOOST_HAS_PRAGMA_DETECT_MISMATCH
|
||||
#endif
|
||||
//
|
||||
// disable Win32 API's if compiler extensions are
|
||||
// turned off:
|
||||
@@ -149,6 +138,7 @@
|
||||
// C++11 features supported by VC++ 11 (aka 2012)
|
||||
//
|
||||
#if _MSC_VER < 1700
|
||||
# define BOOST_NO_CXX11_FINAL
|
||||
# define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif // _MSC_VER < 1700
|
||||
@@ -168,18 +158,66 @@
|
||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#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_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#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 < 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
|
||||
# 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
|
||||
// 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
|
||||
|
||||
// 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_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
//
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
|
||||
//
|
||||
// prefix and suffix headers:
|
||||
@@ -216,6 +254,8 @@
|
||||
# define BOOST_COMPILER_VERSION evc11
|
||||
# elif _MSC_VER < 1900
|
||||
# define BOOST_COMPILER_VERSION evc12
|
||||
# elif _MSC_VER < 2000
|
||||
# define BOOST_COMPILER_VERSION evc14
|
||||
# else
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown EVC++ compiler version - please run the configure tests and report the results"
|
||||
@@ -243,6 +283,8 @@
|
||||
# define BOOST_COMPILER_VERSION 11.0
|
||||
# elif _MSC_VER < 1900
|
||||
# define BOOST_COMPILER_VERSION 12.0
|
||||
# elif _MSC_VER < 2000
|
||||
# define BOOST_COMPILER_VERSION 14.0
|
||||
# else
|
||||
# define BOOST_COMPILER_VERSION _MSC_VER
|
||||
# endif
|
||||
@@ -252,8 +294,8 @@
|
||||
#endif
|
||||
|
||||
//
|
||||
// last known and checked version is 18.00.20827.3 (VC12 RC, aka 2013 RC):
|
||||
#if (_MSC_VER > 1800 && _MSC_FULL_VER > 180020827)
|
||||
// last known and checked version is 19.00.23026 (VC++ 2015 RTM):
|
||||
#if (_MSC_VER > 1900)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
|
||||
262
include/boost/config/compiler/xlcpp.hpp
Normal file
262
include/boost/config/compiler/xlcpp.hpp
Normal 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
|
||||
|
||||
18
include/boost/config/platform/cloudabi.hpp
Normal file
18
include/boost/config/platform/cloudabi.hpp
Normal 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
|
||||
31
include/boost/config/platform/haiku.hpp
Normal file
31
include/boost/config/platform/haiku.hpp
Normal 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>
|
||||
@@ -72,7 +72,9 @@
|
||||
// boilerplate code:
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#include <boost/config/posix_features.hpp>
|
||||
#if defined(__USE_GNU) && !defined(__ANDROID__) && !defined(ANDROID)
|
||||
#define BOOST_HAS_PTHREAD_YIELD
|
||||
#endif
|
||||
|
||||
#ifndef __GNUC__
|
||||
//
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -41,8 +41,10 @@
|
||||
#endif
|
||||
|
||||
#if defined(__MINGW32__) && (__GNUC__ >= 4)
|
||||
# define BOOST_HAS_EXPM1
|
||||
# define BOOST_HAS_LOG1P
|
||||
// Mingw has these functions but there are persistent problems
|
||||
// with calls to these crashing, so disable for now:
|
||||
//# define BOOST_HAS_EXPM1
|
||||
//# define BOOST_HAS_LOG1P
|
||||
# define BOOST_HAS_GETTIMEOFDAY
|
||||
#endif
|
||||
//
|
||||
@@ -72,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
|
||||
|
||||
@@ -39,7 +39,8 @@
|
||||
// Intel
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
|
||||
|
||||
#elif defined __clang__
|
||||
#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"
|
||||
|
||||
@@ -47,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"
|
||||
|
||||
@@ -91,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)
|
||||
@@ -117,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
|
||||
|
||||
|
||||
@@ -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) \
|
||||
|
||||
@@ -28,13 +28,19 @@
|
||||
|
||||
#else
|
||||
|
||||
// If our std lib was not some version of STLport, then include <utility> as it is about
|
||||
// the smallest of the std lib headers that includes real C++ stuff. (Some std libs do not
|
||||
// include their C++-related macros in <cstddef> so this additional include makes sure
|
||||
// we get those definitions)
|
||||
// (again do not rely on this header being included since users can short-circuit this
|
||||
// header if they know whose std lib they are using.)
|
||||
#include <boost/config/no_tr1/utility.hpp>
|
||||
// If our std lib was not some version of STLport, and has not otherwise
|
||||
// been detected, then include <utility> as it is about
|
||||
// the smallest of the std lib headers that includes real C++ stuff.
|
||||
// Some std libs do not include their C++-related macros in <cstddef>
|
||||
// so this additional include makes sure we get those definitions.
|
||||
// Note: do not rely on this header being included since users can short-circuit this
|
||||
// #include if they know whose std lib they are using.
|
||||
#if !defined(__LIBCOMO__) && !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)\
|
||||
&& !defined(_LIBCPP_VERSION) && !defined(__GLIBCPP__) && !defined(__GLIBCXX__)\
|
||||
&& !defined(__STL_CONFIG_H) && !defined(__MSL_CPP__) && !defined(__IBMCPP__)\
|
||||
&& !defined(MSIPL_COMPILE_H) && !defined(_YVALS) && !defined(_CPPLIB_VER)
|
||||
#include <utility>
|
||||
#endif
|
||||
|
||||
#if defined(__LIBCOMO__)
|
||||
// Comeau STL:
|
||||
|
||||
@@ -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,9 +147,43 @@
|
||||
# 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
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
#elif !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400)
|
||||
// Intel's compiler can't handle this header yet:
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
#endif
|
||||
|
||||
|
||||
// 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
|
||||
|
||||
#ifdef _CPPLIB_VER
|
||||
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
|
||||
|
||||
@@ -62,6 +62,16 @@
|
||||
# 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
|
||||
|
||||
//
|
||||
// Intrinsic type_traits support.
|
||||
// The SGI STL has it's own __type_traits class, which
|
||||
@@ -71,5 +81,3 @@
|
||||
#define BOOST_HAS_SGI_TYPE_TRAITS
|
||||
|
||||
#define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__)
|
||||
|
||||
|
||||
|
||||
@@ -31,16 +31,66 @@
|
||||
# define BOOST_NO_CXX11_ALLOCATOR
|
||||
#endif
|
||||
|
||||
#if __cplusplus < 201103
|
||||
# define BOOST_NO_CXX11_HDR_ARRAY
|
||||
# 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
|
||||
# define BOOST_NO_CXX11_HDR_RATIO
|
||||
# define BOOST_NO_CXX11_HDR_REGEX
|
||||
# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
# define BOOST_NO_CXX11_HDR_THREAD
|
||||
# define BOOST_NO_CXX11_HDR_TUPLE
|
||||
# define BOOST_NO_CXX11_HDR_TYPEINDEX
|
||||
# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
|
||||
# define BOOST_NO_CXX11_HDR_UNORDERED_SET
|
||||
# define BOOST_NO_CXX11_NUMERIC_LIMITS
|
||||
# define BOOST_NO_CXX11_ALLOCATOR
|
||||
# define BOOST_NO_CXX11_SMART_PTR
|
||||
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||
# define BOOST_NO_CXX11_STD_ALIGN
|
||||
# define BOOST_NO_CXX11_ADDRESSOF
|
||||
# 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
|
||||
|
||||
#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 ---
|
||||
|
||||
@@ -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
|
||||
@@ -91,6 +92,14 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Decide whether we have C++11 support turned on:
|
||||
//
|
||||
#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++
|
||||
// developers. He also commented:
|
||||
@@ -102,10 +111,72 @@
|
||||
//
|
||||
// Another resource for understanding stdlibc++ 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
|
||||
// only ever claims to emulate GCC-4.2, see https://svn.boost.org/trac/boost/ticket/7473
|
||||
// for a long discussion on this issue. What we can do though is use clang's __has_include
|
||||
// to detect the presence of a C++11 header that was introduced with a specific GCC release.
|
||||
// We still have to be careful though as many such headers were buggy and/or incomplete when
|
||||
// first introduced, so we only check for headers that were fully featured from day 1, and then
|
||||
// use that to infer the underlying GCC version:
|
||||
//
|
||||
#ifdef __clang__
|
||||
|
||||
#if __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(<scoped_allocator>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 40700
|
||||
#elif __has_include(<typeindex>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 40600
|
||||
#elif __has_include(<future>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 40500
|
||||
#elif __has_include(<ratio>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 40400
|
||||
#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
|
||||
// in early GCC versions.
|
||||
//
|
||||
#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 __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if (BOOST_LIBSTDCXX_VERSION < 40300) || !defined(BOOST_LIBSTDCXX11)
|
||||
# define BOOST_NO_CXX11_HDR_ARRAY
|
||||
# define BOOST_NO_CXX11_HDR_TUPLE
|
||||
# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
|
||||
@@ -115,7 +186,7 @@
|
||||
|
||||
// C++0x headers in GCC 4.4.0 and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if (BOOST_LIBSTDCXX_VERSION < 40400) || !defined(BOOST_LIBSTDCXX11)
|
||||
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# define BOOST_NO_CXX11_HDR_FORWARD_LIST
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
@@ -128,14 +199,9 @@
|
||||
# define BOOST_HAS_TR1_COMPLEX_OVERLOADS
|
||||
#endif
|
||||
|
||||
#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1)) && (!defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE) || !defined(BOOST_NO_CXX11_HDR_MUTEX))
|
||||
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# define BOOST_NO_CXX11_HDR_MUTEX
|
||||
#endif
|
||||
|
||||
// C++0x features in GCC 4.5.0 and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if (BOOST_LIBSTDCXX_VERSION < 40500) || !defined(BOOST_LIBSTDCXX11)
|
||||
# define BOOST_NO_CXX11_NUMERIC_LIMITS
|
||||
# define BOOST_NO_CXX11_HDR_FUTURE
|
||||
# define BOOST_NO_CXX11_HDR_RANDOM
|
||||
@@ -143,36 +209,89 @@
|
||||
|
||||
// C++0x features in GCC 4.6.0 and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if (BOOST_LIBSTDCXX_VERSION < 40600) || !defined(BOOST_LIBSTDCXX11)
|
||||
# define BOOST_NO_CXX11_HDR_TYPEINDEX
|
||||
# define BOOST_NO_CXX11_ADDRESSOF
|
||||
#endif
|
||||
|
||||
// C++0x features in GCC 4.7.0 and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#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.
|
||||
# define BOOST_NO_CXX11_HDR_CHRONO
|
||||
# define BOOST_NO_CXX11_ALLOCATOR
|
||||
#endif
|
||||
// C++0x features in GCC 4.7.0 and later
|
||||
// C++0x features in GCC 4.8.0 and later
|
||||
//
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if (BOOST_LIBSTDCXX_VERSION < 40800) || !defined(BOOST_LIBSTDCXX11)
|
||||
// Note that although <atomic> existed prior to gcc 4.8 it was largely unimplemented for many types:
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
# define BOOST_NO_CXX11_HDR_THREAD
|
||||
#endif
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 9) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
// 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
|
||||
// C++0x headers not yet (fully!) implemented
|
||||
|
||||
#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
|
||||
//
|
||||
# define BOOST_NO_CXX11_HDR_THREAD
|
||||
// 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
|
||||
|
||||
#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:
|
||||
# ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# endif
|
||||
# ifndef BOOST_NO_CXX11_HDR_MUTEX
|
||||
# define BOOST_NO_CXX11_HDR_MUTEX
|
||||
# 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
|
||||
#endif
|
||||
|
||||
#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX)
|
||||
// Timed mutexes are not always available:
|
||||
# define BOOST_NO_CXX11_HDR_MUTEX
|
||||
#endif
|
||||
|
||||
// --- end ---
|
||||
|
||||
@@ -51,6 +51,16 @@
|
||||
# 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
|
||||
|
||||
#define BOOST_STDLIB "Modena C++ standard library"
|
||||
|
||||
|
||||
|
||||
@@ -75,13 +75,14 @@
|
||||
# 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
|
||||
|
||||
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -187,3 +187,12 @@
|
||||
# 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
|
||||
|
||||
@@ -145,7 +145,14 @@
|
||||
# define BOOST_NO_CXX11_STD_ALIGN
|
||||
# define BOOST_NO_CXX11_ADDRESSOF
|
||||
|
||||
#define BOOST_STDLIB "SGI standard library"
|
||||
|
||||
|
||||
#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
|
||||
|
||||
#define BOOST_STDLIB "SGI standard library"
|
||||
@@ -235,12 +235,14 @@ 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
|
||||
|
||||
#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -51,7 +51,14 @@
|
||||
# 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
|
||||
|
||||
#define BOOST_STDLIB "Visual Age default standard library"
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// Boost config.hpp configuration header file ------------------------------//
|
||||
// boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file
|
||||
// boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file
|
||||
|
||||
// Copyright (c) 2001-2003 John Maddock
|
||||
// Copyright (c) 2001 Darin Adler
|
||||
@@ -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 --------------------------//
|
||||
|
||||
@@ -612,12 +624,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
|
||||
//
|
||||
@@ -646,6 +668,11 @@ namespace std{ using ::type_info; }
|
||||
# define BOOST_ALIGNMENT(x)
|
||||
#endif
|
||||
|
||||
// Lack of non-public defaulted functions is implied by the lack of any defaulted functions
|
||||
#if !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS) && defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)
|
||||
# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
// Defaulted and deleted function declaration helpers
|
||||
// These macros are intended to be inside a class definition.
|
||||
// BOOST_DEFAULTED_FUNCTION accepts the function declaration and its
|
||||
@@ -681,7 +708,7 @@ namespace std{ using ::type_info; }
|
||||
// Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined
|
||||
//
|
||||
#if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276)
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE
|
||||
#endif
|
||||
|
||||
// -------------------- Deprecated macros for 1.50 ---------------------------
|
||||
@@ -934,6 +961,18 @@ namespace std{ using ::type_info; }
|
||||
#define BOOST_CONSTEXPR constexpr
|
||||
#define BOOST_CONSTEXPR_OR_CONST constexpr
|
||||
#endif
|
||||
#if defined(BOOST_NO_CXX14_CONSTEXPR)
|
||||
#define BOOST_CXX14_CONSTEXPR
|
||||
#else
|
||||
#define BOOST_CXX14_CONSTEXPR constexpr
|
||||
#endif
|
||||
|
||||
//
|
||||
// Unused variable/typedef workarounds:
|
||||
//
|
||||
#ifndef BOOST_ATTRIBUTE_UNUSED
|
||||
# define BOOST_ATTRIBUTE_UNUSED
|
||||
#endif
|
||||
|
||||
#define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST
|
||||
|
||||
@@ -957,6 +996,13 @@ namespace std{ using ::type_info; }
|
||||
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL)
|
||||
#define BOOST_HAS_VARIADIC_TMPL
|
||||
#endif
|
||||
//
|
||||
// Set BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS when
|
||||
// BOOST_NO_CXX11_VARIADIC_TEMPLATES is set:
|
||||
//
|
||||
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS)
|
||||
# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||
#endif
|
||||
|
||||
//
|
||||
// Finish off with checks for macros that are depricated / no longer supported,
|
||||
|
||||
@@ -119,5 +119,15 @@
|
||||
// that feature off.
|
||||
// #define BOOST_WHATEVER_NO_LIB
|
||||
|
||||
|
||||
// BOOST_LIB_BUILDID: Set to the same value as the value passed to Boost.Build's
|
||||
// --buildid command line option. For example if you built using:
|
||||
//
|
||||
// bjam address-model=64 --buildid=amd64
|
||||
//
|
||||
// then compile your code with:
|
||||
//
|
||||
// -DBOOST_LIB_BUILDID = amd64
|
||||
//
|
||||
// to ensure the correct libraries are selected at link time.
|
||||
// #define BOOST_LIB_BUILDID amd64
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
70
include/boost/cxx11_char_types.hpp
Normal file
70
include/boost/cxx11_char_types.hpp
Normal 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)
|
||||
@@ -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 105600
|
||||
#define BOOST_VERSION 106200
|
||||
|
||||
//
|
||||
// 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_56"
|
||||
#define BOOST_LIB_VERSION "1_62"
|
||||
|
||||
#endif
|
||||
|
||||
13
meta/libraries.json
Normal file
13
meta/libraries.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"key": "config",
|
||||
"name": "Config",
|
||||
"description": "Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users.",
|
||||
"documentation": "config.htm",
|
||||
"category": [
|
||||
"workarounds"
|
||||
],
|
||||
"authors": "",
|
||||
"maintainers": [
|
||||
"John Maddock <john -at- johnmaddock.co.uk>"
|
||||
]
|
||||
}
|
||||
@@ -15,19 +15,20 @@ project
|
||||
|
||||
|
||||
import modules ;
|
||||
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
|
||||
:
|
||||
@@ -37,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
|
||||
@@ -44,15 +48,37 @@ 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
|
||||
[ 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
|
||||
: #args
|
||||
: #input-files
|
||||
: #requirements
|
||||
<exception-handling>off
|
||||
[ 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 ]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>multi : config_info_threaded ]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <rtti>off : config_info_no_rtti ]
|
||||
[ 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
|
||||
@@ -66,9 +92,11 @@ test-suite config
|
||||
[ compile-fail threads/test_thread_fail1.cpp ]
|
||||
[ compile-fail threads/test_thread_fail2.cpp ]
|
||||
[ compile boost_fallthrough_test.cpp : [ check-target-builds has_clang_implicit_fallthrough "Clang implicit fallthrough" : <toolset>clang:<cxxflags>"-std=c++11 -Wimplicit-fallthrough" <warnings-as-errors>on <warnings>all ] ]
|
||||
[ compile helper_macro_test.cpp ]
|
||||
[ run cstdint_test.cpp : : : <warnings>all <toolset>gcc:<cxxflags>"-Wno-long-long -Wextra" <toolset>darwin:<cxxflags>-Wno-long-long ]
|
||||
[ run cstdint_test2.cpp : : : <warnings>all <toolset>gcc:<cxxflags>"-Wno-long-long -Wextra" <toolset>darwin:<cxxflags>-Wno-long-long ]
|
||||
[ compile cstdint_include_test.cpp : <warnings>all <toolset>gcc:<cxxflags>-Wextra ]
|
||||
[ run config_build_check.cpp : : : [ requires int128 cxx11_constexpr cxx11_user_defined_literals ] ]
|
||||
;
|
||||
|
||||
obj has_clang_implicit_fallthrough : cmd_line_check.cpp :
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# Regression test Jamfile for boost configuration setup.
|
||||
# *** DO NOT EDIT THIS FILE BY HAND ***
|
||||
# This file was automatically generated on Wed May 28 17:13:04 2014
|
||||
# This file was automatically generated on Fri Jul 1 18:47:25 2016
|
||||
# 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 ] ;
|
||||
@@ -76,9 +79,6 @@ test-suite "BOOST_HAS_NRVO" :
|
||||
test-suite "BOOST_HAS_PARTIAL_STD_ALLOCATOR" :
|
||||
[ run ../has_part_alloc_pass.cpp ]
|
||||
[ compile-fail ../has_part_alloc_fail.cpp ] ;
|
||||
test-suite "BOOST_HAS_PTHREADS" :
|
||||
[ run ../has_pthreads_pass.cpp ]
|
||||
[ compile-fail ../has_pthreads_fail.cpp ] ;
|
||||
test-suite "BOOST_HAS_PTHREAD_DELAY_NP" :
|
||||
[ run ../has_pthread_delay_np_pass.cpp ]
|
||||
[ compile-fail ../has_pthread_delay_np_fail.cpp ] ;
|
||||
@@ -88,6 +88,9 @@ test-suite "BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE" :
|
||||
test-suite "BOOST_HAS_PTHREAD_YIELD" :
|
||||
[ run ../has_pthread_yield_pass.cpp ]
|
||||
[ compile-fail ../has_pthread_yield_fail.cpp ] ;
|
||||
test-suite "BOOST_HAS_PTHREADS" :
|
||||
[ run ../has_pthreads_pass.cpp ]
|
||||
[ compile-fail ../has_pthreads_fail.cpp ] ;
|
||||
test-suite "BOOST_HAS_RVALUE_REFS" :
|
||||
[ run ../has_rvalue_refs_pass.cpp ]
|
||||
[ compile-fail ../has_rvalue_refs_fail.cpp ] ;
|
||||
@@ -238,6 +241,9 @@ test-suite "BOOST_NO_CXX11_ALLOCATOR" :
|
||||
test-suite "BOOST_NO_CXX11_ATOMIC_SMART_PTR" :
|
||||
[ run ../no_cxx11_atomic_sp_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_atomic_sp_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_FINAL" :
|
||||
[ run ../no_cxx11_final_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_final_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_HDR_ARRAY" :
|
||||
[ run ../no_cxx11_hdr_array_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_hdr_array_fail.cpp ] ;
|
||||
@@ -283,12 +289,12 @@ test-suite "BOOST_NO_CXX11_HDR_THREAD" :
|
||||
test-suite "BOOST_NO_CXX11_HDR_TUPLE" :
|
||||
[ run ../no_cxx11_hdr_tuple_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_hdr_tuple_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_HDR_TYPEINDEX" :
|
||||
[ run ../no_cxx11_hdr_typeindex_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_hdr_typeindex_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_HDR_TYPE_TRAITS" :
|
||||
[ run ../no_cxx11_hdr_type_traits_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_hdr_type_traits_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_HDR_TYPEINDEX" :
|
||||
[ run ../no_cxx11_hdr_typeindex_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_hdr_typeindex_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_HDR_UNORDERED_MAP" :
|
||||
[ run ../no_cxx11_hdr_unordered_map_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_hdr_unordered_map_fail.cpp ] ;
|
||||
@@ -298,6 +304,9 @@ test-suite "BOOST_NO_CXX11_HDR_UNORDERED_SET" :
|
||||
test-suite "BOOST_NO_CXX11_INLINE_NAMESPACES" :
|
||||
[ run ../no_cxx11_inline_namespaces_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_inline_namespaces_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS" :
|
||||
[ run ../no_cxx11_non_pub_def_fun_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_non_pub_def_fun_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_NUMERIC_LIMITS" :
|
||||
[ run ../no_cxx11_numeric_limits_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_numeric_limits_fail.cpp ] ;
|
||||
@@ -310,12 +319,45 @@ test-suite "BOOST_NO_CXX11_SMART_PTR" :
|
||||
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 ] ;
|
||||
test-suite "BOOST_NO_CXX11_USER_DEFINED_LITERALS" :
|
||||
[ run ../no_cxx11_user_lit_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_user_lit_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX14_BINARY_LITERALS" :
|
||||
[ run ../no_cxx14_binary_literals_pass.cpp ]
|
||||
[ compile-fail ../no_cxx14_binary_literals_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX14_CONSTEXPR" :
|
||||
[ run ../no_cxx14_constexpr_pass.cpp ]
|
||||
[ compile-fail ../no_cxx14_constexpr_fail.cpp ] ;
|
||||
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_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 ] ;
|
||||
test-suite "BOOST_NO_CXX14_AGGREGATE_NSDMI" :
|
||||
[ run ../no_cxx14_member_init_pass.cpp ]
|
||||
[ compile-fail ../no_cxx14_member_init_fail.cpp ] ;
|
||||
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_VARIABLE_TEMPLATES" :
|
||||
[ run ../no_cxx14_var_templ_pass.cpp ]
|
||||
[ compile-fail ../no_cxx14_var_templ_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_HDR_FUNCTIONAL" :
|
||||
[ run ../no_cxx_hdr_functional_pass.cpp ]
|
||||
[ compile-fail ../no_cxx_hdr_functional_fail.cpp ] ;
|
||||
@@ -340,33 +382,36 @@ test-suite "BOOST_NO_DEPENDENT_NESTED_DERIVATIONS" :
|
||||
test-suite "BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS" :
|
||||
[ run ../no_dep_val_param_pass.cpp ]
|
||||
[ compile-fail ../no_dep_val_param_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_EXCEPTIONS" :
|
||||
[ run ../no_exceptions_pass.cpp ]
|
||||
[ compile-fail ../no_exceptions_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_EXCEPTION_STD_NAMESPACE" :
|
||||
[ run ../no_excep_std_pass.cpp ]
|
||||
[ compile-fail ../no_excep_std_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS" :
|
||||
[ run ../no_explicit_cvt_ops_pass.cpp ]
|
||||
[ compile-fail ../no_explicit_cvt_ops_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_EXCEPTIONS" :
|
||||
[ run ../no_exceptions_pass.cpp ]
|
||||
[ compile-fail ../no_exceptions_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS" :
|
||||
[ run ../no_exp_func_tem_arg_pass.cpp ]
|
||||
[ compile-fail ../no_exp_func_tem_arg_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS" :
|
||||
[ run ../no_explicit_cvt_ops_pass.cpp ]
|
||||
[ compile-fail ../no_explicit_cvt_ops_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_EXTERN_TEMPLATE" :
|
||||
[ run ../no_extern_template_pass.cpp ]
|
||||
[ compile-fail ../no_extern_template_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_FENV_H" :
|
||||
[ run ../no_fenv_h_pass.cpp ]
|
||||
[ compile-fail ../no_fenv_h_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS" :
|
||||
[ run ../no_fixed_len_variadic_templates_pass.cpp ]
|
||||
[ compile-fail ../no_fixed_len_variadic_templates_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_FUNCTION_TEMPLATE_ORDERING" :
|
||||
[ run ../no_func_tmp_order_pass.cpp ]
|
||||
[ compile-fail ../no_func_tmp_order_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS" :
|
||||
[ run ../no_function_template_default_args_pass.cpp ]
|
||||
[ compile-fail ../no_function_template_default_args_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS" :
|
||||
[ run ../no_function_type_spec_pass.cpp ]
|
||||
[ compile-fail ../no_function_type_spec_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_FUNCTION_TEMPLATE_ORDERING" :
|
||||
[ run ../no_func_tmp_order_pass.cpp ]
|
||||
[ compile-fail ../no_func_tmp_order_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_MS_INT64_NUMERIC_LIMITS" :
|
||||
[ run ../no_i64_limits_pass.cpp ]
|
||||
[ compile-fail ../no_i64_limits_fail.cpp ] ;
|
||||
@@ -406,18 +451,18 @@ test-suite "BOOST_NO_LONG_LONG" :
|
||||
test-suite "BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS" :
|
||||
[ run ../no_mem_func_spec_pass.cpp ]
|
||||
[ compile-fail ../no_mem_func_spec_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_MEMBER_TEMPLATES" :
|
||||
[ run ../no_mem_templates_pass.cpp ]
|
||||
[ compile-fail ../no_mem_templates_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_MEMBER_TEMPLATE_FRIENDS" :
|
||||
[ run ../no_mem_templ_frnds_pass.cpp ]
|
||||
[ compile-fail ../no_mem_templ_frnds_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_MEMBER_TEMPLATE_KEYWORD" :
|
||||
[ run ../no_mem_tem_keyword_pass.cpp ]
|
||||
[ compile-fail ../no_mem_tem_keyword_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS" :
|
||||
[ run ../no_mem_tem_pnts_pass.cpp ]
|
||||
[ compile-fail ../no_mem_tem_pnts_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_MEMBER_TEMPLATE_FRIENDS" :
|
||||
[ run ../no_mem_templ_frnds_pass.cpp ]
|
||||
[ compile-fail ../no_mem_templ_frnds_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_MEMBER_TEMPLATES" :
|
||||
[ run ../no_mem_templates_pass.cpp ]
|
||||
[ compile-fail ../no_mem_templates_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_NESTED_FRIENDSHIP" :
|
||||
[ run ../no_nested_friendship_pass.cpp ]
|
||||
[ compile-fail ../no_nested_friendship_fail.cpp ] ;
|
||||
@@ -430,12 +475,12 @@ test-suite "BOOST_NO_CXX11_NULLPTR" :
|
||||
test-suite "BOOST_NO_OPERATORS_IN_NAMESPACE" :
|
||||
[ run ../no_ops_in_namespace_pass.cpp ]
|
||||
[ compile-fail ../no_ops_in_namespace_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION" :
|
||||
[ run ../no_partial_spec_pass.cpp ]
|
||||
[ compile-fail ../no_partial_spec_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS" :
|
||||
[ run ../no_part_spec_def_args_pass.cpp ]
|
||||
[ compile-fail ../no_part_spec_def_args_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION" :
|
||||
[ run ../no_partial_spec_pass.cpp ]
|
||||
[ compile-fail ../no_partial_spec_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_PRIVATE_IN_AGGREGATE" :
|
||||
[ run ../no_priv_aggregate_pass.cpp ]
|
||||
[ compile-fail ../no_priv_aggregate_fail.cpp ] ;
|
||||
@@ -472,21 +517,18 @@ test-suite "BOOST_NO_STRINGSTREAM" :
|
||||
test-suite "BOOST_NO_CXX11_STATIC_ASSERT" :
|
||||
[ run ../no_static_assert_pass.cpp ]
|
||||
[ compile-fail ../no_static_assert_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_STDC_NAMESPACE" :
|
||||
[ run ../no_stdc_namespace_pass.cpp ]
|
||||
[ compile-fail ../no_stdc_namespace_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_STD_ALLOCATOR" :
|
||||
[ run ../no_std_allocator_pass.cpp ]
|
||||
[ compile-fail ../no_std_allocator_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_STD_DISTANCE" :
|
||||
[ run ../no_std_distance_pass.cpp ]
|
||||
[ compile-fail ../no_std_distance_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_STD_ITERATOR" :
|
||||
[ run ../no_std_iterator_pass.cpp ]
|
||||
[ compile-fail ../no_std_iterator_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_STD_ITERATOR_TRAITS" :
|
||||
[ run ../no_std_iter_traits_pass.cpp ]
|
||||
[ compile-fail ../no_std_iter_traits_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_STD_ITERATOR" :
|
||||
[ run ../no_std_iterator_pass.cpp ]
|
||||
[ compile-fail ../no_std_iterator_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_STD_LOCALE" :
|
||||
[ run ../no_std_locale_pass.cpp ]
|
||||
[ compile-fail ../no_std_locale_fail.cpp ] ;
|
||||
@@ -511,9 +553,15 @@ test-suite "BOOST_NO_STD_WSTREAMBUF" :
|
||||
test-suite "BOOST_NO_STD_WSTRING" :
|
||||
[ run ../no_std_wstring_pass.cpp ]
|
||||
[ compile-fail ../no_std_wstring_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_STDC_NAMESPACE" :
|
||||
[ run ../no_stdc_namespace_pass.cpp ]
|
||||
[ compile-fail ../no_stdc_namespace_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_SWPRINTF" :
|
||||
[ run ../no_swprintf_pass.cpp ]
|
||||
[ compile-fail ../no_swprintf_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS" :
|
||||
[ run ../no_tem_local_classes_pass.cpp ]
|
||||
[ compile-fail ../no_tem_local_classes_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_TEMPLATE_ALIASES" :
|
||||
[ run ../no_template_aliases_pass.cpp ]
|
||||
[ compile-fail ../no_template_aliases_fail.cpp ] ;
|
||||
@@ -523,9 +571,6 @@ test-suite "BOOST_NO_TEMPLATED_IOSTREAMS" :
|
||||
test-suite "BOOST_NO_TEMPLATE_TEMPLATES" :
|
||||
[ run ../no_template_template_pass.cpp ]
|
||||
[ compile-fail ../no_template_template_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS" :
|
||||
[ run ../no_tem_local_classes_pass.cpp ]
|
||||
[ compile-fail ../no_tem_local_classes_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_TWO_PHASE_NAME_LOOKUP" :
|
||||
[ run ../no_two_phase_lookup_pass.cpp ]
|
||||
[ compile-fail ../no_two_phase_lookup_fail.cpp ] ;
|
||||
|
||||
29
test/boost_has_float128.ipp
Normal file
29
test/boost_has_float128.ipp
Normal 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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -12,6 +12,12 @@
|
||||
|
||||
#include <memory>
|
||||
|
||||
#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
|
||||
# define BOOST_UNUSED_ATTRIBUTE __attribute__((unused))
|
||||
#else
|
||||
# define BOOST_UNUSED_ATTRIBUTE
|
||||
#endif
|
||||
|
||||
namespace boost_has_partial_std_allocator{
|
||||
|
||||
//
|
||||
@@ -23,12 +29,12 @@ int test_allocator(const T& i)
|
||||
{
|
||||
typedef std::allocator<int> alloc1_t;
|
||||
typedef typename alloc1_t::size_type size_type;
|
||||
typedef typename alloc1_t::difference_type difference_type;
|
||||
typedef typename alloc1_t::difference_type difference_type BOOST_UNUSED_ATTRIBUTE;
|
||||
typedef typename alloc1_t::pointer pointer;
|
||||
typedef typename alloc1_t::const_pointer const_pointer;
|
||||
typedef typename alloc1_t::reference reference;
|
||||
typedef typename alloc1_t::const_reference const_reference;
|
||||
typedef typename alloc1_t::value_type value_type;
|
||||
typedef typename alloc1_t::value_type value_type BOOST_UNUSED_ATTRIBUTE;
|
||||
|
||||
alloc1_t a1;
|
||||
|
||||
@@ -55,8 +61,5 @@ int test()
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#undef BOOST_UNUSED_ATTRIBUTE
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
41
test/boost_no_cxx11_final.ipp
Normal file
41
test/boost_no_cxx11_final.ipp
Normal file
@@ -0,0 +1,41 @@
|
||||
// (C) Copyright Agustin Berge 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/libs/config for more information.
|
||||
|
||||
// MACRO: BOOST_NO_CXX11_FINAL
|
||||
// TITLE: C++11 final class-virt-specifier
|
||||
// DESCRIPTION: The compiler does not support the C++ class-virt-specifier final
|
||||
|
||||
namespace boost_no_cxx11_final {
|
||||
|
||||
struct X final {};
|
||||
|
||||
struct abstract
|
||||
{
|
||||
virtual int f() = 0;
|
||||
};
|
||||
|
||||
struct derived : public abstract
|
||||
{
|
||||
virtual int f() final
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
|
||||
int check(abstract* pa)
|
||||
{
|
||||
return pa->f();
|
||||
}
|
||||
|
||||
int test()
|
||||
{
|
||||
derived d;
|
||||
return check(&d);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -25,10 +25,11 @@ int test()
|
||||
{
|
||||
std::memory_order m = static_cast<std::memory_order>(std::memory_order_relaxed | std::memory_order_consume | std::memory_order_acquire | std::memory_order_release
|
||||
| std::memory_order_acq_rel | std::memory_order_seq_cst);
|
||||
(void)m;
|
||||
|
||||
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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,22 +51,23 @@ int test()
|
||||
using std::is_abstract;
|
||||
using std::is_constructible;
|
||||
using std::is_nothrow_constructible;
|
||||
using std::has_default_constructor;
|
||||
using std::has_copy_constructor;
|
||||
using std::has_copy_assign;
|
||||
using std::has_move_constructor;
|
||||
using std::has_move_assign;
|
||||
using std::has_trivial_default_constructor;
|
||||
using std::has_trivial_copy_constructor;
|
||||
using std::has_trivial_move_constructor;
|
||||
using std::has_trivial_copy_assign;
|
||||
using std::has_trivial_move_assign;
|
||||
using std::has_trivial_destructor;
|
||||
using std::has_nothrow_default_constructor;
|
||||
using std::has_nothrow_copy_constructor;
|
||||
using std::has_nothrow_move_constructor;
|
||||
using std::has_nothrow_copy_assign;
|
||||
using std::has_nothrow_move_assign;
|
||||
using std::is_default_constructible;
|
||||
using std::is_copy_constructible;
|
||||
using std::is_copy_assignable;
|
||||
using std::is_move_constructible;
|
||||
using std::is_move_assignable;
|
||||
using std::is_destructible;
|
||||
using std::is_trivially_default_constructible;
|
||||
using std::is_trivially_copy_constructible;
|
||||
using std::is_trivially_move_constructible;
|
||||
using std::is_trivially_copy_assignable;
|
||||
using std::is_trivially_move_assignable;
|
||||
using std::is_trivially_destructible;
|
||||
using std::is_nothrow_default_constructible;
|
||||
using std::is_nothrow_copy_constructible;
|
||||
using std::is_nothrow_move_constructible;
|
||||
using std::is_nothrow_copy_assignable;
|
||||
using std::is_nothrow_move_assignable;
|
||||
using std::has_virtual_destructor;
|
||||
using std::is_signed;
|
||||
using std::is_unsigned;
|
||||
|
||||
@@ -16,10 +16,18 @@ namespace boost_no_cxx11_hdr_typeindex {
|
||||
|
||||
int test()
|
||||
{
|
||||
#if defined( BOOST_NO_TYPEID )
|
||||
std::type_index * p1;
|
||||
std::hash<std::type_index> h;
|
||||
(void)p1;
|
||||
(void)h;
|
||||
return 0;
|
||||
#else
|
||||
std::type_index t1 = typeid(int);
|
||||
std::type_index t2 = typeid(double);
|
||||
std::hash<std::type_index> h;
|
||||
return (t1 != t2) && (h(t1) != h(t2)) ? 0 : 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
38
test/boost_no_cxx11_non_pub_def_fun.ipp
Normal file
38
test/boost_no_cxx11_non_pub_def_fun.ipp
Normal file
@@ -0,0 +1,38 @@
|
||||
// (C) Copyright Andrey Semashev 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/libs/config for more information.
|
||||
|
||||
// MACRO: BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
// TITLE: C++11 non-public defaulted functions unavailable
|
||||
// DESCRIPTION: The compiler does not support C++11 defaulted functions in access control sections other than public
|
||||
|
||||
#if defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__) && !defined(BOOST_INTEL_STDCXX0X)
|
||||
# error Non-public defaulted functions are not supported in non-C++11 mode
|
||||
#endif
|
||||
|
||||
namespace boost_no_cxx11_non_public_defaulted_functions {
|
||||
|
||||
struct foo
|
||||
{
|
||||
protected:
|
||||
foo() = default;
|
||||
foo& operator= (foo const&) = default;
|
||||
};
|
||||
|
||||
struct bar
|
||||
{
|
||||
private:
|
||||
bar() = default;
|
||||
bar& operator= (bar const&) = default;
|
||||
};
|
||||
|
||||
int test()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
24
test/boost_no_cxx11_thread_local.ipp
Normal file
24
test/boost_no_cxx11_thread_local.ipp
Normal 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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -16,10 +16,10 @@ namespace boost_no_cxx11_user_defined_literals {
|
||||
|
||||
struct my_literal
|
||||
{
|
||||
constexpr my_literal() : val(0) {}
|
||||
constexpr my_literal(int i) : val(i) {}
|
||||
constexpr my_literal(const my_literal& a) : val(a.val) {}
|
||||
constexpr bool operator==(const my_literal& a) const { return val == a.val; }
|
||||
my_literal() : val(0) {}
|
||||
my_literal(int i) : val(i) {}
|
||||
my_literal(const my_literal& a) : val(a.val) {}
|
||||
bool operator==(const my_literal& a) const { return val == a.val; }
|
||||
int val;
|
||||
};
|
||||
|
||||
@@ -47,20 +47,20 @@ struct parse_int<base, val, c, Digits...>
|
||||
char_value, Digits...>::value };
|
||||
};
|
||||
|
||||
constexpr my_literal operator "" _suf1(unsigned long long v)
|
||||
my_literal operator "" _suf1(unsigned long long v)
|
||||
{
|
||||
return my_literal(v);
|
||||
}
|
||||
template <char...PACK>
|
||||
constexpr my_literal operator "" _bin()
|
||||
my_literal operator "" _bin()
|
||||
{
|
||||
return parse_int<2, 0, PACK...>::value;
|
||||
}
|
||||
|
||||
int test()
|
||||
{
|
||||
constexpr my_literal a = 0x23_suf1;
|
||||
constexpr my_literal b = 1001_bin;
|
||||
my_literal a = 0x23_suf1;
|
||||
my_literal b = 1001_bin;
|
||||
return ((a == my_literal(0x23)) && (b == my_literal(9))) ? 0 : 1;
|
||||
}
|
||||
|
||||
|
||||
23
test/boost_no_cxx14_binary_literals.ipp
Normal file
23
test/boost_no_cxx14_binary_literals.ipp
Normal file
@@ -0,0 +1,23 @@
|
||||
|
||||
// (C) Copyright Kohei Takahashi 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/libs/config for more information.
|
||||
|
||||
// MACRO: BOOST_NO_CXX14_BINARY_LITERALS
|
||||
// TITLE: C++14 binary literals unavailable
|
||||
// DESCRIPTION: The compiler does not support C++14 binary literals
|
||||
|
||||
namespace boost_no_cxx14_binary_literals
|
||||
{
|
||||
|
||||
int test()
|
||||
{
|
||||
return ((int)0b01000010 == (int)0x42) ? 0 : 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
43
test/boost_no_cxx14_constexpr.ipp
Normal file
43
test/boost_no_cxx14_constexpr.ipp
Normal file
@@ -0,0 +1,43 @@
|
||||
|
||||
// (C) Copyright Kohei Takahashi 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/libs/config for more information.
|
||||
|
||||
// MACRO: BOOST_NO_CXX14_CONSTEXPR
|
||||
// TITLE: C++14 relaxed constexpr unavailable
|
||||
// DESCRIPTION: The compiler does not support C++14 relaxed constexpr
|
||||
|
||||
namespace boost_no_cxx14_constexpr
|
||||
{
|
||||
|
||||
namespace detail
|
||||
{
|
||||
template <class> struct void_ { typedef void type; };
|
||||
}
|
||||
|
||||
// Test relaxed constexpr with dependent type; for more details, see comment of
|
||||
// BOOST_CXX14_CONSTEXPR definition in boost/config/compiler/clang.hpp .
|
||||
template <class T>
|
||||
constexpr typename detail::void_<T>::type decrement(T &value)
|
||||
{
|
||||
--value;
|
||||
}
|
||||
|
||||
constexpr int zero()
|
||||
{
|
||||
int ret = 1;
|
||||
decrement(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int test()
|
||||
{
|
||||
return zero();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
33
test/boost_no_cxx14_decltype_auto.ipp
Normal file
33
test/boost_no_cxx14_decltype_auto.ipp
Normal file
@@ -0,0 +1,33 @@
|
||||
|
||||
// (C) Copyright Kohei Takahashi 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/libs/config for more information.
|
||||
|
||||
// MACRO: BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
// TITLE: C++14 decltype(auto) unavailable
|
||||
// DESCRIPTION: The compiler does not support C++14 decltype(auto)
|
||||
|
||||
namespace boost_no_cxx14_decltype_auto
|
||||
{
|
||||
|
||||
void quiet_warning(int){}
|
||||
|
||||
const int &foo(const int &x)
|
||||
{
|
||||
return x;
|
||||
}
|
||||
|
||||
int test()
|
||||
{
|
||||
int j;
|
||||
decltype(auto) x = foo(j);
|
||||
quiet_warning(x);
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
23
test/boost_no_cxx14_digit_separator.ipp
Normal file
23
test/boost_no_cxx14_digit_separator.ipp
Normal file
@@ -0,0 +1,23 @@
|
||||
|
||||
// (C) Copyright Kohei Takahashi 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/libs/config for more information.
|
||||
|
||||
// MACRO: BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
// TITLE: C++14 digit separator unavailable
|
||||
// DESCRIPTION: The compiler does not support C++14 digit separator
|
||||
|
||||
namespace boost_no_cxx14_digit_separators
|
||||
{
|
||||
|
||||
int test()
|
||||
{
|
||||
return 0'0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
23
test/boost_no_cxx14_generic_lambda.ipp
Normal file
23
test/boost_no_cxx14_generic_lambda.ipp
Normal file
@@ -0,0 +1,23 @@
|
||||
|
||||
// (C) Copyright Kohei Takahashi 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/libs/config for more information.
|
||||
|
||||
// MACRO: BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
// TITLE: C++14 generic lambda unavailable
|
||||
// DESCRIPTION: The compiler does not support C++14 generic lambda
|
||||
|
||||
namespace boost_no_cxx14_generic_lambdas
|
||||
{
|
||||
|
||||
int test()
|
||||
{
|
||||
return [](auto ret) { return ret; } (0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
27
test/boost_no_cxx14_hdr_shared_mutex.ipp
Normal file
27
test/boost_no_cxx14_hdr_shared_mutex.ipp
Normal 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;
|
||||
}
|
||||
|
||||
}
|
||||
23
test/boost_no_cxx14_lambda_capture.ipp
Normal file
23
test/boost_no_cxx14_lambda_capture.ipp
Normal file
@@ -0,0 +1,23 @@
|
||||
|
||||
// (C) Copyright Kohei Takahashi 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/libs/config for more information.
|
||||
|
||||
// MACRO: BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
// TITLE: C++14 initialized lambda capture unavailable
|
||||
// DESCRIPTION: The compiler does not support C++14 initialized lambda capture
|
||||
|
||||
namespace boost_no_cxx14_initialized_lambda_captures
|
||||
{
|
||||
|
||||
int test()
|
||||
{
|
||||
return [ret = 0] { return ret; } ();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
30
test/boost_no_cxx14_member_init.ipp
Normal file
30
test/boost_no_cxx14_member_init.ipp
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
// (C) Copyright Kohei Takahashi 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/libs/config for more information.
|
||||
|
||||
// MACRO: BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
// TITLE: C++14 member initializers unavailable
|
||||
// DESCRIPTION: The compiler does not support C++14 member initializers
|
||||
|
||||
namespace boost_no_cxx14_aggregate_nsdmi
|
||||
{
|
||||
|
||||
struct S
|
||||
{
|
||||
int x;
|
||||
int y = 0;
|
||||
};
|
||||
|
||||
int test()
|
||||
{
|
||||
S s[] = { { 0x72 }, { 0x42 } };
|
||||
return s[1].x - 0x42;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
29
test/boost_no_cxx14_return_type_ded.ipp
Normal file
29
test/boost_no_cxx14_return_type_ded.ipp
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
// (C) Copyright Kohei Takahashi 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/libs/config for more information.
|
||||
|
||||
// MACRO: BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
// TITLE: C++14 return type deduction unavailable
|
||||
// DESCRIPTION: The compiler does not support C++14 return type deduction
|
||||
|
||||
namespace boost_no_cxx14_return_type_deduction
|
||||
{
|
||||
|
||||
template<typename T>
|
||||
auto deduced_abs(T x)
|
||||
{
|
||||
return x > 0 ? x : -x;
|
||||
}
|
||||
|
||||
int test()
|
||||
{
|
||||
return deduced_abs(2) - deduced_abs(-2);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
26
test/boost_no_cxx14_var_templ.ipp
Normal file
26
test/boost_no_cxx14_var_templ.ipp
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
// (C) Copyright Kohei Takahashi 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/libs/config for more information.
|
||||
|
||||
// MACRO: BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
// TITLE: C++14 variable templates unavailable
|
||||
// DESCRIPTION: The compiler does not support C++14 variable templates
|
||||
|
||||
namespace boost_no_cxx14_variable_templates
|
||||
{
|
||||
|
||||
template <class T>
|
||||
T zero = static_cast<T>(0);
|
||||
|
||||
int test()
|
||||
{
|
||||
return zero<int>;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -36,8 +36,8 @@ int test()
|
||||
#endif
|
||||
|
||||
int i;
|
||||
fexcept_t fe;
|
||||
fenv_t env;
|
||||
has_fexcept_t fe;
|
||||
has_fenv_t env;
|
||||
|
||||
i = feclearexcept(FE_ALL_EXCEPT);
|
||||
i += fetestexcept(FE_ALL_EXCEPT); // All flags should be zero
|
||||
|
||||
26
test/boost_no_fixed_len_variadic_templates.ipp
Normal file
26
test/boost_no_fixed_len_variadic_templates.ipp
Normal file
@@ -0,0 +1,26 @@
|
||||
// Copyright (C) 2007 Douglas Gregor
|
||||
// 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_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||
// TITLE: C++0x variadic templates unavailable
|
||||
// DESCRIPTION: The compiler does not support C++0x variadic templates
|
||||
|
||||
namespace boost_no_cxx11_fixed_length_variadic_template_expansion_packs {
|
||||
|
||||
template<char one, char two, char... Others> struct char_tuple {};
|
||||
|
||||
template<char... Args> struct super_class : public char_tuple<Args...> {};
|
||||
|
||||
int test()
|
||||
{
|
||||
super_class<'a', 'b', 'c', 'd'> sc;
|
||||
(void)sc;
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -44,12 +44,19 @@ struct is_int<int>
|
||||
static const bool value = true;
|
||||
};
|
||||
|
||||
#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
|
||||
# define BOOST_UNUSED_ATTRIBUTE __attribute__((unused))
|
||||
#else
|
||||
# define BOOST_UNUSED_ATTRIBUTE
|
||||
#endif
|
||||
|
||||
|
||||
int test()
|
||||
{
|
||||
typedef int a1[ice_or< is_int<int>::value, is_int<UDT>::value>::value ? 1 : -1];
|
||||
typedef int a1[ice_or< is_int<int>::value, is_int<UDT>::value>::value ? 1 : -1] BOOST_UNUSED_ATTRIBUTE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
#undef BOOST_UNUSED_ATTRIBUTE
|
||||
|
||||
@@ -16,10 +16,15 @@
|
||||
|
||||
namespace boost_no_cxx11_lambdas {
|
||||
|
||||
template <class Func>
|
||||
int f(Func f)
|
||||
{
|
||||
return f();
|
||||
}
|
||||
|
||||
int test()
|
||||
{
|
||||
(void)[](){};
|
||||
return 0;
|
||||
return f([](){ return 0; });
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user