mirror of
https://github.com/boostorg/config.git
synced 2026-03-07 14:24:10 +01:00
Compare commits
145 Commits
boost-1.65
...
boost-1.67
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
200d36776e | ||
|
|
d9d5ece1c8 | ||
|
|
90238fe435 | ||
|
|
2814b40640 | ||
|
|
f48572a067 | ||
|
|
dca252c087 | ||
|
|
3cf434c002 | ||
|
|
3b709bc3ed | ||
|
|
47c2b0a74a | ||
|
|
5ad0730630 | ||
|
|
51f1178921 | ||
|
|
f68542269a | ||
|
|
29ceb18264 | ||
|
|
bfd85ac978 | ||
|
|
db4ebfca6f | ||
|
|
0275380f32 | ||
|
|
29dbea1b5a | ||
|
|
2de7d27bfd | ||
|
|
bc99a449c1 | ||
|
|
d566c119a7 | ||
|
|
8e14096bf3 | ||
|
|
81b7dfb728 | ||
|
|
5ac217aa3f | ||
|
|
d0b3e9d59e | ||
|
|
bb095bf0e7 | ||
|
|
73cff8ec7c | ||
|
|
e87ea67c61 | ||
|
|
f04e129c05 | ||
|
|
611d428a37 | ||
|
|
2ec8f0fc73 | ||
|
|
9d3cef6dba | ||
|
|
2617671fd2 | ||
|
|
3143e185c6 | ||
|
|
0ac815ed21 | ||
|
|
19349c3941 | ||
|
|
cb2b706bf2 | ||
|
|
0d0211e4d5 | ||
|
|
95fe1c03ac | ||
|
|
3ec5a2b573 | ||
|
|
da9f4d062b | ||
|
|
24a2cc623d | ||
|
|
a28e9c6c1c | ||
|
|
b95595517e | ||
|
|
cc5a67a18d | ||
|
|
d70e6fcc85 | ||
|
|
d5986d697c | ||
|
|
08212107cb | ||
|
|
f6296c0495 | ||
|
|
4ba6b9d545 | ||
|
|
5fa3b7d00c | ||
|
|
ae3c914e70 | ||
|
|
884133ef7f | ||
|
|
baeb8cd550 | ||
|
|
90466c9d32 | ||
|
|
f060bb1eca | ||
|
|
1f86d51030 | ||
|
|
464f30fe36 | ||
|
|
44e0d3ec75 | ||
|
|
280ebb9129 | ||
|
|
e376809717 | ||
|
|
305f5a58ef | ||
|
|
ac0cc94982 | ||
|
|
4ca03928e9 | ||
|
|
f841c990c9 | ||
|
|
23327d6d01 | ||
|
|
08bd1dbe71 | ||
|
|
77c6a915db | ||
|
|
025db91843 | ||
|
|
aa6193c839 | ||
|
|
3c00cb8760 | ||
|
|
aecc402971 | ||
|
|
9efa768e30 | ||
|
|
6e8df4186f | ||
|
|
74ef9af25a | ||
|
|
8a6d83ce29 | ||
|
|
59ea08b918 | ||
|
|
644073bcf7 | ||
|
|
907cb7ca8b | ||
|
|
4d88edd1e9 | ||
|
|
068d8e1c4e | ||
|
|
2e3392e00c | ||
|
|
2e2d4ce583 | ||
|
|
e276412eb9 | ||
|
|
f4d91c7aa2 | ||
|
|
421866a4b2 | ||
|
|
0cdf4a5da8 | ||
|
|
2356a7e9c4 | ||
|
|
8f1f13d0f2 | ||
|
|
918c5fc486 | ||
|
|
6102d18867 | ||
|
|
46525c9bd5 | ||
|
|
f6c3a163f0 | ||
|
|
a7dd324d41 | ||
|
|
593389dc4b | ||
|
|
011426d510 | ||
|
|
02888f5052 | ||
|
|
2e2285930c | ||
|
|
19429a2bde | ||
|
|
b04ae6d7ab | ||
|
|
bb22ab3c5f | ||
|
|
8c9e237f26 | ||
|
|
ee11fba649 | ||
|
|
a0147b73e8 | ||
|
|
17a4997aaa | ||
|
|
b57df2a3c4 | ||
|
|
a4815b04af | ||
|
|
e27474534c | ||
|
|
b8fe4fe5e0 | ||
|
|
994e3cbba1 | ||
|
|
d23ba31dad | ||
|
|
6fe0977fc4 | ||
|
|
186a7316b9 | ||
|
|
b2ee38f94b | ||
|
|
d0dab31612 | ||
|
|
c5e6c45d93 | ||
|
|
911a6140e3 | ||
|
|
4f1df700ad | ||
|
|
dd31807230 | ||
|
|
5cf4d8b369 | ||
|
|
8f09bc2846 | ||
|
|
c21f170a97 | ||
|
|
d2b16361e6 | ||
|
|
21830e11ff | ||
|
|
da4c0418da | ||
|
|
92ab15c361 | ||
|
|
a53698c4a8 | ||
|
|
e2c4eb9de8 | ||
|
|
34f320c4c9 | ||
|
|
4a58e5360a | ||
|
|
6098c81ee0 | ||
|
|
80fb8000f0 | ||
|
|
3ffaa417c2 | ||
|
|
437f334745 | ||
|
|
214c04f139 | ||
|
|
97a6bdbf46 | ||
|
|
bfd7d04440 | ||
|
|
e6deedfb33 | ||
|
|
0324c92e5c | ||
|
|
02dd07481d | ||
|
|
d9332d3fa3 | ||
|
|
9b8de65f1d | ||
|
|
d2b7f45ea2 | ||
|
|
7d41f597cb | ||
|
|
fe5e07b521 | ||
|
|
0debb6db2f |
343
.travis.yml
343
.travis.yml
@@ -1,4 +1,4 @@
|
||||
# Copyright 2016, 2017 Peter Dimov
|
||||
# Copyright 2016, 2017, 2018 Peter Dimov
|
||||
# Distributed under the Boost Software License, Version 1.0.
|
||||
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
|
||||
|
||||
@@ -6,16 +6,11 @@ language: cpp
|
||||
|
||||
sudo: false
|
||||
|
||||
python: "2.7"
|
||||
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- develop
|
||||
- /feature\/.*/
|
||||
|
||||
env:
|
||||
matrix:
|
||||
@@ -28,10 +23,30 @@ matrix:
|
||||
|
||||
include:
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++ CXXSTD=c++03
|
||||
env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++03
|
||||
compiler: g++-4.4
|
||||
env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98,0x
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-4.4
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
compiler: g++-4.6
|
||||
env: TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-4.6
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@@ -40,16 +55,7 @@ matrix:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=c++11
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-4.7
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++03
|
||||
env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@@ -58,16 +64,7 @@ matrix:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=c++11
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-4.8
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++03
|
||||
env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@@ -76,16 +73,7 @@ matrix:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=c++11
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-4.9
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++03
|
||||
env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@@ -94,25 +82,7 @@ matrix:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++11
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-5
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=c++14
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-5
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++03
|
||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@@ -121,7 +91,7 @@ matrix:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++11
|
||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z CXXSTD_DIALECT=cxxstd-dialect=gnu
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@@ -130,67 +100,19 @@ matrix:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++14
|
||||
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-6
|
||||
- g++-7
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=c++1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-6
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=gnu++03
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-6
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=gnu++11
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-6
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=gnu++14
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-6
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=gnu++1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-6
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=c++03
|
||||
env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@@ -200,17 +122,7 @@ matrix:
|
||||
- llvm-toolchain-precise-3.5
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=c++11
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.5
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.5
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++03
|
||||
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@@ -220,17 +132,7 @@ matrix:
|
||||
- llvm-toolchain-precise-3.6
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=c++11
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.6
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.6
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++03
|
||||
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@@ -240,17 +142,7 @@ matrix:
|
||||
- llvm-toolchain-precise-3.7
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=c++11
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.7
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.7
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++03
|
||||
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@@ -260,37 +152,7 @@ matrix:
|
||||
- llvm-toolchain-precise-3.8
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++11
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.8
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.8
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++14
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.8
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.8
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=c++1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.8
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.8
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++03
|
||||
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
@@ -300,134 +162,63 @@ matrix:
|
||||
- llvm-toolchain-precise-3.9
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++11
|
||||
compiler: clang++-4.0
|
||||
env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.9
|
||||
- clang-4.0
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.9
|
||||
- llvm-toolchain-trusty-4.0
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++14
|
||||
compiler: clang++-5.0
|
||||
env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.9
|
||||
- clang-5.0
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.9
|
||||
- llvm-toolchain-trusty-5.0
|
||||
|
||||
- os: linux
|
||||
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=c++1z
|
||||
compiler: clang++-libc++
|
||||
env: TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.9
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.9
|
||||
- libc++-dev
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
||||
osx_image: xcode9.1
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
||||
osx_image: xcode9
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
||||
osx_image: xcode8.3
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11
|
||||
osx_image: xcode8.3
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
||||
osx_image: xcode8
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++14
|
||||
osx_image: xcode8.3
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++1z
|
||||
osx_image: xcode8.3
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03
|
||||
osx_image: xcode8.2
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11
|
||||
osx_image: xcode8.2
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++14
|
||||
osx_image: xcode8.2
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++1z
|
||||
osx_image: xcode8.1
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03
|
||||
osx_image: xcode8.1
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11
|
||||
osx_image: xcode8.1
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++14
|
||||
osx_image: xcode8.1
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++1z
|
||||
osx_image: xcode8.1
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03
|
||||
osx_image: xcode8.0
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11
|
||||
osx_image: xcode8.0
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++14
|
||||
osx_image: xcode8.0
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++1z
|
||||
osx_image: xcode8.0
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
||||
osx_image: xcode7.3
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11
|
||||
osx_image: xcode7.3
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++14
|
||||
osx_image: xcode7.3
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++1z
|
||||
osx_image: xcode7.3
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++03
|
||||
osx_image: xcode6.4
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++11
|
||||
osx_image: xcode6.4
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++14
|
||||
osx_image: xcode6.4
|
||||
|
||||
- os: osx
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=c++1z
|
||||
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
|
||||
osx_image: xcode6.4
|
||||
|
||||
install:
|
||||
- BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
|
||||
- cd ..
|
||||
- git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
- git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||
- cd boost-root
|
||||
- git submodule update --init tools/build
|
||||
- git submodule update --init libs/detail
|
||||
@@ -440,9 +231,11 @@ install:
|
||||
|
||||
script:
|
||||
- |-
|
||||
echo "using $TOOLSET : : $COMPILER : <cxxflags>-std=$CXXSTD ;" > ~/user-config.jam
|
||||
- (cd libs/config/test && ../../../b2 config_info_travis_install toolset=$TOOLSET && ./config_info_travis)
|
||||
- ./b2 -j3 libs/config/test toolset=$TOOLSET
|
||||
echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
|
||||
- IFS=','
|
||||
- for CXXLOCAL in $CXXSTD; do (cd libs/config/test && ../../../b2 config_info_travis_install toolset=$TOOLSET cxxstd=$CXXLOCAL $CXXSTD_DIALECT && echo With Standard Version $CXXLOCAL && ./config_info_travis && rm ./config_info_travis) done
|
||||
- unset IFS
|
||||
- ./b2 -j3 libs/config/test toolset=$TOOLSET cxxstd=$CXXSTD $CXXSTD_DIALECT
|
||||
|
||||
notifications:
|
||||
email:
|
||||
|
||||
12
appveyor.bat
Normal file
12
appveyor.bat
Normal file
@@ -0,0 +1,12 @@
|
||||
IF NOT DEFINED CXXSTD (
|
||||
ECHO %ARGS:"=%
|
||||
..\..\..\b2 config_info_travis_install %ARGS:"=%
|
||||
config_info_travis
|
||||
del config_info_travis.exe
|
||||
)
|
||||
IF DEFINED CXXSTD FOR %%A IN (%CXXSTD%) DO (
|
||||
ECHO %ARGS:"=%
|
||||
..\..\..\b2 -a -d2 config_info_travis_install %ARGS:"=% cxxstd=%%A
|
||||
config_info_travis
|
||||
del config_info_travis.exe
|
||||
)
|
||||
24
appveyor.yml
24
appveyor.yml
@@ -21,7 +21,7 @@ environment:
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
ARGS: --toolset=msvc-14.1 address-model=32
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
ARGS: --toolset=msvc-14.1 address-model=64 cxxflags=-std:c++latest
|
||||
ARGS: --toolset=msvc-14.1 address-model=64 cxxflags=-std:c++latest cxxflags=-permissive-
|
||||
- ARGS: --toolset=msvc-9.0 address-model=32
|
||||
- ARGS: --toolset=msvc-10.0 address-model=32
|
||||
- ARGS: --toolset=msvc-11.0 address-model=32
|
||||
@@ -30,14 +30,21 @@ environment:
|
||||
- ARGS: --toolset=msvc-12.0 address-model=64
|
||||
- ARGS: --toolset=msvc-14.0 address-model=64
|
||||
- ARGS: --toolset=msvc-14.0 address-model=64 cxxflags=-std:c++latest
|
||||
- ARGS: --toolset=gcc address-model=64
|
||||
CXXSTD: 03,11,14,1z
|
||||
PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
|
||||
- ARGS: --toolset=gcc address-model=64
|
||||
PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
|
||||
- ARGS: --toolset=gcc address-model=64 cxxflags=-std=gnu++1z
|
||||
PATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
|
||||
- ARGS: --toolset=gcc address-model=32
|
||||
PATH: C:\mingw-w64\i686-5.3.0-posix-dwarf-rt_v4-rev0\mingw32\bin;%PATH%
|
||||
CXXSTD: 03,11,14,1z
|
||||
PATH: C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
|
||||
- ARGS: --toolset=gcc address-model=32 linkflags=-Wl,-allow-multiple-definition
|
||||
CXXSTD: 03,11,14,1z
|
||||
PATH: C:\MinGW\bin;%PATH%
|
||||
- ARGS: --toolset=gcc address-model=64
|
||||
CXXSTD: 03,11,14,1z
|
||||
PATH: C:\cygwin64\bin;%PATH%
|
||||
- ARGS: --toolset=gcc address-model=32
|
||||
CXXSTD: 03,11,14,1z
|
||||
PATH: C:\cygwin\bin;%PATH%
|
||||
|
||||
install:
|
||||
- cd ..
|
||||
@@ -56,6 +63,5 @@ build: off
|
||||
|
||||
test_script:
|
||||
- cd libs\config\test
|
||||
- ..\..\..\b2 config_info_travis_install %ARGS%
|
||||
- config_info_travis
|
||||
- ..\..\..\b2 -j3 %ARGS%
|
||||
- ..\appveyor.bat
|
||||
- ..\..\..\b2 -j3 %ARGS% cxxstd=%CXXSTD%
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# *** DO NOT EDIT THIS FILE BY HAND ***
|
||||
# This file was automatically generated on Mon May 29 10:27:35 2017
|
||||
# This file was automatically generated on Wed Jan 03 23:31:31 2018
|
||||
# by libs/config/tools/generate.cpp
|
||||
# Copyright John Maddock.
|
||||
# Use, modification and distribution are subject to the
|
||||
@@ -67,6 +67,7 @@ obj cxx11_addressof : test_case.cpp : <define>TEST_BOOST_NO_CXX11_ADDRESSOF ;
|
||||
obj cxx11_alignas : test_case.cpp : <define>TEST_BOOST_NO_CXX11_ALIGNAS ;
|
||||
obj cxx11_allocator : test_case.cpp : <define>TEST_BOOST_NO_CXX11_ALLOCATOR ;
|
||||
obj cxx11_atomic_smart_ptr : test_case.cpp : <define>TEST_BOOST_NO_CXX11_ATOMIC_SMART_PTR ;
|
||||
obj cxx11_defaulted_moves : test_case.cpp : <define>TEST_BOOST_NO_CXX11_DEFAULTED_MOVES ;
|
||||
obj cxx11_final : test_case.cpp : <define>TEST_BOOST_NO_CXX11_FINAL ;
|
||||
obj cxx11_hdr_array : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_ARRAY ;
|
||||
obj cxx11_hdr_atomic : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_ATOMIC ;
|
||||
@@ -111,6 +112,7 @@ obj cxx14_std_exchange : test_case.cpp : <define>TEST_BOOST_NO_CXX14_STD_EXCHANG
|
||||
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_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 ;
|
||||
obj cxx17_std_invoke : test_case.cpp : <define>TEST_BOOST_NO_CXX17_STD_INVOKE ;
|
||||
obj cxx17_structured_bindings : test_case.cpp : <define>TEST_BOOST_NO_CXX17_STRUCTURED_BINDINGS ;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// This file was automatically generated on Mon May 29 10:27:35 2017
|
||||
// This file was automatically generated on Wed Jan 03 23:31:31 2018
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-4.
|
||||
// Use, modification and distribution are subject to the
|
||||
@@ -291,6 +291,11 @@
|
||||
# error "Defect macro BOOST_NO_CXX11_ATOMIC_SMART_PTR is defined."
|
||||
# endif
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_DEFAULTED_MOVES
|
||||
# ifdef BOOST_NO_CXX11_DEFAULTED_MOVES
|
||||
# error "Defect macro BOOST_NO_CXX11_DEFAULTED_MOVES is defined."
|
||||
# endif
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX11_FINAL
|
||||
# ifdef BOOST_NO_CXX11_FINAL
|
||||
# error "Defect macro BOOST_NO_CXX11_FINAL is defined."
|
||||
@@ -511,6 +516,11 @@
|
||||
# error "Defect macro BOOST_NO_CXX17_INLINE_VARIABLES is defined."
|
||||
# endif
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
# ifdef BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
# error "Defect macro BOOST_NO_CXX17_ITERATOR_TRAITS is defined."
|
||||
# endif
|
||||
#endif
|
||||
#ifdef TEST_BOOST_NO_CXX17_STD_APPLY
|
||||
# ifdef BOOST_NO_CXX17_STD_APPLY
|
||||
# error "Defect macro BOOST_NO_CXX17_STD_APPLY is defined."
|
||||
|
||||
@@ -22,7 +22,7 @@ Distributed under the Boost Software License, Version 1.0.
|
||||
[def __BOOST_REGRESSION_TEST_DRIVER__ [@../../../../tools/regression/doc/index.html boost regression test driver]]
|
||||
[def __BOOST_CONFIG_HEADER__ [@../../../../boost/config.hpp <boost/config.hpp>]]
|
||||
[def __BOOST_CONFIG_USER_HEADER__ [@../../../../boost/config/user.hpp <boost/config/user.hpp>]]
|
||||
[def __BOOST_CONFIG_SUFFIX_HEADER__ [@../../../../boost/config/user.hpp <boost/config/suffix.hpp>]]
|
||||
[def __BOOST_CONFIG_SUFFIX_HEADER__ [@../../../../boost/config/detail/suffix.hpp <boost/config/detail/suffix.hpp>]]
|
||||
[def __BOOST_CONFIG_DIR__ ['<boost-root>]`/boost/config/`]
|
||||
|
||||
|
||||
|
||||
@@ -191,9 +191,9 @@ modifying this file as it breaks dependencies for everyone. This file should
|
||||
include only "boilerplate" configuration code, and generally should change
|
||||
only when new macros are added.
|
||||
|
||||
[@../../../../boost/config/select_compiler_config.hpp <boost/config/select_compiler_config.hpp>],
|
||||
[@../../../../boost/config/select_platform_config.hpp <boost/config/select_platform_config.hpp>] and
|
||||
[@../../../../boost/config/select_stdlib_config.hpp <boost/config/select_stdlib_config.hpp>]
|
||||
[@../../../../boost/config/detail/select_compiler_config.hpp <boost/config/detail/select_compiler_config.hpp>],
|
||||
[@../../../../boost/config/detail/select_platform_config.hpp <boost/config/detail/select_platform_config.hpp>] and
|
||||
[@../../../../boost/config/detail/select_stdlib_config.hpp <boost/config/detail/select_stdlib_config.hpp>]
|
||||
are included by default and should change only if support for a new
|
||||
compiler/standard library/platform is added.
|
||||
|
||||
|
||||
@@ -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.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="../index.html" title="Boost.Config">
|
||||
<link rel="up" href="../index.html" title="Boost.Config">
|
||||
<link rel="prev" href="rationale.html" title="Rationale">
|
||||
|
||||
@@ -3,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.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="../index.html" title="Boost.Config">
|
||||
<link rel="up" href="../index.html" title="Boost.Config">
|
||||
<link rel="prev" href="../index.html" title="Boost.Config">
|
||||
@@ -26,7 +26,7 @@
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_config.boost_macro_reference"></a><a class="link" href="boost_macro_reference.html" title="Boost Macro Reference">Boost Macro Reference</a>
|
||||
</h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<div class="toc"><dl class="toc">
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__03_defects">Macros
|
||||
that describe C++03 defects</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_optional_features">Macros
|
||||
@@ -939,7 +939,8 @@
|
||||
<td>
|
||||
<p>
|
||||
The C++ implementation fails to provide the <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>
|
||||
class.
|
||||
class. Note that post C++17, this macro is re-purposed to indicate
|
||||
that std::iterator has been removed or deprecated.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -3017,6 +3018,18 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_POINTER_TRAITS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The standard library does not provide a C++11 version of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pointer_traits</span></code> in <memory>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX11_RANGE_BASED_FOR</span></code>
|
||||
@@ -3817,6 +3830,18 @@
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_CXX17_ITERATOR_TRAITS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
The compiler does not support SFINAE-friendly <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
@@ -3944,7 +3969,7 @@
|
||||
that is not otherwise described by one of the other Boost.Config
|
||||
macros. To use the macro you must first
|
||||
</p>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">workaround</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">workaround</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
usage is then:
|
||||
@@ -3975,7 +4000,7 @@
|
||||
</p>
|
||||
<p>
|
||||
<span class="bold"><strong>Note</strong></span>: the ultimate source of documentation
|
||||
for this macro is in <a href="../../../../../boost/detail/workaround.hpp" target="_top">boost/detail/workaround.hpp</a>.
|
||||
for this macro is in <a href="../../../../../boost/config/workaround.hpp" target="_top">boost/config/workaround.hpp</a>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -4171,7 +4196,16 @@
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_EXPLICIT_TEMPLATE_TYPE</span><span class="special">(</span><span class="identifier">t</span><span class="special">)</span></code> <code class="computeroutput"><span class="identifier">BOOST_EXPLICIT_TEMPLATE_NON_TYPE</span><span class="special">(</span><span class="identifier">t</span><span class="special">,</span><span class="identifier">v</span><span class="special">)</span></code> <code class="computeroutput"><span class="identifier">BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE</span><span class="special">(</span><span class="identifier">t</span><span class="special">)</span></code> <code class="computeroutput"><span class="identifier">BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE</span><span class="special">(</span><span class="identifier">t</span><span class="special">,</span><span class="identifier">v</span><span class="special">)</span></code>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_EXPLICIT_TEMPLATE_TYPE</span><span class="special">(</span><span class="identifier">t</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_EXPLICIT_TEMPLATE_NON_TYPE</span><span class="special">(</span><span class="identifier">t</span><span class="special">,</span><span class="identifier">v</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE</span><span class="special">(</span><span class="identifier">t</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE</span><span class="special">(</span><span class="identifier">t</span><span class="special">,</span><span class="identifier">v</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
@@ -4440,6 +4474,8 @@
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_LIKELY</span><span class="special">(</span><span class="identifier">X</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_UNLIKELY</span><span class="special">(</span><span class="identifier">X</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
@@ -4480,6 +4516,82 @@
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_MAY_ALIAS</span></code>,
|
||||
<code class="computeroutput"><span class="identifier">BOOST_NO_MAY_ALIAS</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_MAY_ALIAS</span></code>
|
||||
expands to a type attribute that can be used to mark types that
|
||||
may alias other types. Pointers or references to such marked types
|
||||
can be used to access objects of other types. If the compiler supports
|
||||
this feature <code class="computeroutput"><span class="identifier">BOOST_NO_MAY_ALIAS</span></code>
|
||||
is not defined. Otherwise <code class="computeroutput"><span class="identifier">BOOST_MAY_ALIAS</span></code>
|
||||
expands to nothing and <code class="computeroutput"><span class="identifier">BOOST_NO_MAY_ALIAS</span></code>
|
||||
is defined.
|
||||
</p>
|
||||
<p>
|
||||
Usage example:
|
||||
</p>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">struct</span> <span class="identifier">BOOST_MAY_ALIAS</span> <span class="identifier">aliasing_struct</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="keyword">unsigned</span> <span class="keyword">int</span> <span class="identifier">BOOST_MAY_ALIAS</span> <span class="identifier">aliasing_uint</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_PRAGMA_MESSAGE</span><span class="special">(</span><span class="identifier">M</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Defined in header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">pragma_message</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>,
|
||||
this macro expands to the equivalent of <code class="computeroutput"><span class="preprocessor">#pragma</span>
|
||||
<span class="identifier">message</span><span class="special">(</span><span class="identifier">M</span><span class="special">)</span></code>.
|
||||
<code class="computeroutput"><span class="identifier">M</span></code> must be a string
|
||||
literal.
|
||||
</p>
|
||||
<p>
|
||||
Example: <code class="computeroutput"><span class="identifier">BOOST_PRAGMA_MESSAGE</span><span class="special">(</span><span class="string">"This header
|
||||
is deprecated."</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
The messages issued by <code class="computeroutput"><span class="identifier">BOOST_PRAGMA_MESSAGE</span></code>
|
||||
can be suppressed by defining the macro <code class="computeroutput"><span class="identifier">BOOST_DISABLE_PRAGMA_MESSAGE</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_HEADER_DEPRECATED</span><span class="special">(</span><span class="identifier">A</span><span class="special">)</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
Defined in header <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">config</span><span class="special">/</span><span class="identifier">header_deprecated</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>,
|
||||
this macro issues the message "This header is deprecated.
|
||||
Use <code class="computeroutput"><span class="identifier">A</span></code> instead."
|
||||
via <code class="computeroutput"><span class="identifier">BOOST_PRAGMA_MESSAGE</span></code>.
|
||||
<code class="computeroutput"><span class="identifier">A</span></code> must be a string
|
||||
literal.
|
||||
</p>
|
||||
<p>
|
||||
Example: <code class="computeroutput"><span class="identifier">BOOST_HEADER_DEPRECATED</span><span class="special">(</span><span class="string">"<boost/config/workaround.hpp>"</span><span class="special">)</span></code>
|
||||
</p>
|
||||
<p>
|
||||
The messages issued by <code class="computeroutput"><span class="identifier">BOOST_HEADER_DEPRECATED</span></code>
|
||||
can be suppressed by defining the macro <code class="computeroutput"><span class="identifier">BOOST_ALLOW_DEPRECATED_HEADERS</span></code>.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
@@ -5844,7 +5956,7 @@
|
||||
<a name="boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code"></a><a class="link" href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code" title="Macros for libraries with separate source code">Macros
|
||||
for libraries with separate source code</a>
|
||||
</h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<div class="toc"><dl class="toc">
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.macros_controlling_shared_library_symbol_visibility">Macros
|
||||
controlling shared library symbol visibility</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_macro_reference.html#boost_config.boost_macro_reference.macros_for_libraries_with_separate_source_code.abi_fixing">ABI
|
||||
|
||||
@@ -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.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.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">
|
||||
|
||||
@@ -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.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="../index.html" title="Boost.Config">
|
||||
<link rel="up" href="../index.html" title="Boost.Config">
|
||||
<link rel="prev" href="build_config.html" title="Build Time Configuration">
|
||||
@@ -26,7 +26,7 @@
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_config.cstdint"></a><a class="link" href="cstdint.html" title="Standard Integer Types">Standard Integer Types</a>
|
||||
</h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<div class="toc"><dl class="toc">
|
||||
<dt><span class="section"><a href="cstdint.html#boost_config.cstdint.overview">Overview</a></span></dt>
|
||||
<dt><span class="section"><a href="cstdint.html#boost_config.cstdint.rationale">Rationale</a></span></dt>
|
||||
<dt><span class="section"><a href="cstdint.html#boost_config.cstdint.ce"><span class="emphasis"><em>Caveat emptor</em></span></a></span></dt>
|
||||
|
||||
@@ -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.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="../index.html" title="Boost.Config">
|
||||
<link rel="up" href="../index.html" title="Boost.Config">
|
||||
<link rel="prev" href="cstdint.html" title="Standard Integer Types">
|
||||
@@ -27,7 +27,7 @@
|
||||
<a name="boost_config.guidelines_for_boost_authors"></a><a class="link" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">Guidelines for
|
||||
Boost Authors</a>
|
||||
</h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<div class="toc"><dl class="toc">
|
||||
<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.warnings">Disabling
|
||||
Compiler Warnings</a></span></dt>
|
||||
<dt><span class="section"><a href="guidelines_for_boost_authors.html#boost_config.guidelines_for_boost_authors.adding_new_defect_macros">Adding
|
||||
@@ -302,7 +302,7 @@
|
||||
one specific API (for example <code class="computeroutput"><span class="identifier">BOOST_HAS_NL_TYPES_H</span></code>
|
||||
rather than <code class="computeroutput"><span class="identifier">BOOST_HAS_CATOPEN</span></code>).
|
||||
If the macro describes a POSIX feature group, then add boilerplate code to
|
||||
<a href="../../../../../boost/config/user.hpp" target="_top"><boost/config/suffix.hpp></a>
|
||||
<a href="../../../../../boost/config/detail/suffix.hpp" target="_top"><boost/config/detail/suffix.hpp></a>
|
||||
to auto-detect the feature where possible (if you are wondering why we can't
|
||||
use POSIX feature test macro directly, remember that many of these features
|
||||
can be added by third party libraries, and are not therefore identified inside
|
||||
@@ -333,15 +333,15 @@
|
||||
as well.
|
||||
</p>
|
||||
<p>
|
||||
<a href="../../../../../boost/config/user.hpp" target="_top"><boost/config/suffix.hpp></a>
|
||||
<a href="../../../../../boost/config/detail/suffix.hpp" target="_top"><boost/config/detail/suffix.hpp></a>
|
||||
is always included so be careful about modifying this file as it breaks dependencies
|
||||
for everyone. This file should include only "boilerplate" configuration
|
||||
code, and generally should change only when new macros are added.
|
||||
</p>
|
||||
<p>
|
||||
<a href="../../../../../boost/config/select_compiler_config.hpp" target="_top"><boost/config/select_compiler_config.hpp></a>,
|
||||
<a href="../../../../../boost/config/select_platform_config.hpp" target="_top"><boost/config/select_platform_config.hpp></a>
|
||||
and <a href="../../../../../boost/config/select_stdlib_config.hpp" target="_top"><boost/config/select_stdlib_config.hpp></a>
|
||||
<a href="../../../../../boost/config/detail/select_compiler_config.hpp" target="_top"><boost/config/detail/select_compiler_config.hpp></a>,
|
||||
<a href="../../../../../boost/config/detail/select_platform_config.hpp" target="_top"><boost/config/detail/select_platform_config.hpp></a>
|
||||
and <a href="../../../../../boost/config/detail/select_stdlib_config.hpp" target="_top"><boost/config/detail/select_stdlib_config.hpp></a>
|
||||
are included by default and should change only if support for a new compiler/standard
|
||||
library/platform is added.
|
||||
</p>
|
||||
|
||||
@@ -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.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="../index.html" title="Boost.Config">
|
||||
<link rel="up" href="../index.html" title="Boost.Config">
|
||||
<link rel="prev" href="guidelines_for_boost_authors.html" title="Guidelines for Boost Authors">
|
||||
@@ -26,7 +26,7 @@
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_config.rationale"></a><a class="link" href="rationale.html" title="Rationale">Rationale</a>
|
||||
</h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<div class="toc"><dl class="toc">
|
||||
<dt><span class="section"><a href="rationale.html#boost_config.rationale.the_problem">The problem</a></span></dt>
|
||||
<dt><span class="section"><a href="rationale.html#boost_config.rationale.the_solution">The solution</a></span></dt>
|
||||
</dl></div>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Boost.Config</title>
|
||||
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
||||
<link rel="home" href="index.html" title="Boost.Config">
|
||||
<link rel="next" href="boost_config/boost_macro_reference.html" title="Boost Macro Reference">
|
||||
</head>
|
||||
@@ -39,7 +39,7 @@
|
||||
</div>
|
||||
<div class="toc">
|
||||
<p><b>Table of Contents</b></p>
|
||||
<dl>
|
||||
<dl class="toc">
|
||||
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform">Configuring
|
||||
Boost for Your Platform</a></span></dt>
|
||||
<dd><dl>
|
||||
@@ -127,7 +127,7 @@
|
||||
<a name="boost_config.configuring_boost_for_your_platform"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform" title="Configuring Boost for Your Platform">Configuring
|
||||
Boost for Your Platform</a>
|
||||
</h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<div class="toc"><dl class="toc">
|
||||
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.using_the_default_boost_configuration">Using
|
||||
the default boost configuration</a></span></dt>
|
||||
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.the__boost_config_hpp__header">The
|
||||
@@ -725,7 +725,7 @@
|
||||
<a name="boost_config.configuring_boost_for_your_platform.advanced_configuration_usage"></a><a class="link" href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage" title="Advanced configuration usage">Advanced
|
||||
configuration usage</a>
|
||||
</h3></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<div class="toc"><dl class="toc">
|
||||
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_1__creating_our_own_frozen_configuration">Example
|
||||
1: creating our own frozen configuration</a></span></dt>
|
||||
<dt><span class="section"><a href="index.html#boost_config.configuring_boost_for_your_platform.advanced_configuration_usage.example_2__skipping_files_that_you_don_t_need">Example
|
||||
@@ -757,7 +757,7 @@
|
||||
user settable macros</a>).
|
||||
</p>
|
||||
<p>
|
||||
Finally the boost configuration header, includes <a href="../../../../boost/config/user.hpp" target="_top"><boost/config/suffix.hpp></a>;
|
||||
Finally the boost configuration header, includes <a href="../../../../boost/config/detail/suffix.hpp" target="_top"><boost/config/detail/suffix.hpp></a>;
|
||||
this header contains any boiler plate configuration code - for example where
|
||||
one boost macro being set implies that another must be set also.
|
||||
</p>
|
||||
@@ -992,7 +992,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"><p><small>Last revised: April 17, 2017 at 17:42:09 GMT</small></p></td>
|
||||
<td align="left"><p><small>Last revised: December 22, 2017 at 23:49:22 GMT</small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
|
||||
@@ -232,7 +232,8 @@ The C++ standard library does not provide a standards conforming
|
||||
The platform does not have a conforming version of `std::distance`.
|
||||
]]
|
||||
[[`BOOST_NO_STD_ITERATOR`][Standard library][
|
||||
The C++ implementation fails to provide the `std::iterator` class.
|
||||
The C++ implementation fails to provide the `std::iterator` class.
|
||||
Note that post C++17, this macro is re-purposed to indicate that std::iterator has been removed or deprecated.
|
||||
]]
|
||||
[[`BOOST_NO_STD_ITERATOR_TRAITS`][Standard library][
|
||||
The compiler does not provide a standard compliant implementation of
|
||||
@@ -624,6 +625,9 @@ deleted (`= delete`) functions.
|
||||
[[`BOOST_NO_CXX11_DEFAULTED_FUNCTIONS`][The compiler does not support
|
||||
defaulted (`= default`) functions.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_DEFAULTED_MOVES`][The compiler does not support
|
||||
defaulted move constructor or assignment. Other defaulted functions may still be supported.
|
||||
]]
|
||||
[[`BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS`][The compiler does not support
|
||||
explicit conversion operators (`explicit operator T()`).
|
||||
]]
|
||||
@@ -945,6 +949,7 @@ that are not yet supported by a particular compiler or library.
|
||||
[[Macro ][Description ]]
|
||||
[[`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`.]]
|
||||
]
|
||||
|
||||
[endsect]
|
||||
@@ -978,7 +983,7 @@ workarounds for compiler/standard library defects.
|
||||
This macro is used where a compiler specific workaround is required that is not otherwise
|
||||
described by one of the other Boost.Config macros. To use the macro you must first
|
||||
``
|
||||
#include <boost/detail/workaround.hpp>
|
||||
#include <boost/config/workaround.hpp>
|
||||
``
|
||||
usage is then:
|
||||
``
|
||||
@@ -1000,7 +1005,7 @@ For example
|
||||
of `__BORLANDC__` /unless/ the macro `BOOST_DETECT_OUTDATED_WORKAROUNDS` is defined, in which case evaluates to
|
||||
`(__BORLANDC__ <= 0x590)`.
|
||||
|
||||
[*Note]: the ultimate source of documentation for this macro is in [@../../../../boost/detail/workaround.hpp boost/detail/workaround.hpp].
|
||||
[*Note]: the ultimate source of documentation for this macro is in [@../../../../boost/config/workaround.hpp boost/config/workaround.hpp].
|
||||
]]
|
||||
[[`BOOST_PREVENT_MACRO_SUBSTITUTION`][
|
||||
Sometimes you have a function name with the same name as a C macro, for example "min" and "max"
|
||||
@@ -1094,8 +1099,11 @@ In either case this macro has no effect on runtime behavior and performance
|
||||
of code.
|
||||
]]
|
||||
[[`BOOST_EXPLICIT_TEMPLATE_TYPE(t)`
|
||||
|
||||
`BOOST_EXPLICIT_TEMPLATE_NON_TYPE(t,v)`
|
||||
|
||||
`BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(t)`
|
||||
|
||||
`BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(t,v)`][
|
||||
Some compilers silently "fold" different function template instantiations if
|
||||
some of the template parameters don't appear in the function parameter list.
|
||||
@@ -1246,6 +1254,7 @@ If the compiler does not support this markup, `BOOST_NORETURN` is defined empty
|
||||
additional macro `BOOST_NO_NORETURN` is defined.
|
||||
]]
|
||||
[[`BOOST_LIKELY(X)`
|
||||
|
||||
`BOOST_UNLIKELY(X)`][
|
||||
These macros communicate to the compiler that the conditional expression `X` is likely
|
||||
or unlikely to yield a positive result. The expression should result in a boolean value.
|
||||
@@ -1262,6 +1271,35 @@ Usage example:
|
||||
]]
|
||||
[[`BOOST_ATTRIBUTE_UNUSED`][Expands to `__attribute__((unused))` when this is available -
|
||||
can be used to disable compiler warnings relating to unused types or variables.]]
|
||||
[[`BOOST_MAY_ALIAS`, `BOOST_NO_MAY_ALIAS`][
|
||||
`BOOST_MAY_ALIAS` expands to a type attribute that can be used to mark types that may
|
||||
alias other types. Pointers or references to such marked types can be used to access objects
|
||||
of other types. If the compiler supports this feature `BOOST_NO_MAY_ALIAS` is not defined.
|
||||
Otherwise `BOOST_MAY_ALIAS` expands to nothing and `BOOST_NO_MAY_ALIAS` is defined.
|
||||
|
||||
Usage example:
|
||||
``
|
||||
struct BOOST_MAY_ALIAS aliasing_struct;
|
||||
typedef unsigned int BOOST_MAY_ALIAS aliasing_uint;
|
||||
``
|
||||
]]
|
||||
[[`BOOST_PRAGMA_MESSAGE(M)`][Defined in header `<boost/config/pragma_message.hpp>`,
|
||||
this macro expands to the equivalent of `#pragma message(M)`. `M` must be a string
|
||||
literal.
|
||||
|
||||
Example: `BOOST_PRAGMA_MESSAGE("This header is deprecated.")`
|
||||
|
||||
The messages issued by `BOOST_PRAGMA_MESSAGE` can be suppressed by defining the macro
|
||||
`BOOST_DISABLE_PRAGMA_MESSAGE`.]]
|
||||
|
||||
[[`BOOST_HEADER_DEPRECATED(A)`][Defined in header `<boost/config/header_deprecated.hpp>`,
|
||||
this macro issues the message "This header is deprecated. Use `A` instead." via
|
||||
`BOOST_PRAGMA_MESSAGE`. `A` must be a string literal.
|
||||
|
||||
Example: `BOOST_HEADER_DEPRECATED("<boost/config/workaround.hpp>")`
|
||||
|
||||
The messages issued by `BOOST_HEADER_DEPRECATED` can be suppressed by defining the macro
|
||||
`BOOST_ALLOW_DEPRECATED_HEADERS`.]]
|
||||
]
|
||||
|
||||
[endsect]
|
||||
|
||||
@@ -45,6 +45,7 @@ BOOST_LIB_PREFIX
|
||||
+ BOOST_LIB_TOOLSET
|
||||
+ BOOST_LIB_THREAD_OPT
|
||||
+ BOOST_LIB_RT_OPT
|
||||
+ BOOST_LIB_ARCH_AND_MODEL_OPT
|
||||
"-"
|
||||
+ BOOST_LIB_VERSION
|
||||
|
||||
@@ -69,6 +70,9 @@ BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used,
|
||||
p STLport build.
|
||||
n STLport build without its IOStreams.
|
||||
|
||||
BOOST_LIB_ARCH_AND_MODEL_OPT: The architecture and address model
|
||||
(-x32 or -x64 for x86/32 and x86/64 respectively)
|
||||
|
||||
BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
||||
|
||||
|
||||
@@ -361,6 +365,20 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// BOOST_LIB_ARCH_AND_MODEL_OPT
|
||||
//
|
||||
|
||||
#if defined( _M_IX86 )
|
||||
# define BOOST_LIB_ARCH_AND_MODEL_OPT "-x32"
|
||||
#elif defined( _M_X64 )
|
||||
# define BOOST_LIB_ARCH_AND_MODEL_OPT "-x64"
|
||||
#elif defined( _M_ARM )
|
||||
# define BOOST_LIB_ARCH_AND_MODEL_OPT "-a32"
|
||||
#elif defined( _M_ARM64 )
|
||||
# define BOOST_LIB_ARCH_AND_MODEL_OPT "-a64"
|
||||
#endif
|
||||
|
||||
//
|
||||
// select linkage opt:
|
||||
//
|
||||
@@ -380,6 +398,7 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
||||
&& defined(BOOST_LIB_TOOLSET) \
|
||||
&& defined(BOOST_LIB_THREAD_OPT) \
|
||||
&& defined(BOOST_LIB_RT_OPT) \
|
||||
&& defined(BOOST_LIB_ARCH_AND_MODEL_OPT) \
|
||||
&& defined(BOOST_LIB_VERSION)
|
||||
|
||||
#ifdef BOOST_AUTO_LINK_TAGGED
|
||||
@@ -393,14 +412,14 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
||||
# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
|
||||
# endif
|
||||
#elif defined(BOOST_LIB_BUILDID)
|
||||
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib")
|
||||
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib")
|
||||
# ifdef BOOST_LIB_DIAGNOSTIC
|
||||
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib")
|
||||
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib")
|
||||
# endif
|
||||
#else
|
||||
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
|
||||
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION ".lib")
|
||||
# ifdef BOOST_LIB_DIAGNOSTIC
|
||||
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
|
||||
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION ".lib")
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@@ -431,6 +450,9 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
||||
#if defined(BOOST_LIB_RT_OPT)
|
||||
# undef BOOST_LIB_RT_OPT
|
||||
#endif
|
||||
#if defined(BOOST_LIB_ARCH_AND_MODEL_OPT)
|
||||
# undef BOOST_LIB_ARCH_AND_MODEL_OPT
|
||||
#endif
|
||||
#if defined(BOOST_LIB_LINK_OPT)
|
||||
# undef BOOST_LIB_LINK_OPT
|
||||
#endif
|
||||
|
||||
@@ -174,6 +174,7 @@
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DEFAULTED_MOVES
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
|
||||
@@ -98,11 +98,15 @@
|
||||
//
|
||||
// Dynamic shared object (DSO) and dynamic-link library (DLL) support
|
||||
//
|
||||
#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
|
||||
#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__)
|
||||
# define BOOST_HAS_DECLSPEC
|
||||
# define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__))
|
||||
# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__))
|
||||
#else
|
||||
# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
|
||||
# define BOOST_SYMBOL_IMPORT
|
||||
# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
|
||||
#endif
|
||||
#define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
|
||||
|
||||
//
|
||||
// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
|
||||
@@ -318,6 +322,11 @@
|
||||
// Clang has supported the 'unused' attribute since the first release.
|
||||
#define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__))
|
||||
|
||||
// Type aliasing hint.
|
||||
#if __has_attribute(__may_alias__)
|
||||
# define BOOST_MAY_ALIAS __attribute__((__may_alias__))
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
# define BOOST_COMPILER "Clang version " __clang_version__
|
||||
#endif
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
#define BOOST_COMPILER "Cray C version " BOOST_STRINGIZE(_RELEASE)
|
||||
|
||||
#if _RELEASE < 8
|
||||
#if _RELEASE_MAJOR < 8
|
||||
# error "Boost is not configured for Cray compilers prior to version 8, please try the configure script."
|
||||
#endif
|
||||
|
||||
@@ -21,9 +21,9 @@
|
||||
# error "Unsupported Cray compiler, please try running the configure script."
|
||||
#endif
|
||||
|
||||
#if _RELEASE_MINOR < 5 || __cplusplus < 201100
|
||||
#include <boost/config/compiler/common_edg.hpp>
|
||||
|
||||
|
||||
//
|
||||
//
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
@@ -90,5 +90,35 @@
|
||||
#define __ATOMIC_SEQ_CST 5
|
||||
#endif
|
||||
|
||||
#else /* _RELEASE_MINOR */
|
||||
|
||||
#define BOOST_HAS_VARIADIC_TMPL
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
|
||||
#define BOOST_HAS_TR1_COMPLEX_OVERLOADS
|
||||
#define BOOST_HAS_STDINT_H
|
||||
#define BOOST_HAS_STATIC_ASSERT
|
||||
#define BOOST_HAS_SIGACTION
|
||||
#define BOOST_HAS_SCHED_YIELD
|
||||
#define BOOST_HAS_RVALUE_REFS
|
||||
#define BOOST_HAS_PTHREADS
|
||||
#define BOOST_HAS_PTHREAD_YIELD
|
||||
#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||
#define BOOST_HAS_PARTIAL_STD_ALLOCATOR
|
||||
#define BOOST_HAS_NRVO
|
||||
#define BOOST_HAS_NL_TYPES_H
|
||||
#define BOOST_HAS_NANOSLEEP
|
||||
#define BOOST_NO_CXX11_SMART_PTR
|
||||
#define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||
#define BOOST_NO_CXX14_CONSTEXPR
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
#define BOOST_HAS_FLOAT128
|
||||
|
||||
#if __cplusplus < 201400
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#endif /* __cpluspus */
|
||||
|
||||
#endif /* _RELEASE_MINOR */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -12,8 +12,15 @@
|
||||
|
||||
#include "boost/config/compiler/common_edg.hpp"
|
||||
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS
|
||||
|
||||
#define BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
|
||||
#define BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
#define BOOST_REGEX_NO_EXTERNAL_TEMPLATES
|
||||
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_HDR_CODECVT
|
||||
#define BOOST_NO_CXX11_NUMERIC_LIMITS
|
||||
|
||||
#define BOOST_COMPILER "Wind River Diab " BOOST_STRINGIZE(__VERSION_NUMBER__)
|
||||
|
||||
@@ -99,10 +99,10 @@
|
||||
// Dynamic shared object (DSO) and dynamic-link library (DLL) support
|
||||
//
|
||||
#if __GNUC__ >= 4
|
||||
# if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && !defined(__CYGWIN__)
|
||||
# if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__)
|
||||
// All Win32 development environments, including 64-bit Windows and MinGW, define
|
||||
// _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment,
|
||||
// so does not define _WIN32 or its variants.
|
||||
// so does not define _WIN32 or its variants, but still supports dllexport/dllimport.
|
||||
# define BOOST_HAS_DECLSPEC
|
||||
# define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__))
|
||||
# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__))
|
||||
@@ -233,6 +233,7 @@
|
||||
//
|
||||
#if (BOOST_GCC_VERSION < 40600) || !defined(BOOST_GCC_CXX11)
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DEFAULTED_MOVES
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
@@ -284,7 +285,7 @@
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
#if (BOOST_GCC_VERSION < 50200) || !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
@@ -315,6 +316,10 @@
|
||||
#if __GNUC__ >= 4
|
||||
# define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__))
|
||||
#endif
|
||||
|
||||
// Type aliasing hint. Supported since gcc 3.3.
|
||||
#define BOOST_MAY_ALIAS __attribute__((__may_alias__))
|
||||
|
||||
//
|
||||
// __builtin_unreachable:
|
||||
#if BOOST_GCC_VERSION >= 40800
|
||||
@@ -338,10 +343,10 @@
|
||||
# error "Compiler not configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 4.9:
|
||||
#if (BOOST_GCC_VERSION > 40900)
|
||||
// last known and checked version is 7.1:
|
||||
#if (BOOST_GCC_VERSION > 70100)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# 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...
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
|
||||
#undef BOOST_GCC_VERSION
|
||||
#undef BOOST_GCC_CXX11
|
||||
#undef BOOST_GCC
|
||||
|
||||
// Broken in all versions up to 17 (newer versions not tested)
|
||||
#if (__INTEL_COMPILER <= 1700) && !defined(BOOST_NO_CXX14_CONSTEXPR)
|
||||
@@ -311,6 +312,12 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
# define BOOST_SYMBOL_IMPORT
|
||||
# define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
|
||||
#endif
|
||||
|
||||
// Type aliasing hint
|
||||
#if defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1300)
|
||||
# define BOOST_MAY_ALIAS __attribute__((__may_alias__))
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
// For each feature we need to check both the Intel compiler version,
|
||||
@@ -545,7 +552,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
// last known and checked version:
|
||||
#if (BOOST_INTEL_CXX_VERSION > 1700)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# error "Boost.Config is older than your compiler - please check for an updated Boost release."
|
||||
# elif defined(_MSC_VER)
|
||||
//
|
||||
// We don't emit this warning any more, since we have so few
|
||||
|
||||
@@ -11,6 +11,13 @@
|
||||
# define BOOST_COMPILER "NVIDIA CUDA C++ Compiler"
|
||||
#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__
|
||||
#else
|
||||
// We don't really know what the CUDA version is, but it's definitely before 7.5:
|
||||
# define BOOST_CUDA_VERSION 7000000
|
||||
#endif
|
||||
|
||||
// NVIDIA Specific support
|
||||
// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device
|
||||
#define BOOST_GPU_ENABLED __host__ __device__
|
||||
@@ -19,11 +26,11 @@
|
||||
// https://svn.boost.org/trac/boost/ticket/11897
|
||||
// This is fixed in 7.5. As the following version macro was introduced in 7.5 an existance
|
||||
// check is enough to detect versions < 7.5
|
||||
#if !defined(__CUDACC_VER__) || (__CUDACC_VER__ < 70500)
|
||||
#if BOOST_CUDA_VERSION < 7050000
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
// The same bug is back again in 8.0:
|
||||
#if (__CUDACC_VER__ > 80000) && (__CUDACC_VER__ < 80100)
|
||||
#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:
|
||||
@@ -43,7 +50,7 @@
|
||||
// And this one effects the NVCC front end,
|
||||
// See https://svn.boost.org/trac/boost/ticket/13049
|
||||
//
|
||||
#if (__CUDACC_VER__ >= 80000) && (__CUDACC_VER__ < 80100)
|
||||
#if (BOOST_CUDA_VERSION >= 8000000) && (BOOST_CUDA_VERSION < 8010000)
|
||||
# define BOOST_NO_CXX11_NOEXCEPT
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// (C) Copyright Noel Belcourt 2007.
|
||||
// Copyright 2017, NVIDIA CORPORATION.
|
||||
// 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)
|
||||
@@ -10,159 +11,13 @@
|
||||
#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__
|
||||
#define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
|
||||
|
||||
//
|
||||
// Threading support:
|
||||
// Turn this on unconditionally here, it will get turned off again later
|
||||
// if no threading API is detected.
|
||||
//
|
||||
// PGI is mostly GNU compatible. So start with that.
|
||||
#include <boost/config/compiler/gcc.hpp>
|
||||
|
||||
#if __PGIC__ >= 11
|
||||
// Now adjust for things that are different.
|
||||
|
||||
// options requested by configure --enable-test
|
||||
#define BOOST_HAS_PTHREADS
|
||||
#define BOOST_HAS_THREADS
|
||||
#define BOOST_HAS_PTHREAD_YIELD
|
||||
#define BOOST_HAS_NRVO
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
|
||||
// options --enable-test wants undefined
|
||||
#undef BOOST_NO_STDC_NAMESPACE
|
||||
#undef BOOST_NO_EXCEPTION_STD_NAMESPACE
|
||||
#undef BOOST_DEDUCED_TYPENAME
|
||||
|
||||
#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
|
||||
#elif __PGIC__ >= 10
|
||||
|
||||
// options requested by configure --enable-test
|
||||
#define BOOST_HAS_THREADS
|
||||
#define BOOST_HAS_NRVO
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
#if defined(linux) || defined(__linux) || defined(__linux__)
|
||||
# define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
|
||||
// options --enable-test wants undefined
|
||||
#undef BOOST_NO_STDC_NAMESPACE
|
||||
#undef BOOST_NO_EXCEPTION_STD_NAMESPACE
|
||||
#undef BOOST_DEDUCED_TYPENAME
|
||||
|
||||
#elif __PGIC__ >= 7
|
||||
|
||||
#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#define BOOST_NO_SWPRINTF
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
|
||||
#else
|
||||
|
||||
# error "Pgi compiler not configured - please reconfigure"
|
||||
|
||||
#endif
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
|
||||
//
|
||||
#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_EXTERN_TEMPLATE
|
||||
#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_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_NUMERIC_LIMITS
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_SWPRINTF
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
|
||||
#define BOOST_NO_CXX11_HDR_UNORDERED_SET
|
||||
#define BOOST_NO_CXX11_HDR_UNORDERED_MAP
|
||||
#define BOOST_NO_CXX11_HDR_TYPEINDEX
|
||||
#define BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
||||
#define BOOST_NO_CXX11_HDR_TUPLE
|
||||
#define BOOST_NO_CXX11_HDR_THREAD
|
||||
#define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
#define BOOST_NO_CXX11_HDR_REGEX
|
||||
#define BOOST_NO_CXX11_HDR_RATIO
|
||||
#define BOOST_NO_CXX11_HDR_RANDOM
|
||||
#define BOOST_NO_CXX11_HDR_MUTEX
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_HDR_FUTURE
|
||||
#define BOOST_NO_CXX11_HDR_FORWARD_LIST
|
||||
#define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
#define BOOST_NO_CXX11_HDR_CODECVT
|
||||
#define BOOST_NO_CXX11_HDR_CHRONO
|
||||
#define BOOST_NO_CXX11_HDR_ARRAY
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
#define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
// C++17
|
||||
#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
|
||||
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
#endif
|
||||
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
||||
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
//
|
||||
// version check:
|
||||
// probably nothing to do here?
|
||||
// __float128 is a typedef, not a distinct type.
|
||||
#undef BOOST_HAS_FLOAT128
|
||||
|
||||
// __int128 is not supported.
|
||||
#undef BOOST_HAS_INT128
|
||||
|
||||
@@ -202,9 +202,9 @@
|
||||
#error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 0x590:
|
||||
#if (__SUNPRO_CC > 0x590)
|
||||
// last known and checked version:
|
||||
#if (__SUNPRO_CC > 0x5150)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# error "Boost.Config is older than your compiler - please check for an updated Boost release."
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@@ -65,6 +65,11 @@
|
||||
#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
|
||||
#endif
|
||||
|
||||
// Type aliasing hint. Supported since XL C++ 13.1
|
||||
#if (__IBMCPP__ >= 1310)
|
||||
# define BOOST_MAY_ALIAS __attribute__((__may_alias__))
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
|
||||
@@ -167,6 +167,7 @@
|
||||
//
|
||||
#if (_MSC_FULL_VER < 190023026)
|
||||
# define BOOST_NO_CXX11_NOEXCEPT
|
||||
# define BOOST_NO_CXX11_DEFAULTED_MOVES
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
@@ -196,6 +197,12 @@
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
|
||||
// C++17 features supported by VC++ 14.1 (Visual Studio 2017) Update 3
|
||||
//
|
||||
#if (_MSC_VER < 1911) || (_MSVC_LANG < 201703)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
|
||||
// MSVC including version 14 has not yet completely
|
||||
// implemented value-initialization, as is reported:
|
||||
// "VC++ does not value-initialize members of derived classes without
|
||||
@@ -211,18 +218,29 @@
|
||||
// https://connect.microsoft.com/VisualStudio/feedback/details/1582233/c-subobjects-still-not-value-initialized-correctly
|
||||
// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
|
||||
// (Niels Dekker, LKEB, May 2010)
|
||||
// Still present in VC15.5, Dec 2017.
|
||||
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
//
|
||||
// C++ 11:
|
||||
//
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
// This is supported with /permissive- for 15.5 onwards, unfortunately we appear to have no way to tell
|
||||
// if this is in effect or not, in any case nothing in Boost is currently using this, so we'll just go
|
||||
// on defining it for now:
|
||||
//
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
|
||||
#if (_MSC_VER < 1912) || (_MSVC_LANG < 201402)
|
||||
// Supported from msvc-15.5 onwards:
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#endif
|
||||
// C++ 14:
|
||||
// Still gives internal compiler error for msvc-15.5:
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
// C++ 17:
|
||||
#define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#if (_MSC_VER < 1912) || (_MSVC_LANG < 201703)
|
||||
#define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
#define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
|
||||
//
|
||||
// Things that don't work in clr mode:
|
||||
@@ -289,7 +307,7 @@
|
||||
# endif
|
||||
# endif
|
||||
# else
|
||||
# if _MSC_VER < 1310
|
||||
# if _MSC_VER < 1200
|
||||
// Note: Versions up to 7.0 aren't supported.
|
||||
# define BOOST_COMPILER_VERSION 5.0
|
||||
# elif _MSC_VER < 1300
|
||||
@@ -320,12 +338,17 @@
|
||||
# define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
|
||||
#endif
|
||||
|
||||
#include <boost/config/pragma_message.hpp>
|
||||
|
||||
//
|
||||
// last known and checked version is 19.10.25017 (VC++ 2017):
|
||||
#if (_MSC_VER > 1910)
|
||||
// last known and checked version is 19.12.25830.2 (VC++ 2017.3):
|
||||
#if (_MSC_VER > 1912)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "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")
|
||||
# error "Boost.Config is older than your current compiler version."
|
||||
# elif !defined(BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE)
|
||||
//
|
||||
// Disabled as of March 2018 - the pace of VS releases is hard to keep up with
|
||||
// and in any case, we have relatively few defect macros defined now.
|
||||
// BOOST_PRAGMA_MESSAGE("Info: Boost.Config is older than your compiler version - probably nothing bad will happen - but you may wish to look for an updated Boost version. Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.")
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@@ -267,6 +267,11 @@
|
||||
# define BOOST_ATTRIBUTE_UNUSED __attribute__((unused))
|
||||
#endif
|
||||
|
||||
// Type aliasing hint.
|
||||
#if __has_attribute(__may_alias__)
|
||||
# define BOOST_MAY_ALIAS __attribute__((__may_alias__))
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
# define BOOST_COMPILER "Clang version " __clang_version__
|
||||
#endif
|
||||
|
||||
@@ -159,6 +159,7 @@
|
||||
#if defined(__IBM_ATTRIBUTES)
|
||||
# define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__))
|
||||
# define BOOST_NOINLINE __attribute__ ((__noinline__))
|
||||
# define BOOST_MAY_ALIAS __attribute__((__may_alias__))
|
||||
// No BOOST_ALIGNMENT - explicit alignment support is broken (V2R1).
|
||||
#endif
|
||||
|
||||
|
||||
@@ -52,6 +52,10 @@
|
||||
// Wind River Diab C++
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/diab.hpp"
|
||||
|
||||
#elif defined(__PGI)
|
||||
// Portland Group Inc.
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/pgi.hpp"
|
||||
|
||||
# elif defined(__GNUC__) && !defined(__ibmxl__)
|
||||
// GNU C++:
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp"
|
||||
@@ -108,10 +112,6 @@
|
||||
// IBM Visual Age or IBM XL C/C++ for Linux (Big Endian)
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp"
|
||||
|
||||
#elif defined(__PGI)
|
||||
// Portland Group Inc.
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/pgi.hpp"
|
||||
|
||||
#elif defined _MSC_VER
|
||||
// Microsoft Visual C++
|
||||
//
|
||||
|
||||
@@ -537,25 +537,10 @@ namespace std{ using ::type_info; }
|
||||
|
||||
// ---------------------------------------------------------------------------//
|
||||
|
||||
//
|
||||
// Helper macro BOOST_STRINGIZE:
|
||||
// Converts the parameter X to a string after macro replacement
|
||||
// on X has been performed.
|
||||
//
|
||||
#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
|
||||
#define BOOST_DO_STRINGIZE(X) #X
|
||||
|
||||
//
|
||||
// Helper macro BOOST_JOIN:
|
||||
// The following piece of macro magic joins the two
|
||||
// arguments together, even when one of the arguments is
|
||||
// itself a macro (see 16.3.1 in C++ standard). The key
|
||||
// is that macro expansion of macro arguments does not
|
||||
// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN.
|
||||
//
|
||||
#define BOOST_JOIN( X, Y ) BOOST_DO_JOIN( X, Y )
|
||||
#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y)
|
||||
#define BOOST_DO_JOIN2( X, Y ) X##Y
|
||||
|
||||
#include <boost/config/helper_macros.hpp>
|
||||
|
||||
//
|
||||
// Set some default values for compiler/library/platform names.
|
||||
@@ -602,6 +587,14 @@ namespace std{ using ::type_info; }
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// BOOST_MAY_ALIAS -----------------------------------------------//
|
||||
// The macro expands to an attribute to mark a type that is allowed to alias other types.
|
||||
// The macro is defined in the compiler-specific headers.
|
||||
#if !defined(BOOST_MAY_ALIAS)
|
||||
# define BOOST_NO_MAY_ALIAS
|
||||
# define BOOST_MAY_ALIAS
|
||||
#endif
|
||||
|
||||
// BOOST_FORCEINLINE ---------------------------------------------//
|
||||
// Macro to use in place of 'inline' to force a function to be inline
|
||||
#if !defined(BOOST_FORCEINLINE)
|
||||
@@ -694,6 +687,11 @@ namespace std{ using ::type_info; }
|
||||
# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
// Lack of defaulted moves is implied by the lack of either rvalue references or any defaulted functions
|
||||
#if !defined(BOOST_NO_CXX11_DEFAULTED_MOVES) && (defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES))
|
||||
# define BOOST_NO_CXX11_DEFAULTED_MOVES
|
||||
#endif
|
||||
|
||||
// Defaulted and deleted function declaration helpers
|
||||
// These macros are intended to be inside a class definition.
|
||||
// BOOST_DEFAULTED_FUNCTION accepts the function declaration and its
|
||||
|
||||
26
include/boost/config/header_deprecated.hpp
Normal file
26
include/boost/config/header_deprecated.hpp
Normal file
@@ -0,0 +1,26 @@
|
||||
#ifndef BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED
|
||||
#define BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED
|
||||
|
||||
// Copyright 2017 Peter Dimov.
|
||||
//
|
||||
// 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
|
||||
//
|
||||
// BOOST_HEADER_DEPRECATED("<alternative>")
|
||||
//
|
||||
// Expands to the equivalent of
|
||||
// BOOST_PRAGMA_MESSAGE("This header is deprecated. Use <alternative> instead.")
|
||||
//
|
||||
// Note that this header is C compatible.
|
||||
|
||||
#include <boost/config/pragma_message.hpp>
|
||||
|
||||
#if defined(BOOST_ALLOW_DEPRECATED_HEADERS)
|
||||
# define BOOST_HEADER_DEPRECATED(a)
|
||||
#else
|
||||
# define BOOST_HEADER_DEPRECATED(a) BOOST_PRAGMA_MESSAGE("This header is deprecated. Use " a " instead.")
|
||||
#endif
|
||||
|
||||
#endif // BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED
|
||||
37
include/boost/config/helper_macros.hpp
Normal file
37
include/boost/config/helper_macros.hpp
Normal file
@@ -0,0 +1,37 @@
|
||||
#ifndef BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
|
||||
#define BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
|
||||
|
||||
// Copyright 2001 John Maddock.
|
||||
// Copyright 2017 Peter Dimov.
|
||||
//
|
||||
// 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
|
||||
//
|
||||
// BOOST_STRINGIZE(X)
|
||||
// BOOST_JOIN(X, Y)
|
||||
//
|
||||
// Note that this header is C compatible.
|
||||
|
||||
//
|
||||
// Helper macro BOOST_STRINGIZE:
|
||||
// Converts the parameter X to a string after macro replacement
|
||||
// on X has been performed.
|
||||
//
|
||||
#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
|
||||
#define BOOST_DO_STRINGIZE(X) #X
|
||||
|
||||
//
|
||||
// Helper macro BOOST_JOIN:
|
||||
// The following piece of macro magic joins the two
|
||||
// arguments together, even when one of the arguments is
|
||||
// itself a macro (see 16.3.1 in C++ standard). The key
|
||||
// is that macro expansion of macro arguments does not
|
||||
// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN.
|
||||
//
|
||||
#define BOOST_JOIN(X, Y) BOOST_DO_JOIN(X, Y)
|
||||
#define BOOST_DO_JOIN(X, Y) BOOST_DO_JOIN2(X,Y)
|
||||
#define BOOST_DO_JOIN2(X, Y) X##Y
|
||||
|
||||
#endif // BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
|
||||
@@ -38,10 +38,21 @@
|
||||
#ifdef _STDINT_H
|
||||
#define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
#if __GNUC__ > 5 && !defined(BOOST_HAS_STDINT_H)
|
||||
# define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
|
||||
/// Cygwin has no fenv.h
|
||||
#define BOOST_NO_FENV_H
|
||||
|
||||
// Cygwin has it's own <pthread.h> which breaks <shared_mutex> unless the correct compiler flags are used:
|
||||
#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#include <pthread.h>
|
||||
#if !(__XSI_VISIBLE >= 500 || __POSIX_VISIBLE >= 200112)
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// boilerplate code:
|
||||
#include <boost/config/detail/posix_features.hpp>
|
||||
|
||||
|
||||
@@ -1,30 +1,50 @@
|
||||
// (C) Copyright Dustin Spicuzza 2009.
|
||||
// Adapted to vxWorks 6.9 by Peter Brockamp 2012.
|
||||
// Updated for VxWorks 7 by Brian Kuhl 2016
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Since WRS does not yet properly support boost under vxWorks
|
||||
// and this file was badly outdated, but I was keen on using it,
|
||||
// I patched boost myself to make things work. This has been tested
|
||||
// and adapted by me for vxWorks 6.9 *only*, as I'm lacking access
|
||||
// to earlier 6.X versions! The only thing I know for sure is that
|
||||
// very old versions of vxWorks (namely everything below 6.x) are
|
||||
// absolutely unable to use boost. This is mainly due to the completely
|
||||
// outdated libraries and ancient compiler (GCC 2.96 or worse). Do
|
||||
// not even think of getting this to work, a miserable failure will
|
||||
// be guaranteed!
|
||||
// Old versions of vxWorks (namely everything below 6.x) are
|
||||
// absolutely unable to use boost. Old STLs and compilers
|
||||
// like (GCC 2.96) . Do not even think of getting this to work,
|
||||
// a miserable failure will be guaranteed!
|
||||
//
|
||||
// Equally, this file has been tested for RTPs (Real Time Processes)
|
||||
// only, not for DKMs (Downloadable Kernel Modules). These two types
|
||||
// of executables differ largely in the available functionality of
|
||||
// the C-library, STL, and so on. A DKM uses a library similar to those
|
||||
// of vxWorks 5.X - with all its limitations and incompatibilities
|
||||
// with respect to ANSI C++ and STL. So probably there might be problems
|
||||
// with the usage of boost from DKMs. WRS or any voluteers are free to
|
||||
// prove the opposite!
|
||||
|
||||
// the C-library, STL, and so on. A DKM uses a C89 library with no
|
||||
// wide character support and no guarantee of ANSI C. The same Dinkum
|
||||
// STL library is used in both contexts.
|
||||
//
|
||||
// Similarly the Dinkum abridged STL that supports the loosely specified
|
||||
// embedded C++ standard has not been tested and is unlikely to work
|
||||
// on anything but the simplest library.
|
||||
// ====================================================================
|
||||
//
|
||||
// Additional Configuration
|
||||
// -------------------------------------------------------------------
|
||||
//
|
||||
// Because of the ordering of include files and other issues the following
|
||||
// additional definitions worked better outside this file.
|
||||
//
|
||||
// When building the log library add the following to the b2 invocation
|
||||
// define=BOOST_LOG_WITHOUT_IPC
|
||||
// and
|
||||
// -DBOOST_LOG_WITHOUT_DEFAULT_FACTORIES
|
||||
// to your compile options.
|
||||
//
|
||||
// When building the test library add
|
||||
// -DBOOST_TEST_LIMITED_SIGNAL_DETAILS
|
||||
// to your compile options
|
||||
//
|
||||
// When building containers library add
|
||||
// -DHAVE_MORECORE=0
|
||||
// to your c compile options so dlmalloc heap library is compiled
|
||||
// without brk() calls
|
||||
//
|
||||
// ====================================================================
|
||||
//
|
||||
// Some important information regarding the usage of POSIX semaphores:
|
||||
@@ -38,29 +58,14 @@
|
||||
// Now, VxWorks POSIX-semaphores for DKM's default to the usage of
|
||||
// priority inverting semaphores, which is fine. On the other hand,
|
||||
// for RTP's it defaults to using non priority inverting semaphores,
|
||||
// which could easily pose a serious problem for a real time process,
|
||||
// i.e. deadlocks! To overcome this two possibilities do exist:
|
||||
// which could easily pose a serious problem for a real time process.
|
||||
//
|
||||
// a) Patch every piece of boost that uses semaphores to instanciate
|
||||
// the proper type of semaphores. This is non-intrusive with respect
|
||||
// to the OS and could relatively easy been done by giving all
|
||||
// semaphores attributes deviating from the default (for in-depth
|
||||
// information see the POSIX functions pthread_mutexattr_init()
|
||||
// and pthread_mutexattr_setprotocol()). However this breaks all
|
||||
// too easily, as with every new version some boost library could
|
||||
// all in a sudden start using semaphores, resurrecting the very
|
||||
// same, hard to locate problem over and over again!
|
||||
//
|
||||
// b) We could change the default properties for POSIX-semaphores
|
||||
// that VxWorks uses for RTP's and this is being suggested here,
|
||||
// as it will more or less seamlessly integrate with boost. I got
|
||||
// the following information from WRS how to do this, compare
|
||||
// Wind River TSR# 1209768:
|
||||
//
|
||||
// Instructions for changing the default properties of POSIX-
|
||||
// semaphores for RTP's in VxWorks 6.9:
|
||||
// - Edit the file /vxworks-6.9/target/usr/src/posix/pthreadLib.c
|
||||
// in the root of your Workbench-installation.
|
||||
// To change the default properties for POSIX-semaphores in VxWorks 7
|
||||
// enable core > CORE_USER Menu > DEFAULT_PTHREAD_PRIO_INHERIT
|
||||
//
|
||||
// In VxWorks 6.x so as to integrate with boost.
|
||||
// - Edit the file
|
||||
// installDir/vxworks-6.x/target/usr/src/posix/pthreadLib.c
|
||||
// - Around line 917 there should be the definition of the default
|
||||
// mutex attributes:
|
||||
//
|
||||
@@ -81,30 +86,11 @@
|
||||
// pAttr->mutexAttrType = PTHREAD_MUTEX_DEFAULT;
|
||||
//
|
||||
// Here again, replace PTHREAD_PRIO_NONE by PTHREAD_PRIO_INHERIT.
|
||||
// - Finally, rebuild your VSB. This will create a new VxWorks kernel
|
||||
// - Finally, rebuild your VSB. This will rebuild the libraries
|
||||
// with the changed properties. That's it! Now, using boost should
|
||||
// no longer cause any problems with task deadlocks!
|
||||
//
|
||||
// And here's another useful piece of information concerning VxWorks'
|
||||
// POSIX-functionality in general:
|
||||
// VxWorks is not a genuine POSIX-OS in itself, rather it is using a
|
||||
// kind of compatibility layer (sort of a wrapper) to emulate the
|
||||
// POSIX-functionality by using its own resources and functions.
|
||||
// At the time a task (thread) calls it's first POSIX-function during
|
||||
// runtime it is being transformed by the OS into a POSIX-thread.
|
||||
// This transformation does include a call to malloc() to allocate the
|
||||
// memory required for the housekeeping of POSIX-threads. In a high
|
||||
// priority RTP this malloc() call may be highly undesirable, as its
|
||||
// timing is more or less unpredictable (depending on what your actual
|
||||
// heap looks like). You can circumvent this problem by calling the
|
||||
// function thread_self() at a well defined point in the code of the
|
||||
// task, e.g. shortly after the task spawns up. Thereby you are able
|
||||
// to define the time when the task-transformation will take place and
|
||||
// you could shift it to an uncritical point where a malloc() call is
|
||||
// tolerable. So, if this could pose a problem for your code, remember
|
||||
// to call thread_self() from the affected task at an early stage.
|
||||
//
|
||||
// ====================================================================
|
||||
// ====================================================================
|
||||
|
||||
// Block out all versions before vxWorks 6.x, as these don't work:
|
||||
// Include header with the vxWorks version information and query them
|
||||
@@ -158,11 +144,6 @@
|
||||
#define BOOST_HAS_CLOCK_GETTIME
|
||||
#define BOOST_HAS_MACRO_USE_FACET
|
||||
|
||||
// Generally unavailable functionality, delivered by boost's test function:
|
||||
//#define BOOST_NO_DEDUCED_TYPENAME // Commented this out, boost's test gives an errorneous result!
|
||||
#define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
|
||||
// Generally available threading API's:
|
||||
#define BOOST_HAS_PTHREADS
|
||||
#define BOOST_HAS_SCHED_YIELD
|
||||
@@ -191,14 +172,7 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// vxWorks doesn't work with asio serial ports:
|
||||
#define BOOST_ASIO_DISABLE_SERIAL_PORT
|
||||
// TODO: The problem here seems to bee that vxWorks uses its own, very specific
|
||||
// ways to handle serial ports, incompatible with POSIX or anything...
|
||||
// Maybe a specific implementation would be possible, but until the
|
||||
// straight need arises... This implementation would presumably consist
|
||||
// of some vxWorks specific ioctl-calls, etc. Any voluteers?
|
||||
|
||||
#if (_WRS_VXWORKS_MAJOR < 7)
|
||||
// vxWorks-around: <time.h> #defines CLOCKS_PER_SEC as sysClkRateGet() but
|
||||
// miserably fails to #include the required <sysLib.h> to make
|
||||
// sysClkRateGet() available! So we manually include it here.
|
||||
@@ -208,11 +182,12 @@
|
||||
#endif
|
||||
|
||||
// vxWorks-around: In <stdint.h> the macros INT32_C(), UINT32_C(), INT64_C() and
|
||||
// UINT64_C() are defined errorneously, yielding not a signed/
|
||||
// UINT64_C() are defined erroneously, yielding not a signed/
|
||||
// unsigned long/long long type, but a signed/unsigned int/long
|
||||
// type. Eventually this leads to compile errors in ratio_fwd.hpp,
|
||||
// when trying to define several constants which do not fit into a
|
||||
// long type! We correct them here by redefining.
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
// Some macro-magic to do the job
|
||||
@@ -231,12 +206,16 @@
|
||||
#define UINT64_C(x) VX_JOIN(x, ULL)
|
||||
|
||||
// #include Libraries required for the following function adaption
|
||||
#include <sys/time.h>
|
||||
#endif // _WRS_VXWORKS_MAJOR < 7
|
||||
|
||||
#include <ioLib.h>
|
||||
#include <tickLib.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
// Use C-linkage for the following helper functions
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// vxWorks-around: The required functions getrlimit() and getrlimit() are missing.
|
||||
// But we have the similar functions getprlimit() and setprlimit(),
|
||||
@@ -248,7 +227,7 @@ extern "C" {
|
||||
|
||||
// TODO: getprlimit() and setprlimit() do exist for RTPs only, for whatever reason.
|
||||
// Thus for DKMs there would have to be another implementation.
|
||||
#ifdef __RTP__
|
||||
#if defined ( __RTP__) && (_WRS_VXWORKS_MAJOR < 7)
|
||||
inline int getrlimit(int resource, struct rlimit *rlp){
|
||||
return getprlimit(0, 0, resource, rlp);
|
||||
}
|
||||
@@ -273,14 +252,20 @@ inline int truncate(const char *p, off_t l){
|
||||
return close(fd);
|
||||
}
|
||||
|
||||
#ifdef __GNUC__
|
||||
#define ___unused __attribute__((unused))
|
||||
#else
|
||||
#define ___unused
|
||||
#endif
|
||||
|
||||
// Fake symlink handling by dummy functions:
|
||||
inline int symlink(const char*, const char*){
|
||||
inline int symlink(const char* path1 ___unused, const char* path2 ___unused){
|
||||
// vxWorks has no symlinks -> always return an error!
|
||||
errno = EACCES;
|
||||
return -1;
|
||||
}
|
||||
|
||||
inline ssize_t readlink(const char*, char*, size_t){
|
||||
inline ssize_t readlink(const char* path1 ___unused, char* path2 ___unused, size_t size ___unused){
|
||||
// vxWorks has no symlinks -> always return an error!
|
||||
errno = EACCES;
|
||||
return -1;
|
||||
@@ -297,8 +282,18 @@ inline int gettimeofday(struct timeval *tv, void * /*tzv*/) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
// vxWorks does provide neither struct tms nor function times()!
|
||||
/*
|
||||
* moved to os/utils/unix/freind_h/times.h in VxWorks 7
|
||||
* to avoid conflict with MPL operator times
|
||||
*/
|
||||
#if (_WRS_VXWORKS_MAJOR < 7)
|
||||
#ifdef __cplusplus
|
||||
|
||||
// vxWorks provides neither struct tms nor function times()!
|
||||
// We implement an empty dummy-function, simply setting the user
|
||||
// and system time to the half of thew actual system ticks-value
|
||||
// and the child user and system time to 0.
|
||||
@@ -315,7 +310,8 @@ struct tms{
|
||||
clock_t tms_cstime; // System CPU time of terminated child processes
|
||||
};
|
||||
|
||||
inline clock_t times(struct tms *t){
|
||||
|
||||
inline clock_t times(struct tms *t){
|
||||
struct timespec ts;
|
||||
clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts);
|
||||
clock_t ticks(static_cast<clock_t>(static_cast<double>(ts.tv_sec) * CLOCKS_PER_SEC +
|
||||
@@ -327,8 +323,16 @@ inline clock_t times(struct tms *t){
|
||||
return ticks;
|
||||
}
|
||||
|
||||
extern void bzero (void *, size_t); // FD_ZERO uses bzero() but doesn't include strings.h
|
||||
} // extern "C"
|
||||
|
||||
namespace std {
|
||||
using ::times;
|
||||
}
|
||||
#endif // __cplusplus
|
||||
#endif // _WRS_VXWORKS_MAJOR < 7
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" void bzero (void *, size_t); // FD_ZERO uses bzero() but doesn't include strings.h
|
||||
|
||||
// Put the selfmade functions into the std-namespace, just in case
|
||||
namespace std {
|
||||
@@ -339,9 +343,11 @@ namespace std {
|
||||
using ::truncate;
|
||||
using ::symlink;
|
||||
using ::readlink;
|
||||
using ::times;
|
||||
using ::gettimeofday;
|
||||
#if (_WRS_VXWORKS_MAJOR < 7)
|
||||
using ::gettimeofday;
|
||||
#endif
|
||||
}
|
||||
#endif // __cplusplus
|
||||
|
||||
// Some more macro-magic:
|
||||
// vxWorks-around: Some functions are not present or broken in vxWorks
|
||||
@@ -349,12 +355,13 @@ namespace std {
|
||||
|
||||
// Include signal.h which might contain a typo to be corrected here
|
||||
#include <signal.h>
|
||||
|
||||
inline int getpagesize() { return sysconf(_SC_PAGESIZE); } // getpagesize is deprecated anyway!
|
||||
#if (_WRS_VXWORKS_MAJOR < 7)
|
||||
#define getpagesize() sysconf(_SC_PAGESIZE) // getpagesize is deprecated anyway!
|
||||
inline int lstat(p, b) { return stat(p, b); } // lstat() == stat(), as vxWorks has no symlinks!
|
||||
#endif
|
||||
#ifndef S_ISSOCK
|
||||
# define S_ISSOCK(mode) ((mode & S_IFMT) == S_IFSOCK) // Is file a socket?
|
||||
#endif
|
||||
inline int lstat(p, b) { return stat(p, b); } // lstat() == stat(), as vxWorks has no symlinks!
|
||||
#ifndef FPE_FLTINV
|
||||
# define FPE_FLTINV (FPE_FLTSUB+1) // vxWorks has no FPE_FLTINV, so define one as a dummy
|
||||
#endif
|
||||
@@ -371,22 +378,56 @@ typedef int locale_t; // locale_t is a POSIX-ex
|
||||
|
||||
// vxWorks 7 adds C++11 support
|
||||
// however it is optional, and does not match exactly the support determined
|
||||
// by examining Dinkum STL version and GCC version (or ICC and DCC)
|
||||
|
||||
// by examining the Dinkum STL version and GCC version (or ICC and DCC)
|
||||
#ifndef _WRS_CONFIG_LANG_LIB_CPLUS_CPLUS_USER_2011
|
||||
# define BOOST_NO_CXX11_ADDRESSOF // C11 addressof operator on memory location
|
||||
# define BOOST_NO_CXX11_ALLOCATOR
|
||||
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||
# define BOOST_NO_CXX11_NUMERIC_LIMITS // max_digits10 in test/../print_helper.hpp
|
||||
# define BOOST_NO_CXX11_SMART_PTR
|
||||
# define BOOST_NO_CXX11_STD_ALIGN
|
||||
|
||||
|
||||
# define BOOST_NO_CXX11_HDR_ARRAY
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
# define BOOST_NO_CXX11_HDR_CHRONO
|
||||
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# define BOOST_NO_CXX11_HDR_FORWARD_LIST //serialization/test/test_list.cpp
|
||||
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||
# define BOOST_NO_CXX11_HDR_FUTURE
|
||||
# define BOOST_NO_CXX11_HDR_MUTEX
|
||||
# define BOOST_NO_CXX11_HDR_RANDOM //math/../test_data.hpp
|
||||
# define BOOST_NO_CXX11_HDR_RATIO
|
||||
# define BOOST_NO_CXX11_HDR_REGEX
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
# define BOOST_NO_CXX11_HDR_THREAD
|
||||
# define BOOST_NO_CXX11_HDR_TYPEINDEX
|
||||
# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
||||
# define BOOST_NO_CXX11_HDR_TUPLE
|
||||
# define BOOST_NO_CXX11_ALLOCATOR
|
||||
# define BOOST_NO_CXX11_SMART_PTR
|
||||
# define BOOST_NO_CXX11_STD_ALIGN
|
||||
# define BOOST_NO_CXX11_HDR_UNORDERED_SET
|
||||
# define BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
||||
# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
|
||||
# define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
# define BOOST_NO_CXX11_HDR_UNORDERED_SET
|
||||
#else
|
||||
# define BOOST_NO_CXX11_NULLPTR
|
||||
#ifndef BOOST_SYSTEM_NO_DEPRECATED
|
||||
# define BOOST_SYSTEM_NO_DEPRECATED // workaround link error in spirit
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
// NONE is used in enums in lamda and other libraries
|
||||
#undef NONE
|
||||
// restrict is an iostreams class
|
||||
#undef restrict
|
||||
|
||||
// use fake poll() from Unix layer in ASIO to get full functionality
|
||||
// most libraries will use select() but this define allows 'iostream' functionality
|
||||
// which is based on poll() only
|
||||
#if (_WRS_VXWORKS_MAJOR > 6)
|
||||
# ifndef BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR
|
||||
# define BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR
|
||||
# endif
|
||||
#else
|
||||
# define BOOST_ASIO_DISABLE_SERIAL_PORT
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
31
include/boost/config/pragma_message.hpp
Normal file
31
include/boost/config/pragma_message.hpp
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef BOOST_CONFIG_PRAGMA_MESSAGE_HPP_INCLUDED
|
||||
#define BOOST_CONFIG_PRAGMA_MESSAGE_HPP_INCLUDED
|
||||
|
||||
// Copyright 2017 Peter Dimov.
|
||||
//
|
||||
// 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
|
||||
//
|
||||
// BOOST_PRAGMA_MESSAGE("message")
|
||||
//
|
||||
// Expands to the equivalent of #pragma message("message")
|
||||
//
|
||||
// Note that this header is C compatible.
|
||||
|
||||
#include <boost/config/helper_macros.hpp>
|
||||
|
||||
#if defined(BOOST_DISABLE_PRAGMA_MESSAGE)
|
||||
# define BOOST_PRAGMA_MESSAGE(x)
|
||||
#elif defined(__INTEL_COMPILER)
|
||||
# define BOOST_PRAGMA_MESSAGE(x) __pragma(message(__FILE__ "(" BOOST_STRINGIZE(__LINE__) "): note: " x))
|
||||
#elif defined(__GNUC__)
|
||||
# define BOOST_PRAGMA_MESSAGE(x) _Pragma(BOOST_STRINGIZE(message(x)))
|
||||
#elif defined(_MSC_VER)
|
||||
# define BOOST_PRAGMA_MESSAGE(x) __pragma(message(__FILE__ "(" BOOST_STRINGIZE(__LINE__) "): note: " x))
|
||||
#else
|
||||
# define BOOST_PRAGMA_MESSAGE(x)
|
||||
#endif
|
||||
|
||||
#endif // BOOST_CONFIG_PRAGMA_MESSAGE_HPP_INCLUDED
|
||||
@@ -96,7 +96,8 @@
|
||||
#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__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__) && !defined(__VISUALDSPVERSION__) \
|
||||
&& !defined(__VXWORKS__)
|
||||
# define BOOST_NO_STD_TYPEINFO
|
||||
#endif
|
||||
|
||||
@@ -172,11 +173,17 @@
|
||||
// C++17 features
|
||||
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(BOOST_MSVC) || (BOOST_MSVC < 1910) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0)
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
#endif
|
||||
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
#endif
|
||||
|
||||
#if !(!defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(BOOST_MSVC) || (BOOST_MSVC < 1912) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0))
|
||||
// Deprecated std::iterator:
|
||||
# define BOOST_NO_STD_ITERATOR
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400)
|
||||
// Intel's compiler can't handle this header yet:
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
// C++17 features
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
# define BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
|
||||
//
|
||||
// Intrinsic type_traits support.
|
||||
|
||||
@@ -103,6 +103,8 @@
|
||||
# define BOOST_NO_CXX98_BINDERS
|
||||
#endif
|
||||
|
||||
#define BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
|
||||
#if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
|
||||
// This is a bit of a sledgehammer, because really it's just libc++abi that has no
|
||||
// support for thread_local, leading to linker errors such as
|
||||
@@ -111,6 +113,13 @@
|
||||
# define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#endif
|
||||
|
||||
#if defined(__linux__) && !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`.
|
||||
# define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#endif
|
||||
|
||||
#if defined(__has_include)
|
||||
#if !__has_include(<shared_mutex>)
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
|
||||
@@ -78,6 +78,7 @@
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
#ifndef __VXWORKS__ // VxWorks uses Dinkum, not GNU STL with GCC
|
||||
#if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0
|
||||
# define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx
|
||||
# define BOOST_HAS_SLIST
|
||||
@@ -91,6 +92,7 @@
|
||||
# define BOOST_HASH_MAP_HEADER <backward/hash_map>
|
||||
# endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Decide whether we have C++11 support turned on:
|
||||
@@ -247,6 +249,7 @@ extern "C" char *gets (char *__s);
|
||||
#if (BOOST_LIBSTDCXX_VERSION < 40600) || !defined(BOOST_LIBSTDCXX11)
|
||||
# define BOOST_NO_CXX11_HDR_TYPEINDEX
|
||||
# define BOOST_NO_CXX11_ADDRESSOF
|
||||
# define BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
#endif
|
||||
|
||||
// C++0x features in GCC 4.7.0 and later
|
||||
|
||||
@@ -68,6 +68,7 @@
|
||||
// C++17 features
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
# define BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
|
||||
#define BOOST_STDLIB "Modena C++ standard library"
|
||||
|
||||
|
||||
@@ -92,5 +92,6 @@
|
||||
// C++17 features
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
# define BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
|
||||
#define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__)
|
||||
|
||||
@@ -204,3 +204,4 @@
|
||||
// C++17 features
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
# define BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
|
||||
@@ -162,5 +162,6 @@
|
||||
// C++17 features
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
# define BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
|
||||
#define BOOST_STDLIB "SGI standard library"
|
||||
|
||||
@@ -252,5 +252,6 @@ namespace boost { using std::min; using std::max; }
|
||||
// C++17 features
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
# define BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
|
||||
#define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT)
|
||||
|
||||
@@ -68,5 +68,6 @@
|
||||
// C++17 features
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
# define BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
|
||||
#define BOOST_STDLIB "Visual Age default standard library"
|
||||
|
||||
@@ -57,3 +57,4 @@
|
||||
|
||||
#define BOOST_NO_CXX17_STD_INVOKE
|
||||
#define BOOST_NO_CXX17_STD_APPLY
|
||||
#define BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
|
||||
@@ -87,8 +87,10 @@
|
||||
#endif
|
||||
#ifndef BOOST_GCC
|
||||
#define BOOST_GCC_WORKAROUND_GUARD 1
|
||||
#define BOOST_GCC_VERSION_WORKAROUND_GUARD 1
|
||||
#else
|
||||
#define BOOST_GCC_WORKAROUND_GUARD 0
|
||||
#define BOOST_GCC_VERSION_WORKAROUND_GUARD 0
|
||||
#endif
|
||||
#ifndef BOOST_XLCPP_ZOS
|
||||
#define BOOST_XLCPP_ZOS_WORKAROUND_GUARD 1
|
||||
|
||||
@@ -34,6 +34,17 @@
|
||||
#endif
|
||||
|
||||
#include <boost/config.hpp>
|
||||
//
|
||||
// For the following code we get several warnings along the lines of:
|
||||
//
|
||||
// boost/cstdint.hpp:428:35: error: use of C99 long long integer constant
|
||||
//
|
||||
// So we declare this a system header to suppress these warnings.
|
||||
// See also https://github.com/boostorg/config/issues/190
|
||||
//
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 4)
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
//
|
||||
// Note that GLIBC is a bit inconsistent about whether int64_t is defined or not
|
||||
@@ -60,7 +71,7 @@
|
||||
# include <stdint.h>
|
||||
|
||||
// There is a bug in Cygwin two _C macros
|
||||
# if defined(__STDC_CONSTANT_MACROS) && defined(__CYGWIN__)
|
||||
# if defined(INTMAX_C) && defined(__CYGWIN__)
|
||||
# undef INTMAX_C
|
||||
# undef UINTMAX_C
|
||||
# define INTMAX_C(c) c##LL
|
||||
@@ -367,12 +378,9 @@ namespace boost
|
||||
#include <stddef.h>
|
||||
#endif
|
||||
|
||||
// PGI seems to not support intptr_t/uintptr_t properly. BOOST_HAS_STDINT_H is not defined for this compiler by Boost.Config.
|
||||
#if !defined(__PGIC__)
|
||||
|
||||
#if (defined(BOOST_WINDOWS) && !defined(_WIN32_WCE)) \
|
||||
|| (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \
|
||||
|| defined(__CYGWIN__) \
|
||||
|| defined(__CYGWIN__) || defined(__VXWORKS__) \
|
||||
|| defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \
|
||||
|| defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || (defined(sun) && !defined(BOOST_HAS_STDINT_H)) || defined(INTPTR_MAX)
|
||||
|
||||
@@ -393,8 +401,6 @@ namespace boost {
|
||||
|
||||
#endif
|
||||
|
||||
#endif // !defined(__PGIC__)
|
||||
|
||||
#endif // BOOST_CSTDINT_HPP
|
||||
|
||||
|
||||
@@ -413,16 +419,6 @@ INT#_C macros if they're not already defined (John Maddock).
|
||||
#if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \
|
||||
(!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C))
|
||||
//
|
||||
// For the following code we get several warnings along the lines of:
|
||||
//
|
||||
// boost/cstdint.hpp:428:35: error: use of C99 long long integer constant
|
||||
//
|
||||
// So we declare this a system header to suppress these warnings.
|
||||
//
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 4)
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
//
|
||||
// Undef the macros as a precaution, since we may get here if <stdint.h> has failed
|
||||
// to define them all, see https://svn.boost.org/trac/boost/ticket/12786
|
||||
//
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
namespace boost
|
||||
{
|
||||
|
||||
# if defined(BOOST_NO_CHAR16_T) && (!defined(_MSC_VER) || _MSC_VER < 1600) // 1600 == VC++10
|
||||
# if defined(BOOST_NO_CXX11_CHAR16_T) && (!defined(_MSC_VER) || _MSC_VER < 1600) // 1600 == VC++10
|
||||
typedef boost::uint_least16_t char16;
|
||||
typedef std::basic_string<boost::char16> u16string;
|
||||
# else
|
||||
@@ -57,7 +57,7 @@ namespace boost
|
||||
typedef std::u16string u16string;
|
||||
# endif
|
||||
|
||||
# if defined(BOOST_NO_CHAR32_T) && (!defined(_MSC_VER) || _MSC_VER < 1600) // 1600 == VC++10
|
||||
# if defined(BOOST_NO_CXX11_CHAR32_T) && (!defined(_MSC_VER) || _MSC_VER < 1600) // 1600 == VC++10
|
||||
typedef boost::uint_least32_t char32;
|
||||
typedef std::basic_string<boost::char32> u32string;
|
||||
# else
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
// BOOST_VERSION / 100 % 1000 is the minor version
|
||||
// BOOST_VERSION / 100000 is the major version
|
||||
|
||||
#define BOOST_VERSION 106500
|
||||
#define BOOST_VERSION 106700
|
||||
|
||||
//
|
||||
// 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_65"
|
||||
#define BOOST_LIB_VERSION "1_67"
|
||||
|
||||
#endif
|
||||
|
||||
@@ -59,6 +59,7 @@ test-suite config
|
||||
: #input-files
|
||||
: #requirements
|
||||
<rtti>off
|
||||
<toolset>gcc-4.4.7,<cxxstd>0x:<build>no # <memory> does not compile with -fno-rtti
|
||||
[ check-target-builds has_atomic_lib : <source>atomic ]
|
||||
[ check-target-builds has_pthread_lib : <source>pthread ]
|
||||
[ check-target-builds has_rt_lib : <source>rt ]
|
||||
@@ -69,6 +70,7 @@ test-suite config
|
||||
: #input-files
|
||||
: #requirements
|
||||
<exception-handling>off
|
||||
<target-os>vxworks:<build>no # vx requires complete library rebuild to turn off exceptions
|
||||
[ check-target-builds has_atomic_lib : <source>atomic ]
|
||||
[ check-target-builds has_pthread_lib : <source>pthread ]
|
||||
[ check-target-builds has_rt_lib : <source>rt ]
|
||||
@@ -77,7 +79,9 @@ test-suite config
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static ]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>multi : config_info_threaded ]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <rtti>off : config_info_no_rtti ]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <exception-handling>off : config_info_no_except ]
|
||||
[ run config_info.cpp : : : <test-info>always_show_run_output <exception-handling>off
|
||||
<target-os>vxworks:<build>no
|
||||
: config_info_no_except ]
|
||||
[ run math_info.cpp : : : <test-info>always_show_run_output <toolset>borland:<runtime-link>static <toolset>borland:<link>static ]
|
||||
[ run abi/abi_test.cpp abi/main.cpp ]
|
||||
[ run limits_test.cpp ]
|
||||
@@ -88,6 +92,7 @@ test-suite config
|
||||
<runtime-link>shared
|
||||
<define>BOOST_DYN_LINK=1
|
||||
<define>BOOST_CONFIG_NO_LIB=1
|
||||
<target-os>vxworks:<link>shared
|
||||
:
|
||||
config_link_test
|
||||
]
|
||||
@@ -99,6 +104,9 @@ test-suite config
|
||||
[ run cstdint_test2.cpp : : : <warnings>all <toolset>gcc:<cxxflags>"-Wno-long-long -Wextra" <toolset>darwin:<cxxflags>-Wno-long-long ]
|
||||
[ compile cstdint_include_test.cpp : <warnings>all <toolset>gcc:<cxxflags>-Wextra ]
|
||||
[ run config_build_check.cpp : : : [ requires int128 cxx11_constexpr cxx11_user_defined_literals ] ]
|
||||
[ run helper_macros_test.cpp ]
|
||||
[ compile pragma_message_test.cpp ]
|
||||
[ compile header_deprecated_test.cpp ]
|
||||
;
|
||||
|
||||
obj has_clang_implicit_fallthrough : cmd_line_check.cpp :
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# Regression test Jamfile for boost configuration setup.
|
||||
# *** DO NOT EDIT THIS FILE BY HAND ***
|
||||
# This file was automatically generated on Mon May 29 10:27:35 2017
|
||||
# This file was automatically generated on Wed Jan 03 23:31:31 2018
|
||||
# by libs/config/tools/generate.cpp
|
||||
# Copyright John Maddock.
|
||||
# Use, modification and distribution are subject to the
|
||||
@@ -190,6 +190,9 @@ test-suite "BOOST_NO_CXX11_ALLOCATOR" :
|
||||
test-suite "BOOST_NO_CXX11_ATOMIC_SMART_PTR" :
|
||||
[ run ../no_cxx11_atomic_sp_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_atomic_sp_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_DEFAULTED_MOVES" :
|
||||
[ run ../no_cxx11_defaulted_moves_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_defaulted_moves_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX11_FINAL" :
|
||||
[ run ../no_cxx11_final_pass.cpp ]
|
||||
[ compile-fail ../no_cxx11_final_fail.cpp ] ;
|
||||
@@ -322,6 +325,9 @@ test-suite "BOOST_NO_CXX17_FOLD_EXPRESSIONS" :
|
||||
test-suite "BOOST_NO_CXX17_INLINE_VARIABLES" :
|
||||
[ run ../no_cxx17_inline_variables_pass.cpp ]
|
||||
[ compile-fail ../no_cxx17_inline_variables_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX17_ITERATOR_TRAITS" :
|
||||
[ run ../no_cxx17_iterator_traits_pass.cpp ]
|
||||
[ compile-fail ../no_cxx17_iterator_traits_fail.cpp ] ;
|
||||
test-suite "BOOST_NO_CXX17_STD_APPLY" :
|
||||
[ run ../no_cxx17_std_apply_pass.cpp ]
|
||||
[ compile-fail ../no_cxx17_std_apply_fail.cpp ] ;
|
||||
|
||||
@@ -28,6 +28,7 @@ template <class T>
|
||||
int test_allocator(const T& i)
|
||||
{
|
||||
typedef std::allocator<int> alloc1_t;
|
||||
#if !((__cplusplus > 201700) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700)))
|
||||
typedef typename alloc1_t::size_type size_type;
|
||||
typedef typename alloc1_t::difference_type difference_type BOOST_UNUSED_ATTRIBUTE;
|
||||
typedef typename alloc1_t::pointer pointer;
|
||||
@@ -35,9 +36,10 @@ int test_allocator(const T& i)
|
||||
typedef typename alloc1_t::reference reference;
|
||||
typedef typename alloc1_t::const_reference const_reference;
|
||||
typedef typename alloc1_t::value_type value_type BOOST_UNUSED_ATTRIBUTE;
|
||||
|
||||
#endif
|
||||
alloc1_t a1;
|
||||
|
||||
#if !((__cplusplus > 201700) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700)))
|
||||
pointer p = a1.allocate(1);
|
||||
const_pointer cp = p;
|
||||
a1.construct(p,i);
|
||||
@@ -49,7 +51,7 @@ int test_allocator(const T& i)
|
||||
if(cp != a1.address(cr)) return -1;
|
||||
a1.destroy(p);
|
||||
a1.deallocate(p,1);
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ int test()
|
||||
wchar_t c1[2] = { 0 };
|
||||
wchar_t c2[2] = { 0 };
|
||||
if(wcscmp(c1,c2) || wcslen(c1)) return -1;
|
||||
wcscpy(c1,c2);
|
||||
//wcscpy(c1,c2);
|
||||
wcsxfrm(c1,c2,0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
25
test/boost_no_cxx11_defaulted_moves.ipp
Normal file
25
test/boost_no_cxx11_defaulted_moves.ipp
Normal file
@@ -0,0 +1,25 @@
|
||||
// (C) Copyright Andrzej Krzemienski 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_CXX11_DEFAULTED_MOVES
|
||||
// TITLE: C++0x defaulting of move constructor/assignment unavailable
|
||||
// DESCRIPTION: The compiler does not support C++0x defaulting of move constructor/assignment
|
||||
|
||||
namespace boost_no_cxx11_defaulted_moves {
|
||||
|
||||
struct foo {
|
||||
foo(foo&&) = default;
|
||||
foo& operator=(foo&&) = default;
|
||||
};
|
||||
|
||||
int test()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -45,7 +45,11 @@ int test()
|
||||
using std::is_trivially_copyable;
|
||||
using std::is_standard_layout;
|
||||
using std::is_pod;
|
||||
#if !((__cplusplus > 201700) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700)))
|
||||
// deprecated in C++ 17:
|
||||
using std::is_literal_type;
|
||||
using std::result_of;
|
||||
#endif
|
||||
using std::is_empty;
|
||||
using std::is_polymorphic;
|
||||
using std::is_abstract;
|
||||
@@ -99,7 +103,6 @@ int test()
|
||||
using std::conditional;
|
||||
using std::common_type;
|
||||
using std::underlying_type;
|
||||
using std::result_of;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
54
test/boost_no_cxx17_iterator_traits.ipp
Normal file
54
test/boost_no_cxx17_iterator_traits.ipp
Normal file
@@ -0,0 +1,54 @@
|
||||
// Copyright (c) Andrey Semashev 2017.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for most recent version.
|
||||
|
||||
// MACRO: BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
// TITLE: C++17 std::iterator_traits
|
||||
// DESCRIPTION: The compiler does not support SFINAE-friendly std::iterator_traits defined in C++17.
|
||||
|
||||
#include <iterator>
|
||||
|
||||
namespace boost_no_cxx17_iterator_traits {
|
||||
|
||||
struct iterator
|
||||
{
|
||||
typedef std::random_access_iterator_tag iterator_category;
|
||||
typedef char value_type;
|
||||
typedef std::ptrdiff_t difference_type;
|
||||
typedef char* pointer;
|
||||
typedef char& reference;
|
||||
|
||||
reference operator*()const;
|
||||
iterator operator++();
|
||||
};
|
||||
|
||||
struct non_iterator {};
|
||||
|
||||
template< typename T >
|
||||
struct void_type { typedef void type; };
|
||||
|
||||
template< typename Traits, typename Void = void >
|
||||
struct has_iterator_category
|
||||
{
|
||||
enum { value = false };
|
||||
};
|
||||
|
||||
template< typename Traits >
|
||||
struct has_iterator_category< Traits, typename void_type< typename Traits::iterator_category >::type >
|
||||
{
|
||||
enum { value = true };
|
||||
};
|
||||
|
||||
int test()
|
||||
{
|
||||
static_assert(has_iterator_category< std::iterator_traits< boost_no_cxx17_iterator_traits::iterator > >::value, "has_iterator_category failed");
|
||||
|
||||
static_assert(!has_iterator_category< std::iterator_traits< boost_no_cxx17_iterator_traits::non_iterator > >::value, "has_iterator_category negative check failed");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -28,20 +28,33 @@ template <class T>
|
||||
int test_allocator(const T& i)
|
||||
{
|
||||
typedef std::allocator<int> alloc1_t;
|
||||
#if !((__cplusplus > 201700) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700)))
|
||||
// stuff deprecated in C++17:
|
||||
typedef typename alloc1_t::size_type size_type;
|
||||
typedef typename alloc1_t::difference_type difference_type BOOST_UNUSED_ATTRIBUTE;
|
||||
typedef typename alloc1_t::pointer pointer;
|
||||
typedef typename alloc1_t::const_pointer const_pointer;
|
||||
typedef typename alloc1_t::reference reference;
|
||||
typedef typename alloc1_t::const_reference const_reference;
|
||||
#endif
|
||||
typedef typename alloc1_t::value_type value_type BOOST_UNUSED_ATTRIBUTE;
|
||||
|
||||
typedef typename alloc1_t::BOOST_NESTED_TEMPLATE rebind<double> binder_t;
|
||||
typedef typename binder_t::other alloc2_t;
|
||||
|
||||
alloc1_t a1;
|
||||
alloc1_t a2(a1);
|
||||
#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;
|
||||
typedef typename binder_t::other alloc2_t;
|
||||
alloc2_t a3(a1);
|
||||
// this chokes early versions of the MSL library
|
||||
// and isn't currently required by anything in boost
|
||||
// so don't test for now...
|
||||
// a3 = a2;
|
||||
|
||||
(void)a2;
|
||||
#endif
|
||||
|
||||
#if !((__cplusplus > 201700) || (defined(_MSVC_LANG) && (_MSVC_LANG > 201700)))
|
||||
pointer p = a1.allocate(1);
|
||||
const_pointer cp = p;
|
||||
a1.construct(p,i);
|
||||
@@ -52,15 +65,11 @@ int test_allocator(const T& i)
|
||||
if(p != a1.address(r)) return -1;
|
||||
if(cp != a1.address(cr)) return -1;
|
||||
a1.destroy(p);
|
||||
#else
|
||||
auto p = a1.allocate(1);
|
||||
#endif
|
||||
a1.deallocate(p,1);
|
||||
|
||||
alloc2_t a3(a1);
|
||||
// this chokes early versions of the MSL library
|
||||
// and isn't currently required by anything in boost
|
||||
// so don't test for now...
|
||||
// a3 = a2;
|
||||
|
||||
(void)a2;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
// See http://www.boost.org/libs/config for the most recent version.//
|
||||
// Revision $Id$
|
||||
//
|
||||
// We include this as it contains some workarounds we may need (like a declaration for ::gets to get clang building):
|
||||
#include <boost/config.hpp>
|
||||
|
||||
# include "../test/boost_has_int128.ipp"
|
||||
# include "../test/boost_no_constexpr.ipp"
|
||||
|
||||
@@ -143,18 +143,53 @@ void print_compiler_macros()
|
||||
PRINT_MACRO(_WCHAR_T_DEFINED);
|
||||
#endif
|
||||
// MSVC macros:
|
||||
PRINT_MACRO(_ALIGNED_NEW_SUPPORTED);
|
||||
PRINT_MACRO(__ATOM__);
|
||||
PRINT_MACRO(__AVX__);
|
||||
PRINT_MACRO(__AVX2__);
|
||||
PRINT_MACRO(_CHAR_UNSIGNED);
|
||||
PRINT_MACRO(_CLR_VER);
|
||||
PRINT_MACRO(_CONTROL_FLOW_GUARD);
|
||||
PRINT_MACRO(__cplusplus_cli);
|
||||
PRINT_MACRO(__cplusplus_winrt);
|
||||
PRINT_MACRO(_CPPRTTI);
|
||||
PRINT_MACRO(_CPPUNWIND);
|
||||
PRINT_MACRO(_DLL);
|
||||
PRINT_MACRO(_INLINE_VARIABLES_SUPPORTED);
|
||||
PRINT_MACRO(_ISO_VOLATILE);
|
||||
PRINT_MACRO(_M_AMD64);
|
||||
PRINT_MACRO(_M_ARM);
|
||||
PRINT_MACRO(_M_ARM_ARMV7VE);
|
||||
PRINT_MACRO(_M_ARM_FP);
|
||||
PRINT_MACRO(_M_ARM64);
|
||||
PRINT_MACRO(_M_CEE);
|
||||
PRINT_MACRO(_M_CEE_PURE);
|
||||
PRINT_MACRO(_M_CEE_SAFE);
|
||||
PRINT_MACRO(_M_FP_EXCEPT);
|
||||
PRINT_MACRO(_M_FP_FAST);
|
||||
PRINT_MACRO(_M_FP_PRECISE);
|
||||
PRINT_MACRO(_M_FP_STRICT);
|
||||
PRINT_MACRO(_M_IX86);
|
||||
PRINT_MACRO(_M_IX86_FP);
|
||||
PRINT_MACRO(_M_X64);
|
||||
PRINT_MACRO(_M_ALPHA);
|
||||
PRINT_MACRO(_M_MPPC);
|
||||
PRINT_MACRO(_M_MRX000);
|
||||
PRINT_MACRO(_M_PPC);
|
||||
PRINT_MACRO(_MANAGED);
|
||||
PRINT_MACRO(_MSC_BUILD);
|
||||
PRINT_MACRO(_MFC_VER);
|
||||
PRINT_MACRO(_MSC_EXTENSIONS);
|
||||
PRINT_MACRO(_MSC_VER);
|
||||
PRINT_MACRO(_MSC_FULL_VER);
|
||||
PRINT_MACRO(_MSVC_LANG);
|
||||
PRINT_MACRO(_MSVC_WARNING_LEVEL);
|
||||
PRINT_MACRO(__MSVC_RUNTIME_CHECKS);
|
||||
PRINT_MACRO(_MT);
|
||||
PRINT_MACRO(_NATIVE_WCHAR_T_DEFINED);
|
||||
PRINT_MACRO(_NOEXCEPT_TYPES_SUPPORTED);
|
||||
PRINT_MACRO(_OPENMP);
|
||||
PRINT_MACRO(_PREFAST_);
|
||||
// GNUC options:
|
||||
PRINT_MACRO(__GNUC__);
|
||||
PRINT_MACRO(__GNUC_MINOR__);
|
||||
@@ -193,6 +228,32 @@ void print_compiler_macros()
|
||||
PRINT_MACRO(__CYGWIN__);
|
||||
PRINT_MACRO(__MINGW32__);
|
||||
PRINT_MACRO(__GXX_RTTI);
|
||||
PRINT_MACRO(__alpha__);
|
||||
PRINT_MACRO(__amd64__);
|
||||
PRINT_MACRO(__arm__);
|
||||
PRINT_MACRO(__aarch64__);
|
||||
PRINT_MACRO(__bfin);
|
||||
PRINT_MACRO(__convex__);
|
||||
PRINT_MACRO(__epiphany__);
|
||||
PRINT_MACRO(__hppa__);
|
||||
PRINT_MACRO(__ia64__);
|
||||
PRINT_MACRO(__IA64);
|
||||
PRINT_MACRO(__IA64__);
|
||||
PRINT_MACRO(__m68k__);
|
||||
PRINT_MACRO(__mips__);
|
||||
PRINT_MACRO(__powerpc);
|
||||
PRINT_MACRO(__powerpc__);
|
||||
PRINT_MACRO(__powerpc64__);
|
||||
PRINT_MACRO(__POWERPC__);
|
||||
PRINT_MACRO(__ppc__);
|
||||
PRINT_MACRO(__ppc64__);
|
||||
PRINT_MACRO(__PPC__);
|
||||
PRINT_MACRO(__PPC64__);
|
||||
PRINT_MACRO(_ARCH_PPC);
|
||||
PRINT_MACRO(_ARCH_PPC64);
|
||||
PRINT_MACRO(__sh__);
|
||||
PRINT_MACRO(__370__);
|
||||
PRINT_MACRO(__THW_370__);
|
||||
// HP aCC:
|
||||
PRINT_MACRO(__HP_aCC);
|
||||
PRINT_MACRO(_HPACC_);
|
||||
@@ -580,10 +641,33 @@ void print_stdlib_macros()
|
||||
#endif
|
||||
// Dinkumware options:
|
||||
PRINT_MACRO(_CPPLIB_VER);
|
||||
PRINT_MACRO(_MSVC_STL_VERSION); // VS2017 15.5+
|
||||
PRINT_MACRO(_MSVC_STL_UPDATE); // VS2017 15.5+
|
||||
PRINT_MACRO(_GLOBAL_USING);
|
||||
PRINT_MACRO(_HAS_EXCEPTIONS);
|
||||
PRINT_MACRO(_HAS_MEMBER_TEMPLATES_REBIND);
|
||||
PRINT_MACRO(_HAS_TEMPLATE_PARTIAL_ORDERING);
|
||||
// https://blogs.msdn.microsoft.com/vcblog/2016/08/12/stl-fixes-in-vs-2015-update-3/
|
||||
PRINT_MACRO(_HAS_CXX17);
|
||||
PRINT_MACRO(_HAS_AUTO_PTR_ETC);
|
||||
PRINT_MACRO(_HAS_OLD_IOSTREAMS_MEMBERS);
|
||||
PRINT_MACRO(_HAS_FUNCTION_ASSIGN);
|
||||
PRINT_MACRO(_HAS_TR1_NAMESPACE);
|
||||
PRINT_MACRO(_HAS_IDENTITY_STRUCT);
|
||||
// VS2017 15.5+
|
||||
PRINT_MACRO(_HAS_STATIC_RTTI);
|
||||
PRINT_MACRO(_HAS_UNEXPECTED);
|
||||
PRINT_MACRO(_HAS_STD_BYTE);
|
||||
PRINT_MACRO(_HAS_FUNCTION_ALLOCATOR_SUPPORT);
|
||||
PRINT_MACRO(_HAS_TR2_SYS_NAMESPACE);
|
||||
PRINT_MACRO(_ENFORCE_MATCHING_ALLOCATORS);
|
||||
PRINT_MACRO(_HAS_HAS_UNIQUE_OBJECT_REPRESENTATIONS);
|
||||
PRINT_MACRO(_HAS_INLINE_VARIABLES);
|
||||
PRINT_MACRO(_HAS_ALIGNED_NEW);
|
||||
PRINT_MACRO(_HAS_NOEXCEPT_FUNCTION_TYPES);
|
||||
PRINT_MACRO(_ITERATOR_DEBUG_LEVEL);
|
||||
PRINT_MACRO(_HAS_ITERATOR_DEBUGGING);
|
||||
PRINT_MACRO(_ITERATOR_DEBUG_ARRAY_OVERLOADS);
|
||||
// Libc++:
|
||||
PRINT_MACRO(_LIBCPP_VERSION);
|
||||
// STLPort and generic SGI STL options:
|
||||
@@ -763,6 +847,7 @@ void print_stdlib_macros()
|
||||
PRINT_MACRO(_GLIBCXX_MEM_LIMITS);
|
||||
PRINT_MACRO(_GLIBCXX_HOSTED);
|
||||
PRINT_MACRO(_GLIBCXX_SJLJ_EXCEPTIONS);
|
||||
PRINT_MACRO(_GLIBCXX_RELEASE);
|
||||
|
||||
// Modena C++ standard library
|
||||
PRINT_MACRO(MSIPL_ANSI_HEADER);
|
||||
@@ -1009,6 +1094,7 @@ void print_boost_macros()
|
||||
PRINT_MACRO(BOOST_NO_CXX11_DECLTYPE);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_DECLTYPE_N3276);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_DEFAULTED_MOVES);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_DELETED_FUNCTIONS);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS);
|
||||
PRINT_MACRO(BOOST_NO_CXX11_EXTERN_TEMPLATE);
|
||||
@@ -1073,6 +1159,7 @@ void print_boost_macros()
|
||||
PRINT_MACRO(BOOST_NO_CXX14_VARIABLE_TEMPLATES);
|
||||
PRINT_MACRO(BOOST_NO_CXX17_FOLD_EXPRESSIONS);
|
||||
PRINT_MACRO(BOOST_NO_CXX17_INLINE_VARIABLES);
|
||||
PRINT_MACRO(BOOST_NO_CXX17_ITERATOR_TRAITS);
|
||||
PRINT_MACRO(BOOST_NO_CXX17_STD_APPLY);
|
||||
PRINT_MACRO(BOOST_NO_CXX17_STD_INVOKE);
|
||||
PRINT_MACRO(BOOST_NO_CXX17_STRUCTURED_BINDINGS);
|
||||
@@ -1139,10 +1226,14 @@ void print_boost_macros()
|
||||
PRINT_MACRO(BOOST_NO_USING_TEMPLATE);
|
||||
PRINT_MACRO(BOOST_NO_VOID_RETURNS);
|
||||
|
||||
|
||||
|
||||
// END GENERATED BLOCK
|
||||
|
||||
PRINT_MACRO(BOOST_INTEL);
|
||||
PRINT_MACRO(BOOST_MSVC);
|
||||
PRINT_MACRO(BOOST_GCC);
|
||||
PRINT_MACRO(BOOST_LIBSTDCXX_VERSION);
|
||||
PRINT_MACRO(BOOST_STD_EXTENSION_NAMESPACE);
|
||||
PRINT_MACRO(BOOST_UNREACHABLE_RETURN(0));
|
||||
PRINT_MACRO(BOOST_CONSTEXPR);
|
||||
@@ -1152,6 +1243,67 @@ void print_boost_macros()
|
||||
PRINT_MACRO(BOOST_FORCEINLINE);
|
||||
PRINT_MACRO(BOOST_NOINLINE);
|
||||
PRINT_MACRO(BOOST_FALLTHROUGH);
|
||||
PRINT_MACRO(BOOST_MAY_ALIAS);
|
||||
PRINT_MACRO(BOOST_NO_MAY_ALIAS);
|
||||
}
|
||||
|
||||
void print_sd6_macros()
|
||||
{
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0096r5.html
|
||||
|
||||
// C++17:
|
||||
PRINT_MACRO(__cpp_hex_float);
|
||||
PRINT_MACRO(__cpp_inline_variables);
|
||||
PRINT_MACRO(__cpp_aligned_new);
|
||||
PRINT_MACRO(__cpp_guaranteed_copy_elision);
|
||||
PRINT_MACRO(__cpp_noexcept_function_type);
|
||||
PRINT_MACRO(__cpp_fold_expressions);
|
||||
PRINT_MACRO(__cpp_capture_star_this);
|
||||
PRINT_MACRO(__cpp_constexpr);
|
||||
PRINT_MACRO(__cpp_if_constexpr);
|
||||
PRINT_MACRO(__cpp_range_based_for);
|
||||
PRINT_MACRO(__cpp_static_assert);
|
||||
PRINT_MACRO(__cpp_deduction_guides);
|
||||
PRINT_MACRO(__cpp_nontype_template_parameter_auto);
|
||||
PRINT_MACRO(__cpp_namespace_attributes);
|
||||
PRINT_MACRO(__cpp_enumerator_attributes);
|
||||
PRINT_MACRO(__cpp_inheriting_constructors);
|
||||
PRINT_MACRO(__cpp_variadic_using);
|
||||
PRINT_MACRO(__cpp_structured_bindings);
|
||||
PRINT_MACRO(__cpp_aggregate_bases);
|
||||
PRINT_MACRO(__cpp_nontype_template_args);
|
||||
PRINT_MACRO(__cpp_template_template_args);
|
||||
|
||||
// C++14:
|
||||
PRINT_MACRO(__cpp_binary_literals);
|
||||
PRINT_MACRO(__cpp_init_captures);
|
||||
PRINT_MACRO(__cpp_generic_lambdas);
|
||||
PRINT_MACRO(__cpp_sized_deallocation);
|
||||
PRINT_MACRO(__cpp_decltype_auto);
|
||||
PRINT_MACRO(__cpp_return_type_deduction);
|
||||
PRINT_MACRO(__cpp_aggregate_nsdmi);
|
||||
PRINT_MACRO(__cpp_variable_templates);
|
||||
|
||||
// C++11:
|
||||
PRINT_MACRO(__cpp_unicode_characters);
|
||||
PRINT_MACRO(__cpp_raw_strings);
|
||||
PRINT_MACRO(__cpp_unicode_literals);
|
||||
PRINT_MACRO(__cpp_user_defined_literals);
|
||||
PRINT_MACRO(__cpp_threadsafe_static_init);
|
||||
PRINT_MACRO(__cpp_lambdas);
|
||||
PRINT_MACRO(__cpp_decltype);
|
||||
PRINT_MACRO(__cpp_attributes);
|
||||
PRINT_MACRO(__cpp_rvalue_references);
|
||||
PRINT_MACRO(__cpp_variadic_templates);
|
||||
PRINT_MACRO(__cpp_initializer_lists);
|
||||
PRINT_MACRO(__cpp_delegating_constructors);
|
||||
PRINT_MACRO(__cpp_nsdmi);
|
||||
PRINT_MACRO(__cpp_ref_qualifiers);
|
||||
PRINT_MACRO(__cpp_alias_templates);
|
||||
|
||||
// C++98:
|
||||
PRINT_MACRO(__cpp_rtti);
|
||||
PRINT_MACRO(__cpp_exceptions);
|
||||
}
|
||||
|
||||
void print_separator()
|
||||
@@ -1171,6 +1323,8 @@ int main()
|
||||
print_platform_macros();
|
||||
print_separator();
|
||||
print_boost_macros();
|
||||
print_separator();
|
||||
print_sd6_macros();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// This file was automatically generated on Mon May 29 10:27:35 2017
|
||||
// This file was automatically generated on Wed Jan 03 23:31:31 2018
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-4.
|
||||
// Use, modification and distribution are subject to the
|
||||
@@ -122,6 +122,11 @@ namespace boost_no_cxx11_allocator = empty_boost;
|
||||
#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
|
||||
@@ -342,6 +347,11 @@ namespace boost_no_cxx17_fold_expressions = empty_boost;
|
||||
#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
|
||||
@@ -1256,6 +1266,11 @@ int main( int, char *[] )
|
||||
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;
|
||||
@@ -1476,6 +1491,11 @@ int main( int, char *[] )
|
||||
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;
|
||||
|
||||
18
test/header_deprecated_test.cpp
Normal file
18
test/header_deprecated_test.cpp
Normal file
@@ -0,0 +1,18 @@
|
||||
// Copyright 2017 Peter Dimov.
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
//
|
||||
// See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
#include <boost/config/header_deprecated.hpp>
|
||||
|
||||
BOOST_HEADER_DEPRECATED("<boost/config/workaround.hpp>")
|
||||
|
||||
#define ALTERNATIVE "the suitable component header"
|
||||
BOOST_HEADER_DEPRECATED(ALTERNATIVE)
|
||||
|
||||
#include <boost/config.hpp> // BOOST_STRINGIZE
|
||||
|
||||
#define HEADER <boost/config/workaround.hpp>
|
||||
BOOST_HEADER_DEPRECATED(BOOST_STRINGIZE(HEADER))
|
||||
@@ -34,6 +34,9 @@ BOOST_NORETURN void always_throw()
|
||||
throw 0;
|
||||
}
|
||||
|
||||
struct BOOST_MAY_ALIAS aliasing_struct {};
|
||||
typedef unsigned int BOOST_MAY_ALIAS aliasing_uint;
|
||||
|
||||
|
||||
#define test_fallthrough(x) foobar(x)
|
||||
|
||||
|
||||
30
test/helper_macros_test.cpp
Normal file
30
test/helper_macros_test.cpp
Normal file
@@ -0,0 +1,30 @@
|
||||
// Copyright 2017 Peter Dimov.
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
//
|
||||
// See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
#include <boost/config/helper_macros.hpp>
|
||||
#include <boost/core/lightweight_test.hpp>
|
||||
|
||||
int main()
|
||||
{
|
||||
#define X pumpkin
|
||||
|
||||
BOOST_TEST_CSTR_EQ( BOOST_STRINGIZE(X), "pumpkin" );
|
||||
BOOST_TEST_CSTR_EQ( BOOST_STRINGIZE(__LINE__), "16" );
|
||||
|
||||
#define Y 2
|
||||
|
||||
int BOOST_JOIN(X, Y) = 0;
|
||||
(void)pumpkin2;
|
||||
|
||||
int BOOST_JOIN(X, __LINE__) = 0;
|
||||
(void)pumpkin23;
|
||||
|
||||
BOOST_TEST_CSTR_EQ( BOOST_STRINGIZE(BOOST_JOIN(X, Y)), "pumpkin2" );
|
||||
BOOST_TEST_CSTR_EQ( BOOST_STRINGIZE(BOOST_JOIN(X, __LINE__)), "pumpkin27" );
|
||||
|
||||
return boost::report_errors();
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
#! /bin/bash
|
||||
#! /usr/bin/env bash
|
||||
|
||||
# copyright John Maddock 2005
|
||||
# Use, modification and distribution are subject to the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#! /bin/bash
|
||||
#! /usr/bin/env bash
|
||||
# copyright John Maddock 2005
|
||||
# Use, modification and distribution are subject to the
|
||||
# Boost Software License, Version 1.0. (See accompanying file
|
||||
|
||||
37
test/no_cxx11_defaulted_moves_fail.cpp
Normal file
37
test/no_cxx11_defaulted_moves_fail.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Wed Jan 03 23:31:30 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_CXX11_DEFAULTED_MOVES
|
||||
// This file should not compile, if it does then
|
||||
// BOOST_NO_CXX11_DEFAULTED_MOVES should not be defined.
|
||||
// See file boost_no_cxx11_defaulted_moves.ipp for details
|
||||
|
||||
// Must not have BOOST_ASSERT_CONFIG set; it defeats
|
||||
// the objective of this file:
|
||||
#ifdef BOOST_ASSERT_CONFIG
|
||||
# undef BOOST_ASSERT_CONFIG
|
||||
#endif
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include "test.hpp"
|
||||
|
||||
#ifdef BOOST_NO_CXX11_DEFAULTED_MOVES
|
||||
#include "boost_no_cxx11_defaulted_moves.ipp"
|
||||
#else
|
||||
#error "this file should not compile"
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx11_defaulted_moves::test();
|
||||
}
|
||||
|
||||
37
test/no_cxx11_defaulted_moves_pass.cpp
Normal file
37
test/no_cxx11_defaulted_moves_pass.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Wed Jan 03 23:31:30 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_CXX11_DEFAULTED_MOVES
|
||||
// This file should compile, if it does not then
|
||||
// BOOST_NO_CXX11_DEFAULTED_MOVES should be defined.
|
||||
// See file boost_no_cxx11_defaulted_moves.ipp for details
|
||||
|
||||
// Must not have BOOST_ASSERT_CONFIG set; it defeats
|
||||
// the objective of this file:
|
||||
#ifdef BOOST_ASSERT_CONFIG
|
||||
# undef BOOST_ASSERT_CONFIG
|
||||
#endif
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include "test.hpp"
|
||||
|
||||
#ifndef BOOST_NO_CXX11_DEFAULTED_MOVES
|
||||
#include "boost_no_cxx11_defaulted_moves.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx11_defaulted_moves = empty_boost;
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx11_defaulted_moves::test();
|
||||
}
|
||||
|
||||
37
test/no_cxx17_iterator_traits_fail.cpp
Normal file
37
test/no_cxx17_iterator_traits_fail.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Sun Jul 9 15:26:23 2017
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-4.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for the most recent version.//
|
||||
// Revision $Id$
|
||||
//
|
||||
|
||||
|
||||
// Test file for macro BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
// This file should not compile, if it does then
|
||||
// BOOST_NO_CXX17_ITERATOR_TRAITS should not be defined.
|
||||
// See file boost_no_cxx17_iterator_traits.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_ITERATOR_TRAITS
|
||||
#include "boost_no_cxx17_iterator_traits.ipp"
|
||||
#else
|
||||
#error "this file should not compile"
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx17_iterator_traits::test();
|
||||
}
|
||||
|
||||
37
test/no_cxx17_iterator_traits_pass.cpp
Normal file
37
test/no_cxx17_iterator_traits_pass.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
// This file was automatically generated on Sun Jul 9 15:26:23 2017
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-4.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for the most recent version.//
|
||||
// Revision $Id$
|
||||
//
|
||||
|
||||
|
||||
// Test file for macro BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
// This file should compile, if it does not then
|
||||
// BOOST_NO_CXX17_ITERATOR_TRAITS should be defined.
|
||||
// See file boost_no_cxx17_iterator_traits.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_ITERATOR_TRAITS
|
||||
#include "boost_no_cxx17_iterator_traits.ipp"
|
||||
#else
|
||||
namespace boost_no_cxx17_iterator_traits = empty_boost;
|
||||
#endif
|
||||
|
||||
int main( int, char *[] )
|
||||
{
|
||||
return boost_no_cxx17_iterator_traits::test();
|
||||
}
|
||||
|
||||
18
test/pragma_message_test.cpp
Normal file
18
test/pragma_message_test.cpp
Normal file
@@ -0,0 +1,18 @@
|
||||
// Copyright 2017 Peter Dimov.
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
//
|
||||
// See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
#include <boost/config/pragma_message.hpp>
|
||||
|
||||
BOOST_PRAGMA_MESSAGE("first message")
|
||||
|
||||
#define MSG2 "second message"
|
||||
BOOST_PRAGMA_MESSAGE(MSG2)
|
||||
|
||||
#include <boost/config.hpp> // BOOST_STRINGIZE
|
||||
|
||||
#define MSG3 third message
|
||||
BOOST_PRAGMA_MESSAGE(BOOST_STRINGIZE(MSG3))
|
||||
Reference in New Issue
Block a user