Compare commits

..

90 Commits

Author SHA1 Message Date
Peter Dimov
bef8ef7b80 Add CMake test project 2018-09-28 22:48:02 +03:00
jzmaddock
1d39fdec80 Remove malformed CMake testing files. 2018-09-28 12:46:49 +01:00
jzmaddock
d25a1df5d2 Add comments to CMake files.
[CI SKIP]
2018-09-28 12:07:29 +01:00
jzmaddock
fb33858b6e Merge pull request #242 from Mike-Devel/min_cmake
[CMake] Generate cmake target for boost config that other libraries can depend on
2018-09-28 12:02:57 +01:00
Mike Dev
9d084e5310 [CI/CMake] Remove cmake build from ci 2018-09-27 18:17:22 +02:00
Mike Dev
fe45ca1601 [CMake] Test cmake target on travis 2018-09-25 20:36:19 +02:00
Mike Dev
6b238b5d1c [CMake] Add copyright notice 2018-09-25 16:37:33 +02:00
Mike Dev
1f5fc3c74b [CMake] Lower requirement to 3.5 and rename project to BoostConfig 2018-09-19 18:38:47 +02:00
Mike Dev
85f716830d [CMake] Generate cmake target that other libraries can use
... to express their dependency on this library and retrieve any
configuration information such as the include directory, binary
to link to (if any), transitive dependencies, necessary compiler
options or the required c++ standards level.
2018-09-19 18:38:47 +02:00
jzmaddock
d229f9be96 Latest msvc seems OK with C++14 constexpr now. 2018-09-15 08:22:00 +01:00
jzmaddock
cec1a860e9 Add call to report_errors() to limits_test.cpp. 2018-09-15 08:21:19 +01:00
jzmaddock
c2af669dd7 Merge pull request #239 from boostorg/string_view
Add BOOST_NO_CXX17_HDR_STRING_VIEW.
2018-08-16 12:07:19 +01:00
jzmaddock
b420491e88 Add BOOST_NO_CXX17_HDR_STRING_VIEW. 2018-08-16 11:25:16 +01:00
jzmaddock
7a5a1e1154 Merge pull request #238 from boostorg/mclow-boost-version-patch
Bump version number to 1.69.0
2018-08-09 18:25:52 +01:00
Marshall Clow
9f006ceb6c Bump version number to 1.69.0 2018-08-09 10:11:34 -07:00
jzmaddock
d3084e8cb0 Stop testing C++1z with obsolete libc++ version.
There is also no shared_timed_mutex in obsolete libc++ versions.
2018-08-05 08:31:18 +01:00
jzmaddock
fb9957101f Correct use of __has_include in suffix.hpp. 2018-08-04 19:35:11 +01:00
jzmaddock
96a6cd878f Apply fix for [[fallthrough]] attribute in Intel C++ compiler.
Fixes: https://github.com/boostorg/config/issues/211.
2018-08-04 19:32:00 +01:00
jzmaddock
5364a2e8a7 Add new macro BOOST_NO_CXX17_HDR_OPTIONAL.
Fixes: https://github.com/boostorg/config/issues/236.
2018-08-04 19:21:21 +01:00
jzmaddock
ec3318d47a Fixes https://github.com/boostorg/config/issues/237.
Also tentatively adds .cu test file, though without boost.build support at present.
2018-08-04 18:15:48 +01:00
jzmaddock
eb4e8d58d5 Clang/libc++: Disable thread_local prior to clang-6 as it appears not to work.
See: https://github.com/boostorg/config/issues/231.
2018-08-04 17:55:58 +01:00
jzmaddock
304a62a85a CI: Try again with clang-6 libc++ test. 2018-08-04 17:03:36 +01:00
jzmaddock
fa426d8e24 CI: Add clang 6.0 and another libc++/clang config. 2018-08-04 11:16:15 +01:00
jzmaddock
ffd6682a8b No need to define BOOST_NO_CXX11_THREAD_LOCAL for recent libc++ versions on Linux.
Fixes https://github.com/boostorg/config/issues/231.
2018-08-04 08:25:09 +01:00
jzmaddock
d265f48d7b Don't use __attribute__((__visibility__("default"))) for clang on windows as it isn't supported.
Fixes https://github.com/boostorg/config/issues/226.
2018-08-03 18:21:18 +01:00
jzmaddock
cd5c825039 Document intptr_t in cstdint.h.
[SKIP CI]
Fixes https://github.com/boostorg/config/issues/234.
2018-08-03 13:09:53 +01:00
jzmaddock
76a94a4bcf Merge branch 'develop' of https://github.com/boostorg/config into develop 2018-08-02 18:30:13 +01:00
jzmaddock
7143b31545 Document recently added auto-linking macros.
[CI SKIP]
2018-08-02 18:29:55 +01:00
jzmaddock
87f56edb22 Merge pull request #228 from lanurmi/message-prefix
Prefix "Unknown compiler version ..." messages with "boost:".
2018-08-02 18:29:17 +01:00
jzmaddock
447dab3d20 Merge pull request #227 from isuruf/auto_link_system
Add support for user defined option BOOST_AUTO_LINK_SYSTEM
2018-08-02 18:19:53 +01:00
jzmaddock
0a22b8dbed Update last tested gcc version. 2018-07-31 19:50:31 +01:00
Lauri Nurmi
024dbed67e Merge branch 'develop' into message-prefix 2018-07-12 09:42:07 +03:00
Lauri Nurmi
cdf41efdd3 Prefix "Unknown compiler version ..." messages with "boost:".
Makes it easier to figure out which library is outputing such messages
during compilation.
2018-07-12 09:33:40 +03:00
Isuru Fernando
fb903c7180 Add support for user defined option BOOST_AUTO_LINK_SYSTEM
This is to support auto linking when the libraries are built with
system layout
2018-07-10 21:06:20 -06:00
jzmaddock
9fd87d6d7d CUDA 9 does support constexpr for msvc. 2018-07-09 17:54:42 +01:00
jzmaddock
47bc9827be Tentatively add support for gcc-8 CI testing. 2018-06-28 18:05:33 +01:00
Edward Diener
11d584332c Merge pull request #224 from boostorg/pdimov-patch-1
Add parentheses to BOOST_CUDA_VERSION
2018-04-28 14:40:50 -04:00
Peter Dimov
eb68e4725a Add parentheses to BOOST_CUDA_VERSION
Expressions like `BOOST_CUDA_VERSION / 1000000` don't work correctly; add parentheses around the expression to fix.
2018-04-28 20:32:16 +03:00
jzmaddock
c80a3088a0 #pragma detect_mismatch should be at global scope.
[CI SKIP]
2018-04-19 18:25:57 +01:00
jzmaddock
a97d5f32d4 Previous fix broke some tests, second try at warning suppression. 2018-04-19 09:12:18 +01:00
jzmaddock
39f48141c5 Fix some warnings and miswritten test case, add test for BOOST_HAS_PRAGMA_DETECT_MISMATCH. 2018-04-18 20:08:22 +01:00
jzmaddock
f3ebdc4558 Add docs for BOOST_NO_CXX17_IF_CONSTEXPR
[CI SKIP]
2018-04-18 19:30:39 +01:00
jzmaddock
29b754ed08 Merge pull request #216 from tzlaine/develop
Add BOOST_NO_CXX17_IF_CONSTEXPR.
2018-04-18 19:26:47 +01:00
jzmaddock
28b1b02546 Merge pull request #220 from pkolbus/remove-c4668-warning
Fix MSVC C4668 on _HAS_NAMESPACE
2018-04-18 19:21:29 +01:00
jzmaddock
6d8b3bc77b Merge pull request #222 from jlapolla-cray/cray-config
Update Cray config
2018-04-18 19:19:33 +01:00
morinmorin
3f10d20431 Merge pull request #223 from danieljames/feature/1.68.0
Bump to 1.68.0
2018-04-18 20:35:44 +09:00
Daniel James
17c6806797 Bump to 1.68.0 2018-04-15 20:53:20 +01:00
Justin LaPolla
d70b298826 Fix typo in comment in 'cray.hpp' 2018-04-11 13:25:17 -05:00
Justin LaPolla
664b2fdec8 Update 'cray.hpp' for CCE 8.6.4 2018-04-11 13:25:17 -05:00
Justin LaPolla
42e1c7913a Update 'cray.hpp' for CCE 8.6.5 2018-04-11 13:25:17 -05:00
Justin LaPolla
5e33b4c27a Update 'cray.hpp' for upcoming release 2018-04-11 13:25:17 -05:00
Justin LaPolla
54c07da09b Update copyright information 2018-04-11 13:25:17 -05:00
Justin LaPolla
7238f9f0f6 Fix 'cray.hpp' BOOST_NO_CXX11_HDR_ATOMIC setting 2018-04-11 13:25:17 -05:00
Justin LaPolla
c04b991321 Add section for next release to 'cray.hpp' 2018-04-11 13:25:17 -05:00
Justin LaPolla
3144e2a8e4 Fix comments in 'cray.hpp' 2018-04-11 13:25:17 -05:00
Justin LaPolla
620f819e3b Handle Cray developer builds 2018-04-11 13:25:17 -05:00
Justin LaPolla
07993e2e2f Remove redundant macro definitions in 'cray.hpp'
- This commit had no effect on test results.
2018-04-11 13:25:17 -05:00
Justin LaPolla
900c36e2fb 'cray.hpp' empty section for 8.7.0 2018-04-11 13:25:17 -05:00
Justin LaPolla
d1e0933528 Improve Cray 8.6.5 C++2003 configuration 2018-04-11 13:25:17 -05:00
Justin LaPolla
382913d25d Work on Cray 8.6.5 C++2011 configuration 2018-04-11 13:25:17 -05:00
Justin LaPolla
ea46cf5332 Set more macros in 'cray.hpp' 2018-04-11 13:25:17 -05:00
Justin LaPolla
026ebd864e Alphabetize macros in 'cray.hpp'
- Did not change any macro values.
2018-04-11 13:25:17 -05:00
Justin LaPolla
f2eca6c7fa Add comments in 'cray.hpp' 2018-04-11 13:25:17 -05:00
Justin LaPolla
3c4ea795d7 Add explanatory comments to 'cray.hpp' 2018-04-11 13:25:17 -05:00
Justin LaPolla
d26ae70b20 BOOST_NO_DEDUCED_TYPENAME test is broken 2018-04-11 13:25:17 -05:00
Justin LaPolla
90ae208868 BOOST_NO_COMPLETE_VALUE_INITIALIZATION test is broken 2018-04-11 13:25:17 -05:00
Justin LaPolla
82c6e933f1 Remove 'BOOST_HAS_CLOCK_GETTIME' from 'cray.hpp'
- This is a platform specific macro that is set elsewhere. It does not
  belong in a compiler configuration header.
- This commit has no effect on test results for CCE 8.6.5 with C++14.
2018-04-11 13:25:17 -05:00
Justin LaPolla
bf628a3b3e Fix 'BOOST_NO_DEDUCED_TYPENAME' in 'cray.hpp'
- Cray compiler requires the 'typename' keyword before a dependent type.
2018-04-11 13:25:17 -05:00
Justin LaPolla
f7165b4f70 Add comments on macro definitions in 'cray.hpp' 2018-04-11 13:25:17 -05:00
Justin LaPolla
83c9f74990 Add '<linkflags>-lrt' to 'cray.hpp' test specification 2018-04-11 13:25:17 -05:00
Justin LaPolla
bea3493fcb Add comments in 'cray.hpp' 2018-04-11 13:25:17 -05:00
Justin LaPolla
5679e66d10 Add more notes about 'cray.hpp' failing tests 2018-04-11 13:25:17 -05:00
Justin LaPolla
f34ea93eb2 Document test procedure for 'cray.hpp'
- It took me a while to figure out that I had to be in the 'test/all'
  directory.
2018-04-11 13:25:17 -05:00
Justin LaPolla
9c220e9fff Work on Cray 8.6.5 header for C++14
- We're down to 7 failing tests in 'test/all'.
2018-04-11 13:25:17 -05:00
Justin LaPolla
31cbd59c85 'cray.hpp' remove unneeded macros for C++14
- Test still passes: `b2 -q toolset=craype cxxstd=14
  cxxstd-dialect=gnu`.
2018-04-11 13:25:17 -05:00
Justin LaPolla
da5012a135 Work on 'cray.hpp' for C++2003 version 8.6.5
- All tests pass except the 'qnan' test mentioned in the previous
  commit. The test command line is: `b2 -q toolset=craype cxxstd=03
  cxxstd-dialect=gnu`
2018-04-11 13:25:17 -05:00
Justin LaPolla
76ee8244df Fix 'cray.hpp' for C++11 version 8.6.5
- All tests pass except that one about 'qnan' (described in the last
  commit). The test command line is: `b2 -q toolset=craype cxxstd=11
  cxxstd-dialect=gnu`.
2018-04-11 13:25:17 -05:00
Justin LaPolla
f18418b17a Work through tests with 'cray.hpp'
- Almost everything is passing. The only thing that's failing is
  'limits_test.cpp', which is failing tests on lines 160 and 161 (shown
  below).

  if(lim::is_iec559)
  {
    BOOST_TEST(! (qnan == qnan)); # __LINE__ == 160
    BOOST_TEST(qnan != qnan); # __LINE__ == 161
  }
2018-04-11 13:25:17 -05:00
Justin LaPolla
c78aa62469 Undefine temporary macros in 'cray.hpp' 2018-04-11 13:25:17 -05:00
Justin LaPolla
e20aa6d187 Remove duplicate macros in 'cray.hpp' 2018-04-11 13:25:17 -05:00
Justin LaPolla
b21d168410 Sort macro definitions in 'cray.hpp'
- There are some duplicates. This commit does not remove the duplicates.
2018-04-11 13:25:17 -05:00
Justin LaPolla
9e9ba3361d Cosmetic refactoring
- Nothing really changed, besides readability.
2018-04-11 13:25:17 -05:00
Justin LaPolla
790a047107 Refactor cray.hpp logic
- The effect of the logic is the same as before, but it is organized
  according to the outline described in the comments. The only change in
  the logic is that we always include 'common_edg.hpp', since we know we
  are only dealing with EDG based compilers.
2018-04-11 13:25:17 -05:00
Justin LaPolla
745a1eb4f8 Refactoring cray.hpp
- Added comments and file structure outline.
- Added basic identifying information (e.g. BOOST_COMPILER).
2018-04-11 13:25:17 -05:00
jzmaddock
149bfe1c93 libcpp has no invoke_result. 2018-04-04 18:37:59 +01:00
jzmaddock
4370498457 std::invoke is only feature complete in VC2015.3 and later. 2018-04-04 18:20:47 +01:00
jzmaddock
3764d61f25 BOOST_NO_CXX17_STD_INVOKE: Update test case to check we have std::invoke_result.
MSVC has no std::invoke in C++14 mode.
GCC has no std::invoke_result prior to 7.1.
2018-04-03 19:08:57 +01:00
Peter Kolbus
77a290c237 Fix MSVC C4668 on _HAS_NAMESPACE
Resolve MSVC warning C4668 (undefined preprocessor macro) for _HAS_NAMESPACE by short-circuiting (checking for Green Hills compiler first).
2018-03-26 22:19:21 -05:00
Zach Laine
d03a3756d9 Add static_asserts() to a false path in boost_no_cxx_if_constexpr.ipp as a
further check of implementation correctness.
2018-03-17 13:37:34 -05:00
Zach Laine
15d78e548f Add BOOST_NO_CXX17_IF_CONSTEXPR. 2018-03-06 17:44:52 -06:00
67 changed files with 3161 additions and 107 deletions

View File

@@ -108,6 +108,15 @@ matrix:
sources:
- ubuntu-toolchain-r-test
- os: linux
env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17
addons:
apt:
packages:
- g++-8
sources:
- ubuntu-toolchain-r-test
- os: linux
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11
@@ -190,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
@@ -215,6 +251,14 @@ matrix:
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
osx_image: xcode6.4
- os: linux
env: CMAKE_TEST_PROJECT=1
install: true
script:
- mkdir __build__ && cd __build__
- cmake ../test/cmake_test_project
- cmake --build .
install:
- BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
- cd ..

21
CMakeLists.txt Normal file
View File

@@ -0,0 +1,21 @@
# Copyright 2018 Mike Dev
# Distributed under the Boost Software License, Version 1.0.
# See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt
#
# CAUTION!!!!
#
# This addition to Boost.Config should be considered experimental and is part
# of an ongoing effort to add CMake support Boost-wide.
#
# IT IS HIGHLY LIKELY THAT THIS FILE WILL CHANGE WITHOUT NOTICE!!!
#
# DO NOT REPLY ON THE CONTENTS OF THIS FILE!!!
#
cmake_minimum_required(VERSION 3.5)
project(BoostConfig LANGUAGES CXX)
add_library(boost_config INTERFACE)
add_library(Boost::config ALIAS boost_config)
target_include_directories(boost_config INTERFACE include)

View File

@@ -1,6 +1,6 @@
#
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Wed Jan 03 23:31:31 2018
# This file was automatically generated on Thu Aug 16 11:20:17 2018
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
@@ -14,6 +14,7 @@ import path ;
obj two_arg_use_facet : test_case.cpp : <define>TEST_BOOST_HAS_TWO_ARG_USE_FACET ;
obj bethreads : test_case.cpp : <define>TEST_BOOST_HAS_BETHREADS ;
obj clock_gettime : test_case.cpp : <define>TEST_BOOST_HAS_CLOCK_GETTIME ;
obj pragma_detect_mismatch : test_case.cpp : <define>TEST_BOOST_HAS_PRAGMA_DETECT_MISMATCH ;
obj dirent_h : test_case.cpp : <define>TEST_BOOST_HAS_DIRENT_H ;
obj expm1 : test_case.cpp : <define>TEST_BOOST_HAS_EXPM1 ;
obj float128 : test_case.cpp : <define>TEST_BOOST_HAS_FLOAT128 ;
@@ -111,6 +112,9 @@ obj cxx14_return_type_deduction : test_case.cpp : <define>TEST_BOOST_NO_CXX14_RE
obj cxx14_std_exchange : test_case.cpp : <define>TEST_BOOST_NO_CXX14_STD_EXCHANGE ;
obj cxx14_variable_templates : test_case.cpp : <define>TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES ;
obj cxx17_fold_expressions : test_case.cpp : <define>TEST_BOOST_NO_CXX17_FOLD_EXPRESSIONS ;
obj cxx17_hdr_optional : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_OPTIONAL ;
obj cxx17_hdr_string_view : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_STRING_VIEW ;
obj cxx17_if_constexpr : test_case.cpp : <define>TEST_BOOST_NO_CXX17_IF_CONSTEXPR ;
obj cxx17_inline_variables : test_case.cpp : <define>TEST_BOOST_NO_CXX17_INLINE_VARIABLES ;
obj cxx17_iterator_traits : test_case.cpp : <define>TEST_BOOST_NO_CXX17_ITERATOR_TRAITS ;
obj cxx17_std_apply : test_case.cpp : <define>TEST_BOOST_NO_CXX17_STD_APPLY ;

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Wed Jan 03 23:31:31 2018
// This file was automatically generated on Thu Aug 16 11:20:17 2018
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@@ -26,6 +26,11 @@
# error "Feature macro BOOST_HAS_CLOCK_GETTIME is not defined."
# endif
#endif
#ifdef TEST_BOOST_HAS_PRAGMA_DETECT_MISMATCH
# ifndef BOOST_HAS_PRAGMA_DETECT_MISMATCH
# error "Feature macro BOOST_HAS_PRAGMA_DETECT_MISMATCH is not defined."
# endif
#endif
#ifdef TEST_BOOST_HAS_DIRENT_H
# ifndef BOOST_HAS_DIRENT_H
# error "Feature macro BOOST_HAS_DIRENT_H is not defined."
@@ -511,6 +516,21 @@
# 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_HDR_STRING_VIEW
# ifdef BOOST_NO_CXX17_HDR_STRING_VIEW
# error "Defect macro BOOST_NO_CXX17_HDR_STRING_VIEW 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."
# endif
#endif
#ifdef TEST_BOOST_NO_CXX17_INLINE_VARIABLES
# ifdef BOOST_NO_CXX17_INLINE_VARIABLES
# error "Defect macro BOOST_NO_CXX17_INLINE_VARIABLES is defined."

View File

@@ -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]

View File

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

View File

@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Boost Macro Reference</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="../index.html" title="Boost.Config">
@@ -2619,6 +2619,19 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_DEFAULTED_MOVES</span></code>
</p>
</td>
<td>
<p>
The compiler does not support defaulted move constructor or assignment.
Other defaulted functions may still be supported.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS</span></code>
@@ -3807,6 +3820,30 @@
</tr></thead>
<tbody>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX17_HDR_OPTIONAL</span></code>
</p>
</td>
<td>
<p>
The compiler does not support the header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">optional</span><span class="special">&gt;</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX17_HDR_STRING_VIEW</span></code>
</p>
</td>
<td>
<p>
The compiler does not support the header <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">string_view</span><span class="special">&gt;</span></code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX17_STD_APPLY</span></code>
@@ -3842,6 +3879,19 @@
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX17_IF_CONSTEXPR</span></code>
</p>
</td>
<td>
<p>
The compiler does not support <code class="computeroutput"><span class="keyword">if</span>
<span class="keyword">constexpr</span></code>.
</p>
</td>
</tr>
</tbody>
</table></div>
</div>
@@ -6239,6 +6289,24 @@
Optional: when set the header will print out the name of the library
selected (useful for debugging).
</p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">BOOST_AUTO_LINK_NOMANGLE</span></code></span></dt>
<dd><p>
Optional: whan set specifies that we should link to BOOST_LIB_NAME.lib,
rather than a mangled-name version.
</p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">BOOST_AUTO_LINK_TAGGED</span></code></span></dt>
<dd><p>
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.
</p></dd>
<dt><span class="term"><code class="computeroutput"><span class="identifier">BOOST_AUTO_LINK_SYSTEM</span></code></span></dt>
<dd><p>
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
</p></dd>
</dl>
</div>
<p>

View File

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

View File

@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Standard Integer Types</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="build_config.html" title="Build Time Configuration">
@@ -40,6 +40,7 @@
integer types</a></span></dt>
<dt><span class="section"><a href="cstdint.html#boost_config.cstdint.integer_constant_macros">Integer
Constant Macros</a></span></dt>
<dt><span class="section"><a href="cstdint.html#boost_config.cstdint.intptr">Integers for Storing Pointers</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
@@ -271,6 +272,17 @@
<span class="keyword">static</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint64_t</span> <span class="identifier">c</span> <span class="special">=</span> <span class="identifier">INT64_C</span><span class="special">(</span><span class="number">0</span><span class="identifier">x1FFFFFFFF</span><span class="special">);</span>
</pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_config.cstdint.intptr"></a><a class="link" href="cstdint.html#boost_config.cstdint.intptr" title="Integers for Storing Pointers">Integers for Storing Pointers</a>
</h3></div></div></div>
<p>
The typedefs <code class="literal">intptr_t</code> and <code class="literal">uintptr_t</code>
defined signed and unsigned integers respectively each capable of storing
a pointer. The macro <code class="literal">BOOST_HAS_INTPTR_T</code> is set when these
types are available.
</p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>

View File

@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Guidelines for Boost Authors</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="Boost.Config">
<link rel="up" href="../index.html" title="Boost.Config">
<link rel="prev" href="cstdint.html" title="Standard Integer Types">

View File

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

View File

@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Boost.Config</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="Boost.Config">
<link rel="next" href="boost_config/boost_macro_reference.html" title="Boost Macro Reference">
</head>
@@ -101,6 +101,7 @@
integer types</a></span></dt>
<dt><span class="section"><a href="boost_config/cstdint.html#boost_config.cstdint.integer_constant_macros">Integer
Constant Macros</a></span></dt>
<dt><span class="section"><a href="boost_config/cstdint.html#boost_config.cstdint.intptr">Integers for Storing Pointers</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="boost_config/guidelines_for_boost_authors.html">Guidelines for
Boost Authors</a></span></dt>
@@ -992,7 +993,7 @@
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: December 22, 2017 at 23:49:22 GMT</small></p></td>
<td align="left"><p><small>Last revised: August 16, 2018 at 10:24:31 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>

View File

@@ -947,9 +947,12 @@ 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 `<optional>`.]]
[[`BOOST_NO_CXX17_HDR_STRING_VIEW`][The compiler does not support the header `<string_view>`.]]
[[`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`.]]
[[`BOOST_NO_CXX17_IF_CONSTEXPR`][The compiler does not support `if constexpr`.]]
]
[endsect]
@@ -1621,6 +1624,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

View File

@@ -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

View File

@@ -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"
@@ -239,6 +239,9 @@
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if __BORLANDC__ >= 0x590
# define BOOST_HAS_TR1_HASH

View File

@@ -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
@@ -294,6 +294,10 @@
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
#endif
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
// Clang 3.9+ in c++1z
#if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L
# define BOOST_NO_CXX17_INLINE_VARIABLES

View File

@@ -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
@@ -167,6 +167,10 @@
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
//
// TR1 macros:
//

View File

@@ -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

View File

@@ -149,6 +149,10 @@
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#ifdef c_plusplus
// EDG has "long long" in non-strict mode
// However, some libraries have insufficient "long long" support

View File

@@ -1,68 +1,227 @@
// (C) Copyright John Maddock 2011.
// (C) Copyright Cray, Inc. 2013
// Copyright 2011 John Maddock
// Copyright 2013, 2017-2018 Cray, Inc.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org for most recent version.
// Greenhills C compiler setup:
// Cray C++ compiler setup.
//
// There are a few parameters that affect the macros defined in this file:
//
// - What version of CCE (Cray Compiling Environment) are we running? This
// comes from the '_RELEASE_MAJOR', '_RELEASE_MINOR', and
// '_RELEASE_PATCHLEVEL' macros.
// - What C++ standards conformance level are we using (e.g. '-h
// std=c++14')? This comes from the '__cplusplus' macro.
// - Are we using GCC extensions ('-h gnu' or '-h nognu')? If we have '-h
// gnu' then CCE emulates GCC, and the macros '__GNUC__',
// '__GNUC_MINOR__', and '__GNUC_PATCHLEVEL__' are defined.
//
// This file is organized as follows:
//
// - Verify that the combination of parameters listed above is supported.
// If we have an unsupported combination, we abort with '#error'.
// - Establish baseline values for all Boost macros.
// - Apply changes to the baseline macros based on compiler version. These
// changes are cummulative so each version section only describes the
// changes since the previous version.
// - Within each version section, we may also apply changes based on
// other parameters (i.e. C++ standards conformance level and GCC
// extensions).
//
// To test changes to this file:
//
// ```
// module load cce/8.6.5 # Pick the version you want to test.
// cd boost/libs/config/test/all
// b2 -j 8 toolset=cray cxxstd=03 cxxstd=11 cxxstd=14 cxxstd-dialect=gnu linkflags=-lrt
// ```
// Note: Using 'cxxstd-dialect=iso' is not supported at this time (the
// tests run, but many tests fail).
//
// Note: 'linkflags=-lrt' is needed in Cray Linux Environment. Otherwise
// you get an 'undefined reference to clock_gettime' error.
//
// Note: If a test '*_fail.cpp' file compiles, but fails to run, then it is
// reported as a defect. However, this is not actually a defect. This is an
// area where the test system is somewhat broken. Tests that are failing
// because of this problem are noted in the comments.
//
// Pay attention to the macro definitions for the macros you wish to
// modify. For example, only macros categorized as compiler macros should
// appear in this file; platform macros should not appear in this file.
// Also, some macros have to be defined to specific values; it is not
// always enough to define or undefine a macro.
//
// Macro definitions are available in the source code at:
//
// `boost/libs/config/doc/html/boost_config/boost_macro_reference.html`
//
// Macro definitions are also available online at:
//
// http://www.boost.org/doc/libs/master/libs/config/doc/html/boost_config/boost_macro_reference.html
//
// Typically, if you enable a feature, and the tests pass, then you have
// nothing to worry about. However, it's sometimes hard to figure out if a
// disabled feature needs to stay disabled. To get a list of disabled
// features, run 'b2' in 'boost/libs/config/checks'. These are the macros
// you should pay attention to (in addition to macros that cause test
// failures).
#define BOOST_COMPILER "Cray C version " BOOST_STRINGIZE(_RELEASE)
////
//// Front matter
////
#if _RELEASE_MAJOR < 8
// In a developer build of the Cray compiler (i.e. a compiler built by a
// Cray employee), the release patch level is reported as "x". This gives
// versions that look like e.g. "8.6.x".
//
// To accomplish this, the the Cray compiler preprocessor inserts:
//
// #define _RELEASE_PATCHLEVEL x
//
// If we are using a developer build of the compiler, we want to use the
// configuration macros for the most recent patch level of the release. To
// accomplish this, we'll pretend that _RELEASE_PATCHLEVEL is 99.
//
// However, it's difficult to detect if _RELEASE_PATCHLEVEL is x. We must
// consider that the x will be expanded if x is defined as a macro
// elsewhere. For example, imagine if someone put "-D x=3" on the command
// line, and _RELEASE_PATCHLEVEL is x. Then _RELEASE_PATCHLEVEL would
// expand to 3, and we could not distinguish it from an actual
// _RELEASE_PATCHLEVEL of 3. This problem only affects developer builds; in
// production builds, _RELEASE_PATCHLEVEL is always an integer.
//
// IMPORTANT: In developer builds, if x is defined as a macro, you will get
// an incorrect configuration. The behavior in this case is undefined.
//
// Even if x is not defined, we have to use some trickery to detect if
// _RELEASE_PATCHLEVEL is x. First we define BOOST_CRAY_x to some arbitrary
// magic value, 9867657. Then we use BOOST_CRAY_APPEND to append the
// expanded value of _RELEASE_PATCHLEVEL to the string "BOOST_CRAY_".
//
// - If _RELEASE_PATCHLEVEL is undefined, we get "BOOST_CRAY_".
// - If _RELEASE_PATCHLEVEL is 5, we get "BOOST_CRAY_5".
// - If _RELEASE_PATCHLEVEL is x (and x is not defined) we get
// "BOOST_CRAY_x":
//
// Then we check if BOOST_CRAY_x is equal to the output of
// BOOST_CRAY_APPEND. In other words, the output of BOOST_CRAY_APPEND is
// treated as a macro name, and expanded again. If we can safely assume
// that BOOST_CRAY_ is not a macro defined as our magic number, and
// BOOST_CRAY_5 is not a macro defined as our magic number, then the only
// way the equality test can pass is if _RELEASE_PATCHLEVEL expands to x.
//
// So, that is how we detect if we are using a developer build of the Cray
// compiler.
#define BOOST_CRAY_x 9867657 // Arbitrary number
#define BOOST_CRAY_APPEND(MACRO) BOOST_CRAY_APPEND_INTERNAL(MACRO)
#define BOOST_CRAY_APPEND_INTERNAL(MACRO) BOOST_CRAY_##MACRO
#if BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL)
// This is a developer build.
//
// - _RELEASE_PATCHLEVEL is defined as x, and x is not defined as a macro.
// Pretend _RELEASE_PATCHLEVEL is 99, so we get the configuration for the
// most recent patch level in this release.
#define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + 99)
#else
// This is a production build.
//
// _RELEASE_PATCHLEVEL is not defined as x, or x is defined as a macro.
#define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + _RELEASE_PATCHLEVEL)
#endif // BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL)
#undef BOOST_CRAY_APPEND_INTERNAL
#undef BOOST_CRAY_APPEND
#undef BOOST_CRAY_x
#ifdef __GNUC__
# define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#endif
#ifndef BOOST_COMPILER
# define BOOST_COMPILER "Cray C++ version " BOOST_STRINGIZE(_RELEASE_MAJOR) "." BOOST_STRINGIZE(_RELEASE_MINOR) "." BOOST_STRINGIZE(_RELEASE_PATCHLEVEL)
#endif
// Since the Cray compiler defines '__GNUC__', we have to emulate some
// additional GCC macros in order to make everything work.
//
// FIXME: Perhaps Cray should fix the compiler to define these additional
// macros for GCC emulation?
#if __cplusplus >= 201103L && defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__)
# define __GXX_EXPERIMENTAL_CXX0X__ 1
#endif
////
//// Parameter validation
////
// FIXME: Do we really need to support compilers before 8.5? Do they pass
// the Boost.Config tests?
#if BOOST_CRAY_VERSION < 80000
# error "Boost is not configured for Cray compilers prior to version 8, please try the configure script."
#endif
//
// Check this is a recent EDG based compiler, otherwise we don't support it here:
//
#ifndef __EDG_VERSION__
// We only support recent EDG based compilers.
#ifndef __EDG__
# error "Unsupported Cray compiler, please try running the configure script."
#endif
#if _RELEASE_MINOR < 5 || __cplusplus < 201100
////
//// Baseline values
////
#include <boost/config/compiler/common_edg.hpp>
//
//
#define BOOST_NO_CXX11_STATIC_ASSERT
#define BOOST_HAS_NRVO
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
#define BOOST_HAS_NRVO
#define BOOST_NO_CXX11_VARIADIC_MACROS
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#define BOOST_NO_CXX11_UNICODE_LITERALS
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
#define BOOST_HAS_NRVO
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
#define BOOST_NO_CXX11_STATIC_ASSERT
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_CXX11_SFINAE_EXPR
#define BOOST_NO_CXX11_SCOPED_ENUMS
#define BOOST_NO_CXX11_RVALUE_REFERENCES
#define BOOST_NO_CXX11_RANGE_BASED_FOR
#define BOOST_NO_CXX11_RAW_LITERALS
#define BOOST_NO_CXX11_NULLPTR
#define BOOST_NO_CXX11_NOEXCEPT
#define BOOST_NO_CXX11_CHAR16_T
#define BOOST_NO_CXX11_CHAR32_T
#define BOOST_NO_CXX11_CONSTEXPR
#define BOOST_NO_CXX11_DECLTYPE
#define BOOST_NO_CXX11_DECLTYPE_N3276
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
#define BOOST_NO_CXX11_FINAL
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
#define BOOST_NO_CXX11_LAMBDAS
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
#define BOOST_NO_CXX11_DECLTYPE_N3276
#define BOOST_NO_CXX11_DECLTYPE
#define BOOST_NO_CXX11_CONSTEXPR
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
#define BOOST_NO_CXX11_CHAR32_T
#define BOOST_NO_CXX11_CHAR16_T
#define BOOST_NO_CXX11_NOEXCEPT
#define BOOST_NO_CXX11_NULLPTR
#define BOOST_NO_CXX11_RANGE_BASED_FOR
#define BOOST_NO_CXX11_RAW_LITERALS
#define BOOST_NO_CXX11_REF_QUALIFIERS
#define BOOST_NO_CXX11_FINAL
#define BOOST_NO_CXX11_RVALUE_REFERENCES
#define BOOST_NO_CXX11_SCOPED_ENUMS
#define BOOST_NO_CXX11_SFINAE_EXPR
#define BOOST_NO_CXX11_STATIC_ASSERT
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
#define BOOST_NO_CXX11_THREAD_LOCAL
#define BOOST_NO_CXX11_UNICODE_LITERALS
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
#define BOOST_NO_CXX11_VARIADIC_MACROS
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
#define BOOST_NO_SFINAE_EXPR
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
#define BOOST_MATH_DISABLE_STD_FPCLASSIFY
@@ -71,15 +230,15 @@
#define BOOST_SP_USE_PTHREADS
#define BOOST_AC_USE_PTHREADS
/* everything that follows is working around what are thought to be
* compiler shortcomings. Revist all of these regularly.
*/
//
// Everything that follows is working around what are thought to be
// compiler shortcomings. Revist all of these regularly.
//
//#define BOOST_USE_ENUM_STATIC_ASSERT
//#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS //(this may be implied by the previous #define
// These constants should be provided by the
// compiler, at least when -hgnu is asserted on the command line.
// These constants should be provided by the compiler.
#ifndef __ATOMIC_RELAXED
#define __ATOMIC_RELAXED 0
@@ -90,7 +249,55 @@
#define __ATOMIC_SEQ_CST 5
#endif
#else /* _RELEASE_MINOR */
////
//// Version changes
////
//
// 8.5.0
//
#if BOOST_CRAY_VERSION >= 80500
#if __cplusplus >= 201103L
#undef BOOST_HAS_NRVO
#undef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
#undef BOOST_NO_CXX11_AUTO_DECLARATIONS
#undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
#undef BOOST_NO_CXX11_CHAR16_T
#undef BOOST_NO_CXX11_CHAR32_T
#undef BOOST_NO_CXX11_CONSTEXPR
#undef BOOST_NO_CXX11_DECLTYPE
#undef BOOST_NO_CXX11_DECLTYPE_N3276
#undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
#undef BOOST_NO_CXX11_DELETED_FUNCTIONS
#undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
#undef BOOST_NO_CXX11_FINAL
#undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
#undef BOOST_NO_CXX11_LAMBDAS
#undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
#undef BOOST_NO_CXX11_NOEXCEPT
#undef BOOST_NO_CXX11_NULLPTR
#undef BOOST_NO_CXX11_RANGE_BASED_FOR
#undef BOOST_NO_CXX11_RAW_LITERALS
#undef BOOST_NO_CXX11_REF_QUALIFIERS
#undef BOOST_NO_CXX11_RVALUE_REFERENCES
#undef BOOST_NO_CXX11_SCOPED_ENUMS
#undef BOOST_NO_CXX11_SFINAE_EXPR
#undef BOOST_NO_CXX11_STATIC_ASSERT
#undef BOOST_NO_CXX11_TEMPLATE_ALIASES
#undef BOOST_NO_CXX11_THREAD_LOCAL
#undef BOOST_NO_CXX11_UNICODE_LITERALS
#undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#undef BOOST_NO_CXX11_USER_DEFINED_LITERALS
#undef BOOST_NO_CXX11_VARIADIC_MACROS
#undef BOOST_NO_CXX11_VARIADIC_TEMPLATES
#undef BOOST_NO_SFINAE_EXPR
#undef BOOST_NO_TWO_PHASE_NAME_LOOKUP
#undef BOOST_MATH_DISABLE_STD_FPCLASSIFY
#undef BOOST_SP_USE_PTHREADS
#undef BOOST_AC_USE_PTHREADS
#define BOOST_HAS_VARIADIC_TMPL
#define BOOST_HAS_UNISTD_H
@@ -114,11 +321,120 @@
#define BOOST_HAS_LONG_LONG
#define BOOST_HAS_FLOAT128
#if __cplusplus < 201400
#if __cplusplus < 201402L
#define BOOST_NO_CXX11_DECLTYPE_N3276
#endif /* __cpluspus */
#endif // __cplusplus < 201402L
#endif /* _RELEASE_MINOR */
#endif // __cplusplus >= 201103L
#endif // BOOST_CRAY_VERSION >= 80500
//
// 8.6.4
// (versions prior to 8.6.5 do not define _RELEASE_PATCHLEVEL)
//
#if BOOST_CRAY_VERSION >= 80600
#if __cplusplus >= 199711L
#define BOOST_HAS_FLOAT128
#define BOOST_HAS_PTHREAD_YIELD // This is a platform macro, but it improves test results.
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION // This is correct. Test compiles, but fails to run.
#undef BOOST_NO_CXX11_CHAR16_T
#undef BOOST_NO_CXX11_CHAR32_T
#undef BOOST_NO_CXX11_INLINE_NAMESPACES
#undef BOOST_NO_CXX11_FINAL
#undef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
#undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
#define BOOST_NO_CXX11_SFINAE_EXPR // This is correct, even though '*_fail.cpp' test fails.
#undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
#undef BOOST_NO_CXX11_VARIADIC_MACROS
#undef BOOST_NO_CXX11_VARIADIC_TEMPLATES
// 'BOOST_NO_DEDUCED_TYPENAME' test is broken. The test files are enabled /
// disabled with an '#ifdef BOOST_DEDUCED_TYPENAME'. However,
// 'boost/libs/config/include/boost/config/detail/suffix.hpp' ensures that
// 'BOOST_DEDUCED_TYPENAME' is always defined (the value it is defined as
// depends on 'BOOST_NO_DEDUCED_TYPENAME'). So, modifying
// 'BOOST_NO_DEDUCED_TYPENAME' has no effect on which tests are run.
//
// The 'no_ded_typename_pass.cpp' test should always compile and run
// successfully, because 'BOOST_DEDUCED_TYPENAME' must always have an
// appropriate value (it's not just something that you turn on or off).
// Therefore, if you wish to test changes to 'BOOST_NO_DEDUCED_TYPENAME',
// you have to modify 'no_ded_typename_pass.cpp' to unconditionally include
// 'boost_no_ded_typename.ipp'.
#undef BOOST_NO_DEDUCED_TYPENAME // This is correct. Test is broken.
#undef BOOST_NO_SFINAE_EXPR
#undef BOOST_NO_TWO_PHASE_NAME_LOOKUP
#endif // __cplusplus >= 199711L
#if __cplusplus >= 201103L
#undef BOOST_NO_CXX11_ALIGNAS
#undef BOOST_NO_CXX11_DECLTYPE_N3276
#define BOOST_NO_CXX11_HDR_ATOMIC
#undef BOOST_NO_CXX11_HDR_FUNCTIONAL
#define BOOST_NO_CXX11_HDR_REGEX // This is correct. Test compiles, but fails to run.
#undef BOOST_NO_CXX11_SFINAE_EXPR
#undef BOOST_NO_CXX11_SMART_PTR
#undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
#endif // __cplusplus >= 201103L
#if __cplusplus >= 201402L
#undef BOOST_NO_CXX14_CONSTEXPR
#define BOOST_NO_CXX14_DIGIT_SEPARATORS
#endif // __cplusplus == 201402L
#endif // BOOST_CRAY_VERSION >= 80600
//
// 8.6.5
// (no change from 8.6.4)
//
//
// 8.7.0
//
#if BOOST_CRAY_VERSION >= 80700
#if __cplusplus >= 199711L
#endif // __cplusplus >= 199711L
#if __cplusplus >= 201103L
#undef BOOST_NO_CXX11_HDR_ATOMIC
#undef BOOST_NO_CXX11_HDR_REGEX
#endif // __cplusplus >= 201103L
#if __cplusplus >= 201402L
#endif // __cplusplus == 201402L
#endif // BOOST_CRAY_VERSION >= 80700
//
// Next release
//
#if BOOST_CRAY_VERSION > 80799
#if __cplusplus >= 199711L
#endif // __cplusplus >= 199711L
#if __cplusplus >= 201103L
#endif // __cplusplus >= 201103L
#if __cplusplus >= 201402L
#endif // __cplusplus == 201402L
#endif // BOOST_CRAY_VERSION > 80799
////
//// Remove temporary macros
////
// I've commented out some '#undef' statements to signify that we purposely
// want to keep certain macros.
//#undef __GXX_EXPERIMENTAL_CXX0X__
//#undef BOOST_COMPILER
#undef BOOST_GCC_VERSION
#undef BOOST_CRAY_VERSION

View File

@@ -124,6 +124,9 @@
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if (__DMC__ <= 0x840)
#error "Compiler not supported or configured - please reconfigure"
@@ -132,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

View File

@@ -299,6 +299,9 @@
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#if __GNUC__ >= 7
# define BOOST_FALLTHROUGH __attribute__((fallthrough))
@@ -343,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

View File

@@ -102,6 +102,9 @@
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__

View File

@@ -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

View File

@@ -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

View File

@@ -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<unsigned short> {};
// 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

View File

@@ -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

View File

@@ -167,6 +167,9 @@
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
@@ -180,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

View File

@@ -116,6 +116,9 @@
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
//
// versions check:
@@ -127,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

View File

@@ -12,7 +12,7 @@
#endif
#if defined(__CUDACC_VER_MAJOR__) && defined(__CUDACC_VER_MINOR__) && defined(__CUDACC_VER_BUILD__)
# define BOOST_CUDA_VERSION __CUDACC_VER_MAJOR__ * 1000000 + __CUDACC_VER_MINOR__ * 10000 + __CUDACC_VER_BUILD__
# define BOOST_CUDA_VERSION (__CUDACC_VER_MAJOR__ * 1000000 + __CUDACC_VER_MINOR__ * 10000 + __CUDACC_VER_BUILD__)
#else
// We don't really know what the CUDA version is, but it's definitely before 7.5:
# define BOOST_CUDA_VERSION 7000000
@@ -33,8 +33,8 @@
#if (BOOST_CUDA_VERSION > 8000000) && (BOOST_CUDA_VERSION < 8010000)
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
#endif
// Most recent CUDA (8.0) has no constexpr support in msvc mode:
#if defined(_MSC_VER)
// CUDA (8.0) has no constexpr support in msvc mode:
#if defined(_MSC_VER) && (BOOST_CUDA_VERSION < 9000000)
# define BOOST_NO_CXX11_CONSTEXPR
#endif

View File

@@ -129,4 +129,7 @@
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
#endif

View File

@@ -182,6 +182,9 @@
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
// Turn on threading support for Solaris 12.
// Ticket #11972

View File

@@ -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
@@ -178,3 +178,6 @@
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#endif
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif

View File

@@ -201,6 +201,9 @@
//
#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
# define BOOST_NO_CXX17_HDR_STRING_VIEW
#endif
// MSVC including version 14 has not yet completely
@@ -233,9 +236,11 @@
// Supported from msvc-15.5 onwards:
#define BOOST_NO_CXX11_SFINAE_EXPR
#endif
#if (_MSC_VER < 1915) || (_MSVC_LANG < 201402)
// C++ 14:
// Still gives internal compiler error for msvc-15.5:
# define BOOST_NO_CXX14_CONSTEXPR
#endif
// C++ 17:
#if (_MSC_VER < 1912) || (_MSVC_LANG < 201703)
#define BOOST_NO_CXX17_INLINE_VARIABLES
@@ -283,9 +288,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
@@ -301,9 +306,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

View File

@@ -246,6 +246,10 @@
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
#endif
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
# define BOOST_NO_CXX17_IF_CONSTEXPR
#endif
// Clang 3.9+ in c++1z
#if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L
# define BOOST_NO_CXX17_INLINE_VARIABLES

View File

@@ -153,6 +153,7 @@
#define BOOST_NO_CXX17_STRUCTURED_BINDINGS
#define BOOST_NO_CXX17_INLINE_VARIABLES
#define BOOST_NO_CXX17_FOLD_EXPRESSIONS
#define BOOST_NO_CXX17_IF_CONSTEXPR
// -------------------------------------

View File

@@ -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"

View File

@@ -1023,6 +1023,19 @@ 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
# define BOOST_NO_CXX17_HDR_STRING_VIEW
#else
#if !__has_include(<optional>)
# define BOOST_NO_CXX17_HDR_OPTIONAL
#endif
#if !__has_include(<string_view>)
# define BOOST_NO_CXX17_HDR_STRING_VIEW
#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

View File

@@ -96,7 +96,7 @@
#include <exception>
#endif
#include <typeinfo>
#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__) && !defined(__VISUALDSPVERSION__) \
#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (defined(__ghs__) && !_HAS_NAMESPACE) ) && !defined(__TI_COMPILER_VERSION__) && !defined(__VISUALDSPVERSION__) \
&& !defined(__VXWORKS__)
# define BOOST_NO_STD_TYPEINFO
#endif
@@ -175,7 +175,7 @@
# define BOOST_NO_CXX17_STD_APPLY
# define BOOST_NO_CXX17_ITERATOR_TRAITS
#endif
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0) || !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 201709)
# define BOOST_NO_CXX17_STD_INVOKE
#endif

View File

@@ -87,11 +87,10 @@
#endif
// C++17 features
#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L)
# define BOOST_NO_CXX17_STD_INVOKE
#endif
#if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L)
# define BOOST_NO_CXX17_STD_APPLY
# define BOOST_NO_CXX17_HDR_OPTIONAL
# define BOOST_NO_CXX17_HDR_STRING_VIEW
#endif
#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
# define BOOST_NO_AUTO_PTR
@@ -104,6 +103,7 @@
#endif
#define BOOST_NO_CXX17_ITERATOR_TRAITS
#define BOOST_NO_CXX17_STD_INVOKE // Invoke support is incomplete (no invoke_result)
#if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
// This is a bit of a sledgehammer, because really it's just libc++abi that has no
@@ -113,10 +113,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
@@ -130,4 +136,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 ---

View File

@@ -294,13 +294,13 @@ extern "C" char *gets (char *__s);
#endif
//
// C++17 features in GCC 6.1 and later
// C++17 features in GCC 7.1 and later
//
#if (BOOST_LIBSTDCXX_VERSION < 60100) || (__cplusplus <= 201402L)
# define BOOST_NO_CXX17_STD_INVOKE
#endif
#if (BOOST_LIBSTDCXX_VERSION < 70100) || (__cplusplus <= 201402L)
# define BOOST_NO_CXX17_STD_INVOKE
# define BOOST_NO_CXX17_STD_APPLY
# define BOOST_NO_CXX17_HDR_OPTIONAL
# define BOOST_NO_CXX17_HDR_STRING_VIEW
#endif
#if defined(__has_include)

View File

@@ -19,7 +19,7 @@
// BOOST_VERSION / 100 % 1000 is the minor version
// BOOST_VERSION / 100000 is the major version
#define BOOST_VERSION 106700
#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 <config/auto_link.hpp> to select which library version to link to.
#define BOOST_LIB_VERSION "1_67"
#define BOOST_LIB_VERSION "1_69"
#endif

View File

@@ -1,7 +1,7 @@
#
# Regression test Jamfile for boost configuration setup.
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Wed Jan 03 23:31:31 2018
# This file was automatically generated on Thu Aug 16 11:20:17 2018
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
@@ -31,6 +31,9 @@ test-suite "BOOST_HAS_BETHREADS" :
test-suite "BOOST_HAS_CLOCK_GETTIME" :
[ run ../has_clock_gettime_pass.cpp ]
[ compile-fail ../has_clock_gettime_fail.cpp ] ;
test-suite "BOOST_HAS_PRAGMA_DETECT_MISMATCH" :
[ run ../has_detect_mismatch_pass.cpp ]
[ compile-fail ../has_detect_mismatch_fail.cpp ] ;
test-suite "BOOST_HAS_DIRENT_H" :
[ run ../has_dirent_h_pass.cpp ]
[ compile-fail ../has_dirent_h_fail.cpp ] ;
@@ -322,6 +325,15 @@ 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_HDR_STRING_VIEW" :
[ run ../no_cxx17_hdr_string_view_pass.cpp ]
[ compile-fail ../no_cxx17_hdr_string_view_fail.cpp ] ;
test-suite "BOOST_NO_CXX17_IF_CONSTEXPR" :
[ run ../no_cxx17_if_constexpr_pass.cpp ]
[ compile-fail ../no_cxx17_if_constexpr_fail.cpp ] ;
test-suite "BOOST_NO_CXX17_INLINE_VARIABLES" :
[ run ../no_cxx17_inline_variables_pass.cpp ]
[ compile-fail ../no_cxx17_inline_variables_fail.cpp ] ;

View File

@@ -0,0 +1,25 @@
// (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 most recent version.
// MACRO: BOOST_HAS_PRAGMA_DETECT_MISMATCH
// TITLE: detect_mismatch pragma
// DESCRIPTION: The compiler supports #pragma detect_mismatch
#include <cstdlib>
namespace boost_has_pragma_detect_mismatch {
# pragma detect_mismatch("Boost_Config", "1")
int test()
{
return 0;
}
}

View File

@@ -38,7 +38,7 @@ int test_allocator(const T& i)
typedef typename alloc1_t::value_type value_type BOOST_UNUSED_ATTRIBUTE;
#endif
alloc1_t a1;
(void)i;
#if !((__cplusplus > 201700) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700)))
pointer p = a1.allocate(1);
const_pointer cp = p;

View File

@@ -52,6 +52,8 @@ int test()
a1 |= 2;
a1 ^= 3;
a2 = 0u;
a3.store(&v);
a3.fetch_add(1);
a3.fetch_sub(1);

View File

@@ -17,6 +17,7 @@ namespace boost_no_cxx11_hdr_tuple {
int test()
{
std::tuple<int, int, long> t(0, 1, 2);
(void)t;
return 0;
}

View File

@@ -18,7 +18,7 @@ namespace boost_no_cxx11_pointer_traits {
template<class T>
struct pointer {
template<class U>
using rebind = pointer<bool>;
using rebind = pointer<U>;
};
template<class T>
@@ -31,7 +31,7 @@ struct result<pointer<bool> > {
int test()
{
return result<std::pointer_traits<pointer<int> >::rebind<char> >::value;
return result<std::pointer_traits<pointer<int> >::rebind<bool> >::value;
}
} /* boost_no_cxx11_pointer_traits */

View File

@@ -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 <optional> unavailable
// DESCRIPTION: The standard library does not supply C++17 header <optional>
#include <optional>
namespace boost_no_cxx17_hdr_optional {
int test()
{
using std::optional;
return 0;
}
}

View File

@@ -0,0 +1,26 @@
// (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_STRING_VIEW
// TITLE: C++17 header <string_view> unavailable
// DESCRIPTION: The standard library does not supply C++17 header <string_view>
#include <string_view>
namespace boost_no_cxx17_hdr_string_view {
int test()
{
using std::string_view;
using std::wstring_view;
using std::u16string_view;
using std::u32string_view;
return 0;
}
}

View File

@@ -0,0 +1,45 @@
/*
Copyright 2018 T. Zachary Laine
(whatwasthataddress@gmail.com)
Distributed under Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
*/
// MACRO: BOOST_NO_CXX17_IF_CONSTEXPR
// TITLE: C++17 if constexpr
// DESCRIPTION: C++17 if constexpr are not supported.
namespace boost_no_cxx17_if_constexpr {
template <typename T, typename U>
struct same
{
static constexpr bool value = false;
};
template <typename T>
struct same<T, T>
{
static constexpr bool value = true;
};
int test()
{
if constexpr (true) {
if constexpr (1 != 0) {
if constexpr (same<int, double>::value) {
static_assert(!same<int, double>::value, "");
return 1;
} else if constexpr (false) {
return 1;
} else {
return 0;
}
}
}
return 1;
}
}

View File

@@ -19,7 +19,7 @@ int foo( int i, int j) {
int test() {
int i = 1, j = 2;
std::invoke( foo, i, j);
typename std::invoke_result<int(&)(int,int), int, int>::type t = std::invoke( foo, i, j);
return 0;
}

View File

@@ -41,6 +41,7 @@ int test_allocator(const T& i)
alloc1_t a1;
alloc1_t a2(a1);
(void)i;
#if !((__cplusplus > 201700) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700)))
// stuff deprecated in C++17:
typedef typename alloc1_t::BOOST_NESTED_TEMPLATE rebind<double> binder_t;

View File

@@ -0,0 +1,6 @@
cmake_minimum_required(VERSION 3.5)
add_subdirectory(../.. ${CMAKE_CURRENT_BINARY_DIR}/boost_config)
add_executable(boost_config_cmake_test main.cpp)
target_link_libraries(boost_config_cmake_test Boost::config)

View File

@@ -0,0 +1,5 @@
#include <boost/config.hpp>
int main()
{
}

View File

@@ -1054,6 +1054,7 @@ void print_boost_macros()
PRINT_MACRO(BOOST_HAS_NL_TYPES_H);
PRINT_MACRO(BOOST_HAS_NRVO);
PRINT_MACRO(BOOST_HAS_PARTIAL_STD_ALLOCATOR);
PRINT_MACRO(BOOST_HAS_PRAGMA_DETECT_MISMATCH);
PRINT_MACRO(BOOST_HAS_PTHREADS);
PRINT_MACRO(BOOST_HAS_PTHREAD_DELAY_NP);
PRINT_MACRO(BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE);
@@ -1158,6 +1159,9 @@ 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_HDR_STRING_VIEW);
PRINT_MACRO(BOOST_NO_CXX17_IF_CONSTEXPR);
PRINT_MACRO(BOOST_NO_CXX17_INLINE_VARIABLES);
PRINT_MACRO(BOOST_NO_CXX17_ITERATOR_TRAITS);
PRINT_MACRO(BOOST_NO_CXX17_STD_APPLY);
@@ -1228,6 +1232,15 @@ void print_boost_macros()
// END GENERATED BLOCK
PRINT_MACRO(BOOST_INTEL);

View File

@@ -1,4 +1,4 @@
// This file was automatically generated on Wed Jan 03 23:31:31 2018
// This file was automatically generated on Thu Aug 16 11:20:17 2018
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-4.
// Use, modification and distribution are subject to the
@@ -342,6 +342,21 @@ 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_HDR_STRING_VIEW
#include "boost_no_cxx17_hdr_string_view.ipp"
#else
namespace boost_no_cxx17_hdr_string_view = 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
@@ -818,6 +833,11 @@ namespace boost_has_bethreads = empty_boost;
#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
@@ -1001,6 +1021,11 @@ int main( int, char *[] )
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;
@@ -1486,6 +1511,21 @@ 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_hdr_string_view::test())
{
std::cerr << "Failed test for BOOST_NO_CXX17_HDR_STRING_VIEW 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;

1971
test/config_test.cu Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,37 @@
// 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 macro BOOST_HAS_PRAGMA_DETECT_MISMATCH
// This file should not compile, if it does then
// BOOST_HAS_PRAGMA_DETECT_MISMATCH should be defined.
// See file boost_has_detect_mismatch.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_HAS_PRAGMA_DETECT_MISMATCH
#include "boost_has_detect_mismatch.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_has_pragma_detect_mismatch::test();
}

View File

@@ -0,0 +1,37 @@
// 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 macro BOOST_HAS_PRAGMA_DETECT_MISMATCH
// This file should compile, if it does not then
// BOOST_HAS_PRAGMA_DETECT_MISMATCH should not be defined.
// See file boost_has_detect_mismatch.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_HAS_PRAGMA_DETECT_MISMATCH
#include "boost_has_detect_mismatch.ipp"
#else
namespace boost_has_pragma_detect_mismatch = empty_boost;
#endif
int main( int, char *[] )
{
return boost_has_pragma_detect_mismatch::test();
}

View File

@@ -207,7 +207,7 @@ int cpp_main(int, char*[])
test_float_limits(long_double(), "long double");
// Some compilers don't pay attention to std:3.6.1/5 and issue a
// warning here if "return 0;" is omitted.
return 0;
return boost::report_errors();
}

View File

@@ -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 <boost/config.hpp>
#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();
}

View File

@@ -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 <boost/config.hpp>
#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();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Thu Aug 16 11:20:17 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_STRING_VIEW
// This file should not compile, if it does then
// BOOST_NO_CXX17_HDR_STRING_VIEW should not be defined.
// See file boost_no_cxx17_hdr_string_view.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_CXX17_HDR_STRING_VIEW
#include "boost_no_cxx17_hdr_string_view.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_cxx17_hdr_string_view::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Thu Aug 16 11:20:17 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_STRING_VIEW
// This file should compile, if it does not then
// BOOST_NO_CXX17_HDR_STRING_VIEW should be defined.
// See file boost_no_cxx17_hdr_string_view.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_CXX17_HDR_STRING_VIEW
#include "boost_no_cxx17_hdr_string_view.ipp"
#else
namespace boost_no_cxx17_hdr_string_view = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_cxx17_hdr_string_view::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Tue Mar 6 00:52:32 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_IF_CONSTEXPR
// This file should not compile, if it does then
// BOOST_NO_CXX17_IF_CONSTEXPR should not be defined.
// See file boost_no_cxx17_if_constexpr.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifdef BOOST_NO_CXX17_IF_CONSTEXPR
#include "boost_no_cxx17_if_constexpr.ipp"
#else
#error "this file should not compile"
#endif
int main( int, char *[] )
{
return boost_no_cxx17_if_constexpr::test();
}

View File

@@ -0,0 +1,37 @@
// This file was automatically generated on Tue Mar 6 00:52:32 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_IF_CONSTEXPR
// This file should compile, if it does not then
// BOOST_NO_CXX17_IF_CONSTEXPR should be defined.
// See file boost_no_cxx17_if_constexpr.ipp for details
// Must not have BOOST_ASSERT_CONFIG set; it defeats
// the objective of this file:
#ifdef BOOST_ASSERT_CONFIG
# undef BOOST_ASSERT_CONFIG
#endif
#include <boost/config.hpp>
#include "test.hpp"
#ifndef BOOST_NO_CXX17_IF_CONSTEXPR
#include "boost_no_cxx17_if_constexpr.ipp"
#else
namespace boost_no_cxx17_if_constexpr = empty_boost;
#endif
int main( int, char *[] )
{
return boost_no_cxx17_if_constexpr::test();
}