diff --git a/.travis.yml b/.travis.yml index ff0257a7..9692e361 100644 --- a/.travis.yml +++ b/.travis.yml @@ -199,6 +199,33 @@ matrix: apt: packages: - libc++-dev + - clang-5.0 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-5.0 + + - os: linux + compiler: clang++-6.0 + env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,1z + addons: + apt: + packages: + - clang-6.0 + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-6.0 + + - os: linux + compiler: clang++-libc++ + env: TOOLSET=clang COMPILER="clang++-6.0 -stdlib=libc++" CXXSTD=03,11,14 + addons: + apt: + packages: + - clang-6.0 + - libc++-dev + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-trusty-6.0 - os: osx env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z diff --git a/checks/Jamfile.v2 b/checks/Jamfile.v2 index 0c26bce1..2fcbb854 100644 --- a/checks/Jamfile.v2 +++ b/checks/Jamfile.v2 @@ -1,6 +1,6 @@ # # *** DO NOT EDIT THIS FILE BY HAND *** -# This file was automatically generated on Wed Apr 18 20:03:40 2018 +# This file was automatically generated on Sat Aug 4 19:11:09 2018 # by libs/config/tools/generate.cpp # Copyright John Maddock. # Use, modification and distribution are subject to the @@ -112,6 +112,7 @@ obj cxx14_return_type_deduction : test_case.cpp : TEST_BOOST_NO_CXX14_RE obj cxx14_std_exchange : test_case.cpp : TEST_BOOST_NO_CXX14_STD_EXCHANGE ; obj cxx14_variable_templates : test_case.cpp : TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES ; obj cxx17_fold_expressions : test_case.cpp : TEST_BOOST_NO_CXX17_FOLD_EXPRESSIONS ; +obj cxx17_hdr_optional : test_case.cpp : TEST_BOOST_NO_CXX17_HDR_OPTIONAL ; obj cxx17_if_constexpr : test_case.cpp : TEST_BOOST_NO_CXX17_IF_CONSTEXPR ; obj cxx17_inline_variables : test_case.cpp : TEST_BOOST_NO_CXX17_INLINE_VARIABLES ; obj cxx17_iterator_traits : test_case.cpp : TEST_BOOST_NO_CXX17_ITERATOR_TRAITS ; diff --git a/checks/test_case.cpp b/checks/test_case.cpp index 7d9cb10c..b0a1f387 100644 --- a/checks/test_case.cpp +++ b/checks/test_case.cpp @@ -1,4 +1,4 @@ -// This file was automatically generated on Wed Apr 18 20:03:40 2018 +// This file was automatically generated on Sat Aug 4 19:11:09 2018 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the @@ -516,6 +516,11 @@ # error "Defect macro BOOST_NO_CXX17_FOLD_EXPRESSIONS is defined." # endif #endif +#ifdef TEST_BOOST_NO_CXX17_HDR_OPTIONAL +# ifdef BOOST_NO_CXX17_HDR_OPTIONAL +# error "Defect macro BOOST_NO_CXX17_HDR_OPTIONAL is defined." +# endif +#endif #ifdef TEST_BOOST_NO_CXX17_IF_CONSTEXPR # ifdef BOOST_NO_CXX17_IF_CONSTEXPR # error "Defect macro BOOST_NO_CXX17_IF_CONSTEXPR is defined." diff --git a/doc/cstdint.qbk b/doc/cstdint.qbk index 3f352075..59ef5b3f 100644 --- a/doc/cstdint.qbk +++ b/doc/cstdint.qbk @@ -136,4 +136,11 @@ For example: [endsect] +[section:intptr Integers for Storing Pointers] + +The typedefs [^intptr_t] and [^uintptr_t] defined signed and unsigned integers respectively each capable of storing a pointer. The macro [^BOOST_HAS_INTPTR_T] is set when these types are available. + +[endsect] + + [endsect] diff --git a/doc/html/boost_config/acknowledgements.html b/doc/html/boost_config/acknowledgements.html index 8281d052..91d90849 100644 --- a/doc/html/boost_config/acknowledgements.html +++ b/doc/html/boost_config/acknowledgements.html @@ -3,7 +3,7 @@ Acknowledgements - + diff --git a/doc/html/boost_config/boost_macro_reference.html b/doc/html/boost_config/boost_macro_reference.html index ed19e071..fd9fc6ba 100644 --- a/doc/html/boost_config/boost_macro_reference.html +++ b/doc/html/boost_config/boost_macro_reference.html @@ -3,7 +3,7 @@ Boost Macro Reference - + @@ -26,7 +26,7 @@ - -
+

diff --git a/doc/html/boost_config/build_config.html b/doc/html/boost_config/build_config.html index 2854a549..7acec1b0 100644 --- a/doc/html/boost_config/build_config.html +++ b/doc/html/boost_config/build_config.html @@ -3,7 +3,7 @@ Build Time Configuration - + diff --git a/doc/html/boost_config/cstdint.html b/doc/html/boost_config/cstdint.html index d75a289c..cf0a4917 100644 --- a/doc/html/boost_config/cstdint.html +++ b/doc/html/boost_config/cstdint.html @@ -3,7 +3,7 @@ Standard Integer Types - + @@ -26,7 +26,7 @@

-
+

@@ -271,6 +272,17 @@ static const boost::uint64_t c = INT64_C(0x1FFFFFFFF);

+
+ +

+ The typedefs intptr_t and uintptr_t + defined signed and unsigned integers respectively each capable of storing + a pointer. The macro BOOST_HAS_INTPTR_T is set when these + types are available. +

+
diff --git a/doc/html/boost_config/guidelines_for_boost_authors.html b/doc/html/boost_config/guidelines_for_boost_authors.html index 212c9fbc..f57e583e 100644 --- a/doc/html/boost_config/guidelines_for_boost_authors.html +++ b/doc/html/boost_config/guidelines_for_boost_authors.html @@ -3,7 +3,7 @@ Guidelines for Boost Authors - + @@ -27,7 +27,7 @@ Guidelines for Boost Authors - - -
- +

Last revised: April 18, 2018 at 18:30:02 GMT

Last revised: August 04, 2018 at 18:19:41 GMT


diff --git a/doc/macro_reference.qbk b/doc/macro_reference.qbk index f44340dd..4cad88fc 100644 --- a/doc/macro_reference.qbk +++ b/doc/macro_reference.qbk @@ -947,6 +947,7 @@ that are not yet supported by a particular compiler or library. [table [[Macro ][Description ]] +[[`BOOST_NO_CXX17_HDR_OPTIONAL`][The compiler does not support the header ``.]] [[`BOOST_NO_CXX17_STD_APPLY`][The compiler does not support `std::apply()`.]] [[`BOOST_NO_CXX17_STD_INVOKE`][The compiler does not support `std::invoke()`.]] [[`BOOST_NO_CXX17_ITERATOR_TRAITS`][The compiler does not support SFINAE-friendly `std::iterator_traits`.]] @@ -1622,6 +1623,14 @@ Optional: when set link to dll rather than static library. Optional: when set the header will print out the name of the library selected (useful for debugging). ]] +[[`BOOST_AUTO_LINK_NOMANGLE`][ +Optional: whan set specifies that we should link to BOOST_LIB_NAME.lib, rather than a mangled-name version.]] +[[`BOOST_AUTO_LINK_TAGGED`][Optional: Specifies that we link to libraries built with the --layout=tagged option. + This is essentially the same as the default name-mangled version, but without + the compiler name and version, or the Boost version. Just the build options.]] +[[`BOOST_AUTO_LINK_SYSTEM`][Optional: Specifies that we link to libraries built with the --layout=system option. + This is essentially the same as the non-name-mangled version, but with + the prefix to differentiate static and dll builds]] ] If the compiler supports this mechanism, then it will be told to link against diff --git a/include/boost/config/auto_link.hpp b/include/boost/config/auto_link.hpp index 271f8379..f34353b5 100644 --- a/include/boost/config/auto_link.hpp +++ b/include/boost/config/auto_link.hpp @@ -28,6 +28,9 @@ BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib, BOOST_AUTO_LINK_TAGGED: Specifies that we link to libraries built with the --layout=tagged option. This is essentially the same as the default name-mangled version, but without the compiler name and version, or the Boost version. Just the build options. +BOOST_AUTO_LINK_SYSTEM: Specifies that we link to libraries built with the --layout=system option. + This is essentially the same as the non-name-mangled version, but with + the prefix to differentiate static and dll builds These macros will be undef'ed at the end of the header, further this header has no include guards - so be sure to include it only once from your library! @@ -406,6 +409,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_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib") # endif +#elif defined(BOOST_AUTO_LINK_SYSTEM) +# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") +# ifdef BOOST_LIB_DIAGNOSTIC +# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") +# endif #elif defined(BOOST_AUTO_LINK_NOMANGLE) # pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") # ifdef BOOST_LIB_DIAGNOSTIC diff --git a/include/boost/config/compiler/borland.hpp b/include/boost/config/compiler/borland.hpp index cb164f8f..beec9462 100644 --- a/include/boost/config/compiler/borland.hpp +++ b/include/boost/config/compiler/borland.hpp @@ -19,9 +19,9 @@ // last known compiler version: #if (__BORLANDC__ > 0x613) //# if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" //# else -//# pragma message( "Unknown compiler version - please run the configure tests and report the results") +//# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results") //# endif #elif (__BORLANDC__ == 0x600) # error "CBuilderX preview compiler is no longer supported" diff --git a/include/boost/config/compiler/clang.hpp b/include/boost/config/compiler/clang.hpp index 3d893c68..3a59ff58 100644 --- a/include/boost/config/compiler/clang.hpp +++ b/include/boost/config/compiler/clang.hpp @@ -104,9 +104,9 @@ # define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__)) #else # define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) +# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) # define BOOST_SYMBOL_IMPORT #endif -#define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) // // The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through diff --git a/include/boost/config/compiler/codegear.hpp b/include/boost/config/compiler/codegear.hpp index c2cfe15c..52531d2f 100644 --- a/include/boost/config/compiler/codegear.hpp +++ b/include/boost/config/compiler/codegear.hpp @@ -22,9 +22,9 @@ // last known and checked version is 0x621 #if (__CODEGEARC__ > 0x621) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # else -# pragma message( "Unknown compiler version - please run the configure tests and report the results") +# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results") # endif #endif diff --git a/include/boost/config/compiler/comeau.hpp b/include/boost/config/compiler/comeau.hpp index 09841604..ca80fac3 100644 --- a/include/boost/config/compiler/comeau.hpp +++ b/include/boost/config/compiler/comeau.hpp @@ -50,7 +50,7 @@ // last known and checked version is 4245: #if (__COMO_VERSION__ > 4245) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/include/boost/config/compiler/digitalmars.hpp b/include/boost/config/compiler/digitalmars.hpp index 3e9a3ab0..14663731 100644 --- a/include/boost/config/compiler/digitalmars.hpp +++ b/include/boost/config/compiler/digitalmars.hpp @@ -135,6 +135,6 @@ // last known and checked version is ...: #if (__DMC__ > 0x848) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/include/boost/config/compiler/gcc.hpp b/include/boost/config/compiler/gcc.hpp index 19ccc592..594c44f5 100644 --- a/include/boost/config/compiler/gcc.hpp +++ b/include/boost/config/compiler/gcc.hpp @@ -346,14 +346,14 @@ # error "Compiler not configured - please reconfigure" #endif // -// last known and checked version is 7.1: -#if (BOOST_GCC_VERSION > 70100) +// last known and checked version is 8.1: +#if (BOOST_GCC_VERSION > 80100) # if defined(BOOST_ASSERT_CONFIG) # error "Boost.Config is older than your compiler - please check for an updated Boost release." # else // we don't emit warnings here anymore since there are no defect macros defined for // gcc post 3.4, so any failures are gcc regressions... -//# warning "Unknown compiler version - please run the configure tests and report the results" +//# warning "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/include/boost/config/compiler/greenhills.hpp b/include/boost/config/compiler/greenhills.hpp index a76a07cf..39112c2c 100644 --- a/include/boost/config/compiler/greenhills.hpp +++ b/include/boost/config/compiler/greenhills.hpp @@ -21,7 +21,7 @@ // last known and checked version is 0: #if (__ghs > 0) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/include/boost/config/compiler/hp_acc.hpp b/include/boost/config/compiler/hp_acc.hpp index 9df18eaf..49d676fa 100644 --- a/include/boost/config/compiler/hp_acc.hpp +++ b/include/boost/config/compiler/hp_acc.hpp @@ -142,6 +142,6 @@ // last known and checked version for PA-RISC is 38000 #if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98))) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/include/boost/config/compiler/intel.hpp b/include/boost/config/compiler/intel.hpp index 0eea05b9..f56807db 100644 --- a/include/boost/config/compiler/intel.hpp +++ b/include/boost/config/compiler/intel.hpp @@ -46,12 +46,17 @@ #undef BOOST_GCC_VERSION #undef BOOST_GCC_CXX11 #undef BOOST_GCC +#undef BOOST_FALLTHROUGH // Broken in all versions up to 17 (newer versions not tested) #if (__INTEL_COMPILER <= 1700) && !defined(BOOST_NO_CXX14_CONSTEXPR) # define BOOST_NO_CXX14_CONSTEXPR #endif +#if (__INTEL_COMPILER >= 1800) && (__cplusplus >= 201703) +# define BOOST_FALLTHROUGH [[fallthrough]] +#endif + #endif // defined(_MSC_VER) #undef BOOST_COMPILER @@ -558,7 +563,7 @@ template<> struct assert_intrinsic_wchar_t {}; // We don't emit this warning any more, since we have so few // defect macros set anyway (just the one). // -//# pragma message("Unknown compiler version - please run the configure tests and report the results") +//# pragma message("boost: Unknown compiler version - please run the configure tests and report the results") # endif #endif diff --git a/include/boost/config/compiler/kai.hpp b/include/boost/config/compiler/kai.hpp index 960d501c..0b22ec1d 100644 --- a/include/boost/config/compiler/kai.hpp +++ b/include/boost/config/compiler/kai.hpp @@ -25,7 +25,7 @@ // last known and checked version is 4001: #if (__KCC_VERSION > 4001) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/include/boost/config/compiler/metrowerks.hpp b/include/boost/config/compiler/metrowerks.hpp index 4bfc01ec..0e18e180 100644 --- a/include/boost/config/compiler/metrowerks.hpp +++ b/include/boost/config/compiler/metrowerks.hpp @@ -183,7 +183,7 @@ // last known and checked version: #if (__MWERKS__ > 0x3205) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/include/boost/config/compiler/mpw.hpp b/include/boost/config/compiler/mpw.hpp index 2292ada0..05c066ef 100644 --- a/include/boost/config/compiler/mpw.hpp +++ b/include/boost/config/compiler/mpw.hpp @@ -130,7 +130,7 @@ // last known and checked version is 0x890: #if (MPW_CPLUS > 0x890) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/include/boost/config/compiler/vacpp.hpp b/include/boost/config/compiler/vacpp.hpp index cabe844f..8e264499 100644 --- a/include/boost/config/compiler/vacpp.hpp +++ b/include/boost/config/compiler/vacpp.hpp @@ -56,7 +56,7 @@ // last known and checked version is 1210: #if (__IBMCPP__ > 1210) # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown compiler version - please run the configure tests and report the results" +# error "boost: Unknown compiler version - please run the configure tests and report the results" # endif #endif diff --git a/include/boost/config/compiler/visualc.hpp b/include/boost/config/compiler/visualc.hpp index ded7284a..3e7fce4a 100644 --- a/include/boost/config/compiler/visualc.hpp +++ b/include/boost/config/compiler/visualc.hpp @@ -202,6 +202,7 @@ #if (_MSC_VER < 1911) || (_MSVC_LANG < 201703) # define BOOST_NO_CXX17_STRUCTURED_BINDINGS # define BOOST_NO_CXX17_IF_CONSTEXPR +# define BOOST_NO_CXX17_HDR_OPTIONAL #endif // MSVC including version 14 has not yet completely @@ -284,9 +285,9 @@ # if _MSC_VER < 1400 // Note: I'm not aware of any CE compiler with version 13xx # if defined(BOOST_ASSERT_CONFIG) -# error "Unknown EVC++ compiler version - please run the configure tests and report the results" +# error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results" # else -# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results") +# pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results") # endif # elif _MSC_VER < 1500 # define BOOST_COMPILER_VERSION evc8 @@ -302,9 +303,9 @@ # 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" +# error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results" # else -# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results") +# pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results") # endif # endif # else diff --git a/include/boost/config/detail/select_compiler_config.hpp b/include/boost/config/detail/select_compiler_config.hpp index ced8443d..8970dffb 100644 --- a/include/boost/config/detail/select_compiler_config.hpp +++ b/include/boost/config/detail/select_compiler_config.hpp @@ -39,8 +39,7 @@ // Intel # define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp" -#elif defined __clang__ && !defined(__CUDACC__) && !defined(__ibmxl__) -// when using clang and cuda at same time, you want to appear as gcc +#elif defined __clang__ && !defined(__ibmxl__) // Clang C++ emulates GCC, so it has to appear early. # define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp" diff --git a/include/boost/config/detail/suffix.hpp b/include/boost/config/detail/suffix.hpp index 22d31f68..1d6a9eac 100644 --- a/include/boost/config/detail/suffix.hpp +++ b/include/boost/config/detail/suffix.hpp @@ -1023,6 +1023,15 @@ namespace std{ using ::type_info; } # define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS #endif +// This is a catch all case for obsolete compilers / std libs: +#if !defined(__has_include) +# define BOOST_NO_CXX17_HDR_OPTIONAL +#else +#if !__has_include() +# define BOOST_NO_CXX17_HDR_OPTIONAL +#endif +#endif + // // Finish off with checks for macros that are depricated / no longer supported, // if any of these are set then it's very likely that much of Boost will no diff --git a/include/boost/config/stdlib/libcpp.hpp b/include/boost/config/stdlib/libcpp.hpp index a051dbb7..ffb9c1e4 100644 --- a/include/boost/config/stdlib/libcpp.hpp +++ b/include/boost/config/stdlib/libcpp.hpp @@ -89,6 +89,7 @@ // C++17 features #if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L) # define BOOST_NO_CXX17_STD_APPLY +# define BOOST_NO_CXX17_HDR_OPTIONAL #endif #if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR) # define BOOST_NO_AUTO_PTR @@ -111,10 +112,16 @@ # define BOOST_NO_CXX11_THREAD_LOCAL #endif -#if defined(__linux__) && !defined(BOOST_NO_CXX11_THREAD_LOCAL) +#if defined(__linux__) && (_LIBCPP_VERSION < 6000) && !defined(BOOST_NO_CXX11_THREAD_LOCAL) // After libc++-dev is installed on Trusty, clang++-libc++ almost works, // except uses of `thread_local` fail with undefined reference to // `__cxa_thread_atexit`. +// +// clang's libc++abi provides an implementation by deferring to the glibc +// implementation, which may or may not be available (it is not on Trusty). +// clang 4's libc++abi will provide an implementation if one is not in glibc +// though, so thread local support should work with clang 4 and above as long +// as libc++abi is linked in. # define BOOST_NO_CXX11_THREAD_LOCAL #endif @@ -128,4 +135,8 @@ # define BOOST_NO_CXX14_HDR_SHARED_MUTEX #endif +#if !defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX) && (_LIBCPP_VERSION < 5000) +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + // --- end --- diff --git a/include/boost/config/stdlib/libstdcpp3.hpp b/include/boost/config/stdlib/libstdcpp3.hpp index f6eab26c..d39c1f00 100644 --- a/include/boost/config/stdlib/libstdcpp3.hpp +++ b/include/boost/config/stdlib/libstdcpp3.hpp @@ -299,6 +299,7 @@ extern "C" char *gets (char *__s); #if (BOOST_LIBSTDCXX_VERSION < 70100) || (__cplusplus <= 201402L) # define BOOST_NO_CXX17_STD_INVOKE # define BOOST_NO_CXX17_STD_APPLY +# define BOOST_NO_CXX17_HDR_OPTIONAL #endif #if defined(__has_include) diff --git a/include/boost/version.hpp b/include/boost/version.hpp index 967ff285..c9afbd98 100644 --- a/include/boost/version.hpp +++ b/include/boost/version.hpp @@ -19,7 +19,7 @@ // BOOST_VERSION / 100 % 1000 is the minor version // BOOST_VERSION / 100000 is the major version -#define BOOST_VERSION 106800 +#define BOOST_VERSION 106900 // // 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 to select which library version to link to. -#define BOOST_LIB_VERSION "1_68" +#define BOOST_LIB_VERSION "1_69" #endif diff --git a/test/all/Jamfile.v2 b/test/all/Jamfile.v2 index ae3457c2..22682495 100644 --- a/test/all/Jamfile.v2 +++ b/test/all/Jamfile.v2 @@ -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 Apr 18 20:03:40 2018 +# This file was automatically generated on Sat Aug 4 19:11:09 2018 # by libs/config/tools/generate.cpp # Copyright John Maddock. # Use, modification and distribution are subject to the @@ -325,6 +325,9 @@ test-suite "BOOST_NO_CXX14_VARIABLE_TEMPLATES" : test-suite "BOOST_NO_CXX17_FOLD_EXPRESSIONS" : [ run ../no_cxx17_fold_expressions_pass.cpp ] [ compile-fail ../no_cxx17_fold_expressions_fail.cpp ] ; +test-suite "BOOST_NO_CXX17_HDR_OPTIONAL" : +[ run ../no_cxx17_hdr_optional_pass.cpp ] +[ compile-fail ../no_cxx17_hdr_optional_fail.cpp ] ; test-suite "BOOST_NO_CXX17_IF_CONSTEXPR" : [ run ../no_cxx17_if_constexpr_pass.cpp ] [ compile-fail ../no_cxx17_if_constexpr_fail.cpp ] ; diff --git a/test/boost_no_cxx17_hdr_optional.ipp b/test/boost_no_cxx17_hdr_optional.ipp new file mode 100644 index 00000000..86d799ef --- /dev/null +++ b/test/boost_no_cxx17_hdr_optional.ipp @@ -0,0 +1,23 @@ +// (C) Copyright John Maddock 2018 + +// 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_CXX17_HDR_OPTIONAL +// TITLE: C++17 header unavailable +// DESCRIPTION: The standard library does not supply C++17 header + +#include + +namespace boost_no_cxx17_hdr_optional { + +int test() +{ + using std::optional; + return 0; +} + +} diff --git a/test/config_info.cpp b/test/config_info.cpp index b5629772..ab4bfd46 100644 --- a/test/config_info.cpp +++ b/test/config_info.cpp @@ -1159,6 +1159,7 @@ void print_boost_macros() PRINT_MACRO(BOOST_NO_CXX14_STD_EXCHANGE); PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES); PRINT_MACRO(BOOST_NO_CXX17_FOLD_EXPRESSIONS); + PRINT_MACRO(BOOST_NO_CXX17_HDR_OPTIONAL); PRINT_MACRO(BOOST_NO_CXX17_IF_CONSTEXPR); PRINT_MACRO(BOOST_NO_CXX17_INLINE_VARIABLES); PRINT_MACRO(BOOST_NO_CXX17_ITERATOR_TRAITS); @@ -1237,6 +1238,7 @@ void print_boost_macros() + // END GENERATED BLOCK PRINT_MACRO(BOOST_INTEL); diff --git a/test/config_test.cpp b/test/config_test.cpp index c7e4e8a6..b17fd2eb 100644 --- a/test/config_test.cpp +++ b/test/config_test.cpp @@ -1,4 +1,4 @@ -// This file was automatically generated on Wed Apr 18 20:03:40 2018 +// This file was automatically generated on Sat Aug 4 19:11:09 2018 // by libs/config/tools/generate.cpp // Copyright John Maddock 2002-4. // Use, modification and distribution are subject to the @@ -342,6 +342,11 @@ namespace boost_no_cxx14_variable_templates = empty_boost; #else namespace boost_no_cxx17_fold_expressions = empty_boost; #endif +#ifndef BOOST_NO_CXX17_HDR_OPTIONAL +#include "boost_no_cxx17_hdr_optional.ipp" +#else +namespace boost_no_cxx17_hdr_optional = empty_boost; +#endif #ifndef BOOST_NO_CXX17_IF_CONSTEXPR #include "boost_no_cxx17_if_constexpr.ipp" #else @@ -1501,6 +1506,11 @@ int main( int, char *[] ) std::cerr << "Failed test for BOOST_NO_CXX17_FOLD_EXPRESSIONS at: " << __FILE__ << ":" << __LINE__ << std::endl; ++error_count; } + if(0 != boost_no_cxx17_hdr_optional::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX17_HDR_OPTIONAL at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } if(0 != boost_no_cxx17_if_constexpr::test()) { std::cerr << "Failed test for BOOST_NO_CXX17_IF_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl; diff --git a/test/config_test.cu b/test/config_test.cu new file mode 100644 index 00000000..c7e4e8a6 --- /dev/null +++ b/test/config_test.cu @@ -0,0 +1,1971 @@ +// This file was automatically generated on Wed Apr 18 20:03:40 2018 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-4. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// + +// Test file for config setup +// This file should compile, if it does not then +// one or more macros need to be defined. +// see boost_*.ipp for more details + +// Do not edit this file, it was generated automatically by + +#include +#include +#include "test.hpp" + +int error_count = 0; + +#ifndef BOOST_NO_ADL_BARRIER +#include "boost_no_adl_barrier.ipp" +#else +namespace boost_no_adl_barrier = empty_boost; +#endif +#ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP +#include "boost_no_arg_dep_lookup.ipp" +#else +namespace boost_no_argument_dependent_lookup = empty_boost; +#endif +#ifndef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS +#include "boost_no_array_type_spec.ipp" +#else +namespace boost_no_array_type_specializations = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_AUTO_DECLARATIONS +#include "boost_no_auto_declarations.ipp" +#else +namespace boost_no_cxx11_auto_declarations = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#include "boost_no_auto_multidecl.ipp" +#else +namespace boost_no_cxx11_auto_multideclarations = empty_boost; +#endif +#ifndef BOOST_NO_AUTO_PTR +#include "boost_no_auto_ptr.ipp" +#else +namespace boost_no_auto_ptr = empty_boost; +#endif +#ifndef BOOST_BCB_PARTIAL_SPECIALIZATION_BUG +#include "boost_no_bcb_partial_spec.ipp" +#else +namespace boost_bcb_partial_specialization_bug = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_CHAR16_T +#include "boost_no_char16_t.ipp" +#else +namespace boost_no_cxx11_char16_t = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_CHAR32_T +#include "boost_no_char32_t.ipp" +#else +namespace boost_no_cxx11_char32_t = empty_boost; +#endif +#ifndef BOOST_NO_COMPLETE_VALUE_INITIALIZATION +#include "boost_no_com_value_init.ipp" +#else +namespace boost_no_complete_value_initialization = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_CONSTEXPR +#include "boost_no_constexpr.ipp" +#else +namespace boost_no_cxx11_constexpr = empty_boost; +#endif +#ifndef BOOST_NO_CTYPE_FUNCTIONS +#include "boost_no_ctype_functions.ipp" +#else +namespace boost_no_ctype_functions = empty_boost; +#endif +#ifndef BOOST_NO_CV_SPECIALIZATIONS +#include "boost_no_cv_spec.ipp" +#else +namespace boost_no_cv_specializations = empty_boost; +#endif +#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS +#include "boost_no_cv_void_spec.ipp" +#else +namespace boost_no_cv_void_specializations = empty_boost; +#endif +#ifndef BOOST_NO_CWCHAR +#include "boost_no_cwchar.ipp" +#else +namespace boost_no_cwchar = empty_boost; +#endif +#ifndef BOOST_NO_CWCTYPE +#include "boost_no_cwctype.ipp" +#else +namespace boost_no_cwctype = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_ADDRESSOF +#include "boost_no_cxx11_addressof.ipp" +#else +namespace boost_no_cxx11_addressof = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_ALIGNAS +#include "boost_no_cxx11_alignas.ipp" +#else +namespace boost_no_cxx11_alignas = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_ALLOCATOR +#include "boost_no_cxx11_allocator.ipp" +#else +namespace boost_no_cxx11_allocator = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_ATOMIC_SMART_PTR +#include "boost_no_cxx11_atomic_sp.ipp" +#else +namespace boost_no_cxx11_atomic_smart_ptr = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_DEFAULTED_MOVES +#include "boost_no_cxx11_defaulted_moves.ipp" +#else +namespace boost_no_cxx11_defaulted_moves = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_FINAL +#include "boost_no_cxx11_final.ipp" +#else +namespace boost_no_cxx11_final = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_ARRAY +#include "boost_no_cxx11_hdr_array.ipp" +#else +namespace boost_no_cxx11_hdr_array = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_ATOMIC +#include "boost_no_cxx11_hdr_atomic.ipp" +#else +namespace boost_no_cxx11_hdr_atomic = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_CHRONO +#include "boost_no_cxx11_hdr_chrono.ipp" +#else +namespace boost_no_cxx11_hdr_chrono = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_CODECVT +#include "boost_no_cxx11_hdr_codecvt.ipp" +#else +namespace boost_no_cxx11_hdr_codecvt = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +#include "boost_no_cxx11_hdr_condition_variable.ipp" +#else +namespace boost_no_cxx11_hdr_condition_variable = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_FORWARD_LIST +#include "boost_no_cxx11_hdr_forward_list.ipp" +#else +namespace boost_no_cxx11_hdr_forward_list = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_FUTURE +#include "boost_no_cxx11_hdr_future.ipp" +#else +namespace boost_no_cxx11_hdr_future = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#include "boost_no_cxx11_hdr_initializer_list.ipp" +#else +namespace boost_no_cxx11_hdr_initializer_list = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_MUTEX +#include "boost_no_cxx11_hdr_mutex.ipp" +#else +namespace boost_no_cxx11_hdr_mutex = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_RANDOM +#include "boost_no_cxx11_hdr_random.ipp" +#else +namespace boost_no_cxx11_hdr_random = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_RATIO +#include "boost_no_cxx11_hdr_ratio.ipp" +#else +namespace boost_no_cxx11_hdr_ratio = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_REGEX +#include "boost_no_cxx11_hdr_regex.ipp" +#else +namespace boost_no_cxx11_hdr_regex = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_SYSTEM_ERROR +#include "boost_no_cxx11_hdr_system_error.ipp" +#else +namespace boost_no_cxx11_hdr_system_error = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_THREAD +#include "boost_no_cxx11_hdr_thread.ipp" +#else +namespace boost_no_cxx11_hdr_thread = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_TUPLE +#include "boost_no_cxx11_hdr_tuple.ipp" +#else +namespace boost_no_cxx11_hdr_tuple = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_TYPE_TRAITS +#include "boost_no_cxx11_hdr_type_traits.ipp" +#else +namespace boost_no_cxx11_hdr_type_traits = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_TYPEINDEX +#include "boost_no_cxx11_hdr_typeindex.ipp" +#else +namespace boost_no_cxx11_hdr_typeindex = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_UNORDERED_MAP +#include "boost_no_cxx11_hdr_unordered_map.ipp" +#else +namespace boost_no_cxx11_hdr_unordered_map = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_UNORDERED_SET +#include "boost_no_cxx11_hdr_unordered_set.ipp" +#else +namespace boost_no_cxx11_hdr_unordered_set = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_INLINE_NAMESPACES +#include "boost_no_cxx11_inline_namespaces.ipp" +#else +namespace boost_no_cxx11_inline_namespaces = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS +#include "boost_no_cxx11_non_pub_def_fun.ipp" +#else +namespace boost_no_cxx11_non_public_defaulted_functions = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_NUMERIC_LIMITS +#include "boost_no_cxx11_numeric_limits.ipp" +#else +namespace boost_no_cxx11_numeric_limits = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_POINTER_TRAITS +#include "boost_no_cxx11_pointer_traits.ipp" +#else +namespace boost_no_cxx11_pointer_traits = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_REF_QUALIFIERS +#include "boost_no_cxx11_ref_qualifiers.ipp" +#else +namespace boost_no_cxx11_ref_qualifiers = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_SFINAE_EXPR +#include "boost_no_cxx11_sfinae_expr.ipp" +#else +namespace boost_no_cxx11_sfinae_expr = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_SMART_PTR +#include "boost_no_cxx11_smart_ptr.ipp" +#else +namespace boost_no_cxx11_smart_ptr = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_STD_ALIGN +#include "boost_no_cxx11_std_align.ipp" +#else +namespace boost_no_cxx11_std_align = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_THREAD_LOCAL +#include "boost_no_cxx11_thread_local.ipp" +#else +namespace boost_no_cxx11_thread_local = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#include "boost_no_cxx11_trailing_result_types.ipp" +#else +namespace boost_no_cxx11_trailing_result_types = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_USER_DEFINED_LITERALS +#include "boost_no_cxx11_user_lit.ipp" +#else +namespace boost_no_cxx11_user_defined_literals = empty_boost; +#endif +#ifndef BOOST_NO_CXX14_BINARY_LITERALS +#include "boost_no_cxx14_binary_literals.ipp" +#else +namespace boost_no_cxx14_binary_literals = empty_boost; +#endif +#ifndef BOOST_NO_CXX14_CONSTEXPR +#include "boost_no_cxx14_constexpr.ipp" +#else +namespace boost_no_cxx14_constexpr = empty_boost; +#endif +#ifndef BOOST_NO_CXX14_DECLTYPE_AUTO +#include "boost_no_cxx14_decltype_auto.ipp" +#else +namespace boost_no_cxx14_decltype_auto = empty_boost; +#endif +#ifndef BOOST_NO_CXX14_DIGIT_SEPARATORS +#include "boost_no_cxx14_digit_separator.ipp" +#else +namespace boost_no_cxx14_digit_separators = empty_boost; +#endif +#ifndef BOOST_NO_CXX14_GENERIC_LAMBDAS +#include "boost_no_cxx14_generic_lambda.ipp" +#else +namespace boost_no_cxx14_generic_lambdas = empty_boost; +#endif +#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX +#include "boost_no_cxx14_hdr_shared_mutex.ipp" +#else +namespace boost_no_cxx14_hdr_shared_mutex = empty_boost; +#endif +#ifndef BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#include "boost_no_cxx14_lambda_capture.ipp" +#else +namespace boost_no_cxx14_initialized_lambda_captures = empty_boost; +#endif +#ifndef BOOST_NO_CXX14_AGGREGATE_NSDMI +#include "boost_no_cxx14_member_init.ipp" +#else +namespace boost_no_cxx14_aggregate_nsdmi = empty_boost; +#endif +#ifndef BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#include "boost_no_cxx14_return_type_ded.ipp" +#else +namespace boost_no_cxx14_return_type_deduction = empty_boost; +#endif +#ifndef BOOST_NO_CXX14_STD_EXCHANGE +#include "boost_no_cxx14_std_exchange.ipp" +#else +namespace boost_no_cxx14_std_exchange = empty_boost; +#endif +#ifndef BOOST_NO_CXX14_VARIABLE_TEMPLATES +#include "boost_no_cxx14_var_templ.ipp" +#else +namespace boost_no_cxx14_variable_templates = empty_boost; +#endif +#ifndef BOOST_NO_CXX17_FOLD_EXPRESSIONS +#include "boost_no_cxx17_fold_expressions.ipp" +#else +namespace boost_no_cxx17_fold_expressions = empty_boost; +#endif +#ifndef BOOST_NO_CXX17_IF_CONSTEXPR +#include "boost_no_cxx17_if_constexpr.ipp" +#else +namespace boost_no_cxx17_if_constexpr = empty_boost; +#endif +#ifndef BOOST_NO_CXX17_INLINE_VARIABLES +#include "boost_no_cxx17_inline_variables.ipp" +#else +namespace boost_no_cxx17_inline_variables = empty_boost; +#endif +#ifndef BOOST_NO_CXX17_ITERATOR_TRAITS +#include "boost_no_cxx17_iterator_traits.ipp" +#else +namespace boost_no_cxx17_iterator_traits = empty_boost; +#endif +#ifndef BOOST_NO_CXX17_STD_APPLY +#include "boost_no_cxx17_std_apply.ipp" +#else +namespace boost_no_cxx17_std_apply = empty_boost; +#endif +#ifndef BOOST_NO_CXX17_STD_INVOKE +#include "boost_no_cxx17_std_invoke.ipp" +#else +namespace boost_no_cxx17_std_invoke = empty_boost; +#endif +#ifndef BOOST_NO_CXX17_STRUCTURED_BINDINGS +#include "boost_no_cxx17_structured_bindings.ipp" +#else +namespace boost_no_cxx17_structured_bindings = empty_boost; +#endif +#ifndef BOOST_NO_CXX98_BINDERS +#include "boost_no_cxx98_binders.ipp" +#else +namespace boost_no_cxx98_binders = empty_boost; +#endif +#ifndef BOOST_NO_CXX98_FUNCTION_BASE +#include "boost_no_cxx98_function_base.ipp" +#else +namespace boost_no_cxx98_function_base = empty_boost; +#endif +#ifndef BOOST_NO_CXX98_RANDOM_SHUFFLE +#include "boost_no_cxx98_random_shuffle.ipp" +#else +namespace boost_no_cxx98_random_shuffle = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL +#include "boost_no_cxx_hdr_functional.ipp" +#else +namespace boost_no_cxx11_hdr_functional = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_DECLTYPE +#include "boost_no_decltype.ipp" +#else +namespace boost_no_cxx11_decltype = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_DECLTYPE_N3276 +#include "boost_no_decltype_n3276.ipp" +#else +namespace boost_no_cxx11_decltype_n3276 = empty_boost; +#endif +#ifndef BOOST_DEDUCED_TYPENAME +#include "boost_no_ded_typename.ipp" +#else +namespace boost_deduced_typename = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#include "boost_no_defaulted_functions.ipp" +#else +namespace boost_no_cxx11_defaulted_functions = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_DELETED_FUNCTIONS +#include "boost_no_deleted_functions.ipp" +#else +namespace boost_no_cxx11_deleted_functions = empty_boost; +#endif +#ifndef BOOST_NO_DEPENDENT_NESTED_DERIVATIONS +#include "boost_no_dep_nested_class.ipp" +#else +namespace boost_no_dependent_nested_derivations = empty_boost; +#endif +#ifndef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS +#include "boost_no_dep_val_param.ipp" +#else +namespace boost_no_dependent_types_in_template_value_parameters = empty_boost; +#endif +#ifndef BOOST_NO_EXCEPTION_STD_NAMESPACE +#include "boost_no_excep_std.ipp" +#else +namespace boost_no_exception_std_namespace = empty_boost; +#endif +#ifndef BOOST_NO_EXCEPTIONS +#include "boost_no_exceptions.ipp" +#else +namespace boost_no_exceptions = empty_boost; +#endif +#ifndef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS +#include "boost_no_exp_func_tem_arg.ipp" +#else +namespace boost_no_explicit_function_template_arguments = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#include "boost_no_explicit_cvt_ops.ipp" +#else +namespace boost_no_cxx11_explicit_conversion_operators = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_EXTERN_TEMPLATE +#include "boost_no_extern_template.ipp" +#else +namespace boost_no_cxx11_extern_template = empty_boost; +#endif +#ifndef BOOST_NO_FENV_H +#include "boost_no_fenv_h.ipp" +#else +namespace boost_no_fenv_h = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS +#include "boost_no_fixed_len_variadic_templates.ipp" +#else +namespace boost_no_cxx11_fixed_length_variadic_template_expansion_packs = empty_boost; +#endif +#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING +#include "boost_no_func_tmp_order.ipp" +#else +namespace boost_no_function_template_ordering = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#include "boost_no_function_template_default_args.ipp" +#else +namespace boost_no_cxx11_function_template_default_args = empty_boost; +#endif +#ifndef BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS +#include "boost_no_function_type_spec.ipp" +#else +namespace boost_no_function_type_specializations = empty_boost; +#endif +#ifndef BOOST_NO_MS_INT64_NUMERIC_LIMITS +#include "boost_no_i64_limits.ipp" +#else +namespace boost_no_ms_int64_numeric_limits = empty_boost; +#endif +#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION +#include "boost_no_inline_memb_init.ipp" +#else +namespace boost_no_inclass_member_initialization = empty_boost; +#endif +#ifndef BOOST_NO_INTEGRAL_INT64_T +#include "boost_no_integral_int64_t.ipp" +#else +namespace boost_no_integral_int64_t = empty_boost; +#endif +#ifndef BOOST_NO_IOSFWD +#include "boost_no_iosfwd.ipp" +#else +namespace boost_no_iosfwd = empty_boost; +#endif +#ifndef BOOST_NO_IOSTREAM +#include "boost_no_iostream.ipp" +#else +namespace boost_no_iostream = empty_boost; +#endif +#ifndef BOOST_NO_IS_ABSTRACT +#include "boost_no_is_abstract.ipp" +#else +namespace boost_no_is_abstract = empty_boost; +#endif +#ifndef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS +#include "boost_no_iter_construct.ipp" +#else +namespace boost_no_templated_iterator_constructors = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_LAMBDAS +#include "boost_no_lambdas.ipp" +#else +namespace boost_no_cxx11_lambdas = empty_boost; +#endif +#ifndef BOOST_NO_LIMITS +#include "boost_no_limits.ipp" +#else +namespace boost_no_limits = empty_boost; +#endif +#ifndef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS +#include "boost_no_limits_const_exp.ipp" +#else +namespace boost_no_limits_compile_time_constants = empty_boost; +#endif +#ifndef BOOST_NO_LONG_LONG_NUMERIC_LIMITS +#include "boost_no_ll_limits.ipp" +#else +namespace boost_no_long_long_numeric_limits = empty_boost; +#endif +#ifndef BOOST_NO_LONG_LONG +#include "boost_no_long_long.ipp" +#else +namespace boost_no_long_long = empty_boost; +#endif +#ifndef BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS +#include "boost_no_mem_func_spec.ipp" +#else +namespace boost_no_member_function_specializations = empty_boost; +#endif +#ifndef BOOST_NO_MEMBER_TEMPLATE_KEYWORD +#include "boost_no_mem_tem_keyword.ipp" +#else +namespace boost_no_member_template_keyword = empty_boost; +#endif +#ifndef BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS +#include "boost_no_mem_tem_pnts.ipp" +#else +namespace boost_no_pointer_to_member_template_parameters = empty_boost; +#endif +#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS +#include "boost_no_mem_templ_frnds.ipp" +#else +namespace boost_no_member_template_friends = empty_boost; +#endif +#ifndef BOOST_NO_MEMBER_TEMPLATES +#include "boost_no_mem_templates.ipp" +#else +namespace boost_no_member_templates = empty_boost; +#endif +#ifndef BOOST_NO_NESTED_FRIENDSHIP +#include "boost_no_nested_friendship.ipp" +#else +namespace boost_no_nested_friendship = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_NOEXCEPT +#include "boost_no_noexcept.ipp" +#else +namespace boost_no_cxx11_noexcept = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_NULLPTR +#include "boost_no_nullptr.ipp" +#else +namespace boost_no_cxx11_nullptr = empty_boost; +#endif +#ifndef BOOST_NO_OPERATORS_IN_NAMESPACE +#include "boost_no_ops_in_namespace.ipp" +#else +namespace boost_no_operators_in_namespace = empty_boost; +#endif +#ifndef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS +#include "boost_no_part_spec_def_args.ipp" +#else +namespace boost_no_partial_specialization_implicit_default_args = empty_boost; +#endif +#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION +#include "boost_no_partial_spec.ipp" +#else +namespace boost_no_template_partial_specialization = empty_boost; +#endif +#ifndef BOOST_NO_PRIVATE_IN_AGGREGATE +#include "boost_no_priv_aggregate.ipp" +#else +namespace boost_no_private_in_aggregate = empty_boost; +#endif +#ifndef BOOST_NO_POINTER_TO_MEMBER_CONST +#include "boost_no_ptr_mem_const.ipp" +#else +namespace boost_no_pointer_to_member_const = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_RANGE_BASED_FOR +#include "boost_no_range_based_for.ipp" +#else +namespace boost_no_cxx11_range_based_for = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_RAW_LITERALS +#include "boost_no_raw_literals.ipp" +#else +namespace boost_no_cxx11_raw_literals = empty_boost; +#endif +#ifndef BOOST_NO_RESTRICT_REFERENCES +#include "boost_no_restrict_references.ipp" +#else +namespace boost_no_restrict_references = empty_boost; +#endif +#ifndef BOOST_NO_UNREACHABLE_RETURN_DETECTION +#include "boost_no_ret_det.ipp" +#else +namespace boost_no_unreachable_return_detection = empty_boost; +#endif +#ifndef BOOST_NO_RTTI +#include "boost_no_rtti.ipp" +#else +namespace boost_no_rtti = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES +#include "boost_no_rvalue_references.ipp" +#else +namespace boost_no_cxx11_rvalue_references = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_SCOPED_ENUMS +#include "boost_no_scoped_enums.ipp" +#else +namespace boost_no_cxx11_scoped_enums = empty_boost; +#endif +#ifndef BOOST_NO_SFINAE +#include "boost_no_sfinae.ipp" +#else +namespace boost_no_sfinae = empty_boost; +#endif +#ifndef BOOST_NO_SFINAE_EXPR +#include "boost_no_sfinae_expr.ipp" +#else +namespace boost_no_sfinae_expr = empty_boost; +#endif +#ifndef BOOST_NO_STRINGSTREAM +#include "boost_no_sstream.ipp" +#else +namespace boost_no_stringstream = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_STATIC_ASSERT +#include "boost_no_static_assert.ipp" +#else +namespace boost_no_cxx11_static_assert = empty_boost; +#endif +#ifndef BOOST_NO_STD_ALLOCATOR +#include "boost_no_std_allocator.ipp" +#else +namespace boost_no_std_allocator = empty_boost; +#endif +#ifndef BOOST_NO_STD_DISTANCE +#include "boost_no_std_distance.ipp" +#else +namespace boost_no_std_distance = empty_boost; +#endif +#ifndef BOOST_NO_STD_ITERATOR_TRAITS +#include "boost_no_std_iter_traits.ipp" +#else +namespace boost_no_std_iterator_traits = empty_boost; +#endif +#ifndef BOOST_NO_STD_ITERATOR +#include "boost_no_std_iterator.ipp" +#else +namespace boost_no_std_iterator = empty_boost; +#endif +#ifndef BOOST_NO_STD_LOCALE +#include "boost_no_std_locale.ipp" +#else +namespace boost_no_std_locale = empty_boost; +#endif +#ifndef BOOST_NO_STD_MESSAGES +#include "boost_no_std_messages.ipp" +#else +namespace boost_no_std_messages = empty_boost; +#endif +#ifndef BOOST_NO_STD_MIN_MAX +#include "boost_no_std_min_max.ipp" +#else +namespace boost_no_std_min_max = empty_boost; +#endif +#ifndef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN +#include "boost_no_std_oi_assign.ipp" +#else +namespace boost_no_std_output_iterator_assign = empty_boost; +#endif +#ifndef BOOST_NO_STD_TYPEINFO +#include "boost_no_std_typeinfo.ipp" +#else +namespace boost_no_std_typeinfo = empty_boost; +#endif +#ifndef BOOST_NO_STD_USE_FACET +#include "boost_no_std_use_facet.ipp" +#else +namespace boost_no_std_use_facet = empty_boost; +#endif +#ifndef BOOST_NO_STD_WSTREAMBUF +#include "boost_no_std_wstreambuf.ipp" +#else +namespace boost_no_std_wstreambuf = empty_boost; +#endif +#ifndef BOOST_NO_STD_WSTRING +#include "boost_no_std_wstring.ipp" +#else +namespace boost_no_std_wstring = empty_boost; +#endif +#ifndef BOOST_NO_STDC_NAMESPACE +#include "boost_no_stdc_namespace.ipp" +#else +namespace boost_no_stdc_namespace = empty_boost; +#endif +#ifndef BOOST_NO_SWPRINTF +#include "boost_no_swprintf.ipp" +#else +namespace boost_no_swprintf = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#include "boost_no_tem_local_classes.ipp" +#else +namespace boost_no_cxx11_local_class_template_parameters = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_TEMPLATE_ALIASES +#include "boost_no_template_aliases.ipp" +#else +namespace boost_no_cxx11_template_aliases = empty_boost; +#endif +#ifndef BOOST_NO_TEMPLATED_IOSTREAMS +#include "boost_no_template_streams.ipp" +#else +namespace boost_no_templated_iostreams = empty_boost; +#endif +#ifndef BOOST_NO_TEMPLATE_TEMPLATES +#include "boost_no_template_template.ipp" +#else +namespace boost_no_template_templates = empty_boost; +#endif +#ifndef BOOST_NO_TWO_PHASE_NAME_LOOKUP +#include "boost_no_two_phase_lookup.ipp" +#else +namespace boost_no_two_phase_name_lookup = empty_boost; +#endif +#ifndef BOOST_NO_TYPEID +#include "boost_no_typeid.ipp" +#else +namespace boost_no_typeid = empty_boost; +#endif +#ifndef BOOST_NO_TYPENAME_WITH_CTOR +#include "boost_no_typename_with_ctor.ipp" +#else +namespace boost_no_typename_with_ctor = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_UNICODE_LITERALS +#include "boost_no_unicode_literals.ipp" +#else +namespace boost_no_cxx11_unicode_literals = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#include "boost_no_unified_init.ipp" +#else +namespace boost_no_cxx11_unified_initialization_syntax = empty_boost; +#endif +#ifndef BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL +#include "boost_no_using_breaks_adl.ipp" +#else +namespace boost_function_scope_using_declaration_breaks_adl = empty_boost; +#endif +#ifndef BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE +#include "boost_no_using_decl_overld.ipp" +#else +namespace boost_no_using_declaration_overloads_from_typename_base = empty_boost; +#endif +#ifndef BOOST_NO_USING_TEMPLATE +#include "boost_no_using_template.ipp" +#else +namespace boost_no_using_template = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_VARIADIC_MACROS +#include "boost_no_variadic_macros.ipp" +#else +namespace boost_no_cxx11_variadic_macros = empty_boost; +#endif +#ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES +#include "boost_no_variadic_templates.ipp" +#else +namespace boost_no_cxx11_variadic_templates = empty_boost; +#endif +#ifndef BOOST_NO_VOID_RETURNS +#include "boost_no_void_returns.ipp" +#else +namespace boost_no_void_returns = empty_boost; +#endif +#ifndef BOOST_NO_INTRINSIC_WCHAR_T +#include "boost_no_wchar_t.ipp" +#else +namespace boost_no_intrinsic_wchar_t = empty_boost; +#endif + +#ifdef BOOST_HAS_TWO_ARG_USE_FACET +#include "boost_has_2arg_use_facet.ipp" +#else +namespace boost_has_two_arg_use_facet = empty_boost; +#endif +#ifdef BOOST_HAS_BETHREADS +#include "boost_has_bethreads.ipp" +#else +namespace boost_has_bethreads = empty_boost; +#endif +#ifdef BOOST_HAS_CLOCK_GETTIME +#include "boost_has_clock_gettime.ipp" +#else +namespace boost_has_clock_gettime = empty_boost; +#endif +#ifdef BOOST_HAS_PRAGMA_DETECT_MISMATCH +#include "boost_has_detect_mismatch.ipp" +#else +namespace boost_has_pragma_detect_mismatch = empty_boost; +#endif +#ifdef BOOST_HAS_DIRENT_H +#include "boost_has_dirent_h.ipp" +#else +namespace boost_has_dirent_h = empty_boost; +#endif +#ifdef BOOST_HAS_EXPM1 +#include "boost_has_expm1.ipp" +#else +namespace boost_has_expm1 = empty_boost; +#endif +#ifdef BOOST_HAS_FLOAT128 +#include "boost_has_float128.ipp" +#else +namespace boost_has_float128 = empty_boost; +#endif +#ifdef BOOST_HAS_FTIME +#include "boost_has_ftime.ipp" +#else +namespace boost_has_ftime = empty_boost; +#endif +#ifdef BOOST_HAS_GETSYSTEMTIMEASFILETIME +#include "boost_has_getsystemtimeasfiletime.ipp" +#else +namespace boost_has_getsystemtimeasfiletime = empty_boost; +#endif +#ifdef BOOST_HAS_GETTIMEOFDAY +#include "boost_has_gettimeofday.ipp" +#else +namespace boost_has_gettimeofday = empty_boost; +#endif +#ifdef BOOST_HAS_HASH +#include "boost_has_hash.ipp" +#else +namespace boost_has_hash = empty_boost; +#endif +#ifdef BOOST_HAS_INT128 +#include "boost_has_int128.ipp" +#else +namespace boost_has_int128 = empty_boost; +#endif +#ifdef BOOST_HAS_LOG1P +#include "boost_has_log1p.ipp" +#else +namespace boost_has_log1p = empty_boost; +#endif +#ifdef BOOST_HAS_LONG_LONG +#include "boost_has_long_long.ipp" +#else +namespace boost_has_long_long = empty_boost; +#endif +#ifdef BOOST_HAS_MACRO_USE_FACET +#include "boost_has_macro_use_facet.ipp" +#else +namespace boost_has_macro_use_facet = empty_boost; +#endif +#ifdef BOOST_HAS_MS_INT64 +#include "boost_has_ms_int64.ipp" +#else +namespace boost_has_ms_int64 = empty_boost; +#endif +#ifdef BOOST_HAS_NANOSLEEP +#include "boost_has_nanosleep.ipp" +#else +namespace boost_has_nanosleep = empty_boost; +#endif +#ifdef BOOST_HAS_NL_TYPES_H +#include "boost_has_nl_types_h.ipp" +#else +namespace boost_has_nl_types_h = empty_boost; +#endif +#ifdef BOOST_HAS_NRVO +#include "boost_has_nrvo.ipp" +#else +namespace boost_has_nrvo = empty_boost; +#endif +#ifdef BOOST_HAS_PARTIAL_STD_ALLOCATOR +#include "boost_has_part_alloc.ipp" +#else +namespace boost_has_partial_std_allocator = empty_boost; +#endif +#ifdef BOOST_HAS_PTHREAD_DELAY_NP +#include "boost_has_pthread_delay_np.ipp" +#else +namespace boost_has_pthread_delay_np = empty_boost; +#endif +#ifdef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +#include "boost_has_pthread_ma_st.ipp" +#else +namespace boost_has_pthread_mutexattr_settype = empty_boost; +#endif +#ifdef BOOST_HAS_PTHREAD_YIELD +#include "boost_has_pthread_yield.ipp" +#else +namespace boost_has_pthread_yield = empty_boost; +#endif +#ifdef BOOST_HAS_PTHREADS +#include "boost_has_pthreads.ipp" +#else +namespace boost_has_pthreads = empty_boost; +#endif +#ifdef BOOST_HAS_RVALUE_REFS +#include "boost_has_rvalue_refs.ipp" +#else +namespace boost_has_rvalue_refs = empty_boost; +#endif +#ifdef BOOST_HAS_SCHED_YIELD +#include "boost_has_sched_yield.ipp" +#else +namespace boost_has_sched_yield = empty_boost; +#endif +#ifdef BOOST_HAS_SGI_TYPE_TRAITS +#include "boost_has_sgi_type_traits.ipp" +#else +namespace boost_has_sgi_type_traits = empty_boost; +#endif +#ifdef BOOST_HAS_SIGACTION +#include "boost_has_sigaction.ipp" +#else +namespace boost_has_sigaction = empty_boost; +#endif +#ifdef BOOST_HAS_SLIST +#include "boost_has_slist.ipp" +#else +namespace boost_has_slist = empty_boost; +#endif +#ifdef BOOST_HAS_STATIC_ASSERT +#include "boost_has_static_assert.ipp" +#else +namespace boost_has_static_assert = empty_boost; +#endif +#ifdef BOOST_HAS_STDINT_H +#include "boost_has_stdint_h.ipp" +#else +namespace boost_has_stdint_h = empty_boost; +#endif +#ifdef BOOST_HAS_STLP_USE_FACET +#include "boost_has_stlp_use_facet.ipp" +#else +namespace boost_has_stlp_use_facet = empty_boost; +#endif +#ifdef BOOST_HAS_UNISTD_H +#include "boost_has_unistd_h.ipp" +#else +namespace boost_has_unistd_h = empty_boost; +#endif +#ifdef BOOST_HAS_VARIADIC_TMPL +#include "boost_has_variadic_tmpl.ipp" +#else +namespace boost_has_variadic_tmpl = empty_boost; +#endif +#ifdef BOOST_MSVC6_MEMBER_TEMPLATES +#include "boost_has_vc6_mem_templ.ipp" +#else +namespace boost_msvc6_member_templates = empty_boost; +#endif +#ifdef BOOST_MSVC_STD_ITERATOR +#include "boost_has_vc_iterator.ipp" +#else +namespace boost_msvc_std_iterator = empty_boost; +#endif +#ifdef BOOST_HAS_WINTHREADS +#include "boost_has_winthreads.ipp" +#else +namespace boost_has_winthreads = empty_boost; +#endif + +int main( int, char *[] ) +{ + if(0 != boost_has_two_arg_use_facet::test()) + { + std::cerr << "Failed test for BOOST_HAS_TWO_ARG_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_bethreads::test()) + { + std::cerr << "Failed test for BOOST_HAS_BETHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_clock_gettime::test()) + { + std::cerr << "Failed test for BOOST_HAS_CLOCK_GETTIME at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_pragma_detect_mismatch::test()) + { + std::cerr << "Failed test for BOOST_HAS_PRAGMA_DETECT_MISMATCH at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_dirent_h::test()) + { + std::cerr << "Failed test for BOOST_HAS_DIRENT_H at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_expm1::test()) + { + std::cerr << "Failed test for BOOST_HAS_EXPM1 at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_float128::test()) + { + std::cerr << "Failed test for BOOST_HAS_FLOAT128 at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_ftime::test()) + { + std::cerr << "Failed test for BOOST_HAS_FTIME at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_getsystemtimeasfiletime::test()) + { + std::cerr << "Failed test for BOOST_HAS_GETSYSTEMTIMEASFILETIME at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_gettimeofday::test()) + { + std::cerr << "Failed test for BOOST_HAS_GETTIMEOFDAY at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_hash::test()) + { + std::cerr << "Failed test for BOOST_HAS_HASH at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_int128::test()) + { + std::cerr << "Failed test for BOOST_HAS_INT128 at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_log1p::test()) + { + std::cerr << "Failed test for BOOST_HAS_LOG1P at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_long_long::test()) + { + std::cerr << "Failed test for BOOST_HAS_LONG_LONG at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_macro_use_facet::test()) + { + std::cerr << "Failed test for BOOST_HAS_MACRO_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_ms_int64::test()) + { + std::cerr << "Failed test for BOOST_HAS_MS_INT64 at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_nanosleep::test()) + { + std::cerr << "Failed test for BOOST_HAS_NANOSLEEP at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_nl_types_h::test()) + { + std::cerr << "Failed test for BOOST_HAS_NL_TYPES_H at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_nrvo::test()) + { + std::cerr << "Failed test for BOOST_HAS_NRVO at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_partial_std_allocator::test()) + { + std::cerr << "Failed test for BOOST_HAS_PARTIAL_STD_ALLOCATOR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_pthread_delay_np::test()) + { + std::cerr << "Failed test for BOOST_HAS_PTHREAD_DELAY_NP at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_pthread_mutexattr_settype::test()) + { + std::cerr << "Failed test for BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_pthread_yield::test()) + { + std::cerr << "Failed test for BOOST_HAS_PTHREAD_YIELD at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_pthreads::test()) + { + std::cerr << "Failed test for BOOST_HAS_PTHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_rvalue_refs::test()) + { + std::cerr << "Failed test for BOOST_HAS_RVALUE_REFS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_sched_yield::test()) + { + std::cerr << "Failed test for BOOST_HAS_SCHED_YIELD at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_sgi_type_traits::test()) + { + std::cerr << "Failed test for BOOST_HAS_SGI_TYPE_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_sigaction::test()) + { + std::cerr << "Failed test for BOOST_HAS_SIGACTION at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_slist::test()) + { + std::cerr << "Failed test for BOOST_HAS_SLIST at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_static_assert::test()) + { + std::cerr << "Failed test for BOOST_HAS_STATIC_ASSERT at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_stdint_h::test()) + { + std::cerr << "Failed test for BOOST_HAS_STDINT_H at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_stlp_use_facet::test()) + { + std::cerr << "Failed test for BOOST_HAS_STLP_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_unistd_h::test()) + { + std::cerr << "Failed test for BOOST_HAS_UNISTD_H at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_variadic_tmpl::test()) + { + std::cerr << "Failed test for BOOST_HAS_VARIADIC_TMPL at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_msvc6_member_templates::test()) + { + std::cerr << "Failed test for BOOST_MSVC6_MEMBER_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_msvc_std_iterator::test()) + { + std::cerr << "Failed test for BOOST_MSVC_STD_ITERATOR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_has_winthreads::test()) + { + std::cerr << "Failed test for BOOST_HAS_WINTHREADS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_adl_barrier::test()) + { + std::cerr << "Failed test for BOOST_NO_ADL_BARRIER at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_argument_dependent_lookup::test()) + { + std::cerr << "Failed test for BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_array_type_specializations::test()) + { + std::cerr << "Failed test for BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_auto_declarations::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_AUTO_DECLARATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_auto_multideclarations::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_auto_ptr::test()) + { + std::cerr << "Failed test for BOOST_NO_AUTO_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_bcb_partial_specialization_bug::test()) + { + std::cerr << "Failed test for BOOST_BCB_PARTIAL_SPECIALIZATION_BUG at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_char16_t::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_CHAR16_T at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_char32_t::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_CHAR32_T at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_complete_value_initialization::test()) + { + std::cerr << "Failed test for BOOST_NO_COMPLETE_VALUE_INITIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_constexpr::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_ctype_functions::test()) + { + std::cerr << "Failed test for BOOST_NO_CTYPE_FUNCTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cv_specializations::test()) + { + std::cerr << "Failed test for BOOST_NO_CV_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cv_void_specializations::test()) + { + std::cerr << "Failed test for BOOST_NO_CV_VOID_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cwchar::test()) + { + std::cerr << "Failed test for BOOST_NO_CWCHAR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cwctype::test()) + { + std::cerr << "Failed test for BOOST_NO_CWCTYPE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_addressof::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_ADDRESSOF at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_alignas::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_ALIGNAS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_allocator::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_ALLOCATOR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_atomic_smart_ptr::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_ATOMIC_SMART_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_defaulted_moves::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_DEFAULTED_MOVES at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_final::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_FINAL at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_array::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_ARRAY at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_atomic::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_ATOMIC at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_chrono::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_CHRONO at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_codecvt::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_CODECVT at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_condition_variable::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_CONDITION_VARIABLE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_forward_list::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_FORWARD_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_future::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_FUTURE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_initializer_list::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_INITIALIZER_LIST at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_mutex::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_MUTEX at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_random::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_RANDOM at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_ratio::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_RATIO at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_regex::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_REGEX at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_system_error::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_SYSTEM_ERROR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_thread::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_THREAD at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_tuple::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_TUPLE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_type_traits::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_TYPE_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_typeindex::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_TYPEINDEX at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_unordered_map::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_UNORDERED_MAP at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_unordered_set::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_UNORDERED_SET at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_inline_namespaces::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_INLINE_NAMESPACES at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_non_public_defaulted_functions::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_numeric_limits::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_NUMERIC_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_pointer_traits::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_POINTER_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_ref_qualifiers::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_REF_QUALIFIERS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_sfinae_expr::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_SFINAE_EXPR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_smart_ptr::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_SMART_PTR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_std_align::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_STD_ALIGN at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_thread_local::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_THREAD_LOCAL at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_trailing_result_types::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_TRAILING_RESULT_TYPES at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_user_defined_literals::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_USER_DEFINED_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx14_binary_literals::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX14_BINARY_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx14_constexpr::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX14_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx14_decltype_auto::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX14_DECLTYPE_AUTO at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx14_digit_separators::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX14_DIGIT_SEPARATORS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx14_generic_lambdas::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX14_GENERIC_LAMBDAS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx14_hdr_shared_mutex::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX14_HDR_SHARED_MUTEX at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx14_initialized_lambda_captures::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx14_aggregate_nsdmi::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX14_AGGREGATE_NSDMI at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx14_return_type_deduction::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx14_std_exchange::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX14_STD_EXCHANGE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx14_variable_templates::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX14_VARIABLE_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx17_fold_expressions::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX17_FOLD_EXPRESSIONS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx17_if_constexpr::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX17_IF_CONSTEXPR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx17_inline_variables::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX17_INLINE_VARIABLES at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx17_iterator_traits::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX17_ITERATOR_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx17_std_apply::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX17_STD_APPLY at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx17_std_invoke::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX17_STD_INVOKE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx17_structured_bindings::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX17_STRUCTURED_BINDINGS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx98_binders::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX98_BINDERS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx98_function_base::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX98_FUNCTION_BASE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx98_random_shuffle::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX98_RANDOM_SHUFFLE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_hdr_functional::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_HDR_FUNCTIONAL at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_decltype::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_DECLTYPE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_decltype_n3276::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_DECLTYPE_N3276 at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_deduced_typename::test()) + { + std::cerr << "Failed test for BOOST_DEDUCED_TYPENAME at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_defaulted_functions::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_DEFAULTED_FUNCTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_deleted_functions::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_DELETED_FUNCTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_dependent_nested_derivations::test()) + { + std::cerr << "Failed test for BOOST_NO_DEPENDENT_NESTED_DERIVATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_dependent_types_in_template_value_parameters::test()) + { + std::cerr << "Failed test for BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_exception_std_namespace::test()) + { + std::cerr << "Failed test for BOOST_NO_EXCEPTION_STD_NAMESPACE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_exceptions::test()) + { + std::cerr << "Failed test for BOOST_NO_EXCEPTIONS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_explicit_function_template_arguments::test()) + { + std::cerr << "Failed test for BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_explicit_conversion_operators::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_extern_template::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_EXTERN_TEMPLATE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_fenv_h::test()) + { + std::cerr << "Failed test for BOOST_NO_FENV_H at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_fixed_length_variadic_template_expansion_packs::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_function_template_ordering::test()) + { + std::cerr << "Failed test for BOOST_NO_FUNCTION_TEMPLATE_ORDERING at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_function_template_default_args::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_function_type_specializations::test()) + { + std::cerr << "Failed test for BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_ms_int64_numeric_limits::test()) + { + std::cerr << "Failed test for BOOST_NO_MS_INT64_NUMERIC_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_inclass_member_initialization::test()) + { + std::cerr << "Failed test for BOOST_NO_INCLASS_MEMBER_INITIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_integral_int64_t::test()) + { + std::cerr << "Failed test for BOOST_NO_INTEGRAL_INT64_T at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_iosfwd::test()) + { + std::cerr << "Failed test for BOOST_NO_IOSFWD at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_iostream::test()) + { + std::cerr << "Failed test for BOOST_NO_IOSTREAM at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_is_abstract::test()) + { + std::cerr << "Failed test for BOOST_NO_IS_ABSTRACT at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_templated_iterator_constructors::test()) + { + std::cerr << "Failed test for BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_lambdas::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_LAMBDAS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_limits::test()) + { + std::cerr << "Failed test for BOOST_NO_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_limits_compile_time_constants::test()) + { + std::cerr << "Failed test for BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_long_long_numeric_limits::test()) + { + std::cerr << "Failed test for BOOST_NO_LONG_LONG_NUMERIC_LIMITS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_long_long::test()) + { + std::cerr << "Failed test for BOOST_NO_LONG_LONG at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_member_function_specializations::test()) + { + std::cerr << "Failed test for BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_member_template_keyword::test()) + { + std::cerr << "Failed test for BOOST_NO_MEMBER_TEMPLATE_KEYWORD at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_pointer_to_member_template_parameters::test()) + { + std::cerr << "Failed test for BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_member_template_friends::test()) + { + std::cerr << "Failed test for BOOST_NO_MEMBER_TEMPLATE_FRIENDS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_member_templates::test()) + { + std::cerr << "Failed test for BOOST_NO_MEMBER_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_nested_friendship::test()) + { + std::cerr << "Failed test for BOOST_NO_NESTED_FRIENDSHIP at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_noexcept::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_NOEXCEPT at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_nullptr::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_NULLPTR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_operators_in_namespace::test()) + { + std::cerr << "Failed test for BOOST_NO_OPERATORS_IN_NAMESPACE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_partial_specialization_implicit_default_args::test()) + { + std::cerr << "Failed test for BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_template_partial_specialization::test()) + { + std::cerr << "Failed test for BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_private_in_aggregate::test()) + { + std::cerr << "Failed test for BOOST_NO_PRIVATE_IN_AGGREGATE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_pointer_to_member_const::test()) + { + std::cerr << "Failed test for BOOST_NO_POINTER_TO_MEMBER_CONST at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_range_based_for::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_RANGE_BASED_FOR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_raw_literals::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_RAW_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_restrict_references::test()) + { + std::cerr << "Failed test for BOOST_NO_RESTRICT_REFERENCES at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_unreachable_return_detection::test()) + { + std::cerr << "Failed test for BOOST_NO_UNREACHABLE_RETURN_DETECTION at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_rtti::test()) + { + std::cerr << "Failed test for BOOST_NO_RTTI at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_rvalue_references::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_RVALUE_REFERENCES at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_scoped_enums::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_SCOPED_ENUMS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_sfinae::test()) + { + std::cerr << "Failed test for BOOST_NO_SFINAE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_sfinae_expr::test()) + { + std::cerr << "Failed test for BOOST_NO_SFINAE_EXPR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_stringstream::test()) + { + std::cerr << "Failed test for BOOST_NO_STRINGSTREAM at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_static_assert::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_STATIC_ASSERT at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_std_allocator::test()) + { + std::cerr << "Failed test for BOOST_NO_STD_ALLOCATOR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_std_distance::test()) + { + std::cerr << "Failed test for BOOST_NO_STD_DISTANCE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_std_iterator_traits::test()) + { + std::cerr << "Failed test for BOOST_NO_STD_ITERATOR_TRAITS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_std_iterator::test()) + { + std::cerr << "Failed test for BOOST_NO_STD_ITERATOR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_std_locale::test()) + { + std::cerr << "Failed test for BOOST_NO_STD_LOCALE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_std_messages::test()) + { + std::cerr << "Failed test for BOOST_NO_STD_MESSAGES at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_std_min_max::test()) + { + std::cerr << "Failed test for BOOST_NO_STD_MIN_MAX at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_std_output_iterator_assign::test()) + { + std::cerr << "Failed test for BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_std_typeinfo::test()) + { + std::cerr << "Failed test for BOOST_NO_STD_TYPEINFO at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_std_use_facet::test()) + { + std::cerr << "Failed test for BOOST_NO_STD_USE_FACET at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_std_wstreambuf::test()) + { + std::cerr << "Failed test for BOOST_NO_STD_WSTREAMBUF at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_std_wstring::test()) + { + std::cerr << "Failed test for BOOST_NO_STD_WSTRING at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_stdc_namespace::test()) + { + std::cerr << "Failed test for BOOST_NO_STDC_NAMESPACE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_swprintf::test()) + { + std::cerr << "Failed test for BOOST_NO_SWPRINTF at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_local_class_template_parameters::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_template_aliases::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_TEMPLATE_ALIASES at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_templated_iostreams::test()) + { + std::cerr << "Failed test for BOOST_NO_TEMPLATED_IOSTREAMS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_template_templates::test()) + { + std::cerr << "Failed test for BOOST_NO_TEMPLATE_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_two_phase_name_lookup::test()) + { + std::cerr << "Failed test for BOOST_NO_TWO_PHASE_NAME_LOOKUP at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_typeid::test()) + { + std::cerr << "Failed test for BOOST_NO_TYPEID at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_typename_with_ctor::test()) + { + std::cerr << "Failed test for BOOST_NO_TYPENAME_WITH_CTOR at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_unicode_literals::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_UNICODE_LITERALS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_unified_initialization_syntax::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_function_scope_using_declaration_breaks_adl::test()) + { + std::cerr << "Failed test for BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_using_declaration_overloads_from_typename_base::test()) + { + std::cerr << "Failed test for BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_using_template::test()) + { + std::cerr << "Failed test for BOOST_NO_USING_TEMPLATE at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_variadic_macros::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_VARIADIC_MACROS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_cxx11_variadic_templates::test()) + { + std::cerr << "Failed test for BOOST_NO_CXX11_VARIADIC_TEMPLATES at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_void_returns::test()) + { + std::cerr << "Failed test for BOOST_NO_VOID_RETURNS at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + if(0 != boost_no_intrinsic_wchar_t::test()) + { + std::cerr << "Failed test for BOOST_NO_INTRINSIC_WCHAR_T at: " << __FILE__ << ":" << __LINE__ << std::endl; + ++error_count; + } + return error_count; +} + diff --git a/test/no_cxx17_hdr_optional_fail.cpp b/test/no_cxx17_hdr_optional_fail.cpp new file mode 100644 index 00000000..74bac133 --- /dev/null +++ b/test/no_cxx17_hdr_optional_fail.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Sat Aug 4 19:11:09 2018 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-4. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// + + +// Test file for macro BOOST_NO_CXX17_HDR_OPTIONAL +// This file should not compile, if it does then +// BOOST_NO_CXX17_HDR_OPTIONAL should not be defined. +// See file boost_no_cxx17_hdr_optional.ipp for details + +// Must not have BOOST_ASSERT_CONFIG set; it defeats +// the objective of this file: +#ifdef BOOST_ASSERT_CONFIG +# undef BOOST_ASSERT_CONFIG +#endif + +#include +#include "test.hpp" + +#ifdef BOOST_NO_CXX17_HDR_OPTIONAL +#include "boost_no_cxx17_hdr_optional.ipp" +#else +#error "this file should not compile" +#endif + +int main( int, char *[] ) +{ + return boost_no_cxx17_hdr_optional::test(); +} + diff --git a/test/no_cxx17_hdr_optional_pass.cpp b/test/no_cxx17_hdr_optional_pass.cpp new file mode 100644 index 00000000..e4a83ef6 --- /dev/null +++ b/test/no_cxx17_hdr_optional_pass.cpp @@ -0,0 +1,37 @@ +// This file was automatically generated on Sat Aug 4 19:11:08 2018 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-4. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// + + +// Test file for macro BOOST_NO_CXX17_HDR_OPTIONAL +// This file should compile, if it does not then +// BOOST_NO_CXX17_HDR_OPTIONAL should be defined. +// See file boost_no_cxx17_hdr_optional.ipp for details + +// Must not have BOOST_ASSERT_CONFIG set; it defeats +// the objective of this file: +#ifdef BOOST_ASSERT_CONFIG +# undef BOOST_ASSERT_CONFIG +#endif + +#include +#include "test.hpp" + +#ifndef BOOST_NO_CXX17_HDR_OPTIONAL +#include "boost_no_cxx17_hdr_optional.ipp" +#else +namespace boost_no_cxx17_hdr_optional = empty_boost; +#endif + +int main( int, char *[] ) +{ + return boost_no_cxx17_hdr_optional::test(); +} +