early-access version 3088

This commit is contained in:
pineappleEA
2022-11-05 15:35:56 +01:00
parent 4e4fc25ce3
commit b601909c6d
35519 changed files with 5996896 additions and 860 deletions

View File

@@ -0,0 +1,96 @@
* text=auto !eol svneol=native#text/plain
*.gitattributes text svneol=native#text/plain
# Scriptish formats
*.bat text svneol=native#text/plain
*.bsh text svneol=native#text/x-beanshell
*.cgi text svneol=native#text/plain
*.cmd text svneol=native#text/plain
*.js text svneol=native#text/javascript
*.php text svneol=native#text/x-php
*.pl text svneol=native#text/x-perl
*.pm text svneol=native#text/x-perl
*.py text svneol=native#text/x-python
*.sh eol=lf svneol=LF#text/x-sh
configure eol=lf svneol=LF#text/x-sh
# Image formats
*.bmp binary svneol=unset#image/bmp
*.gif binary svneol=unset#image/gif
*.ico binary svneol=unset#image/ico
*.jpeg binary svneol=unset#image/jpeg
*.jpg binary svneol=unset#image/jpeg
*.png binary svneol=unset#image/png
*.tif binary svneol=unset#image/tiff
*.tiff binary svneol=unset#image/tiff
*.svg text svneol=native#image/svg%2Bxml
# Data formats
*.pdf binary svneol=unset#application/pdf
*.avi binary svneol=unset#video/avi
*.doc binary svneol=unset#application/msword
*.dsp text svneol=crlf#text/plain
*.dsw text svneol=crlf#text/plain
*.eps binary svneol=unset#application/postscript
*.gz binary svneol=unset#application/gzip
*.mov binary svneol=unset#video/quicktime
*.mp3 binary svneol=unset#audio/mpeg
*.ppt binary svneol=unset#application/vnd.ms-powerpoint
*.ps binary svneol=unset#application/postscript
*.psd binary svneol=unset#application/photoshop
*.rdf binary svneol=unset#text/rdf
*.rss text svneol=unset#text/xml
*.rtf binary svneol=unset#text/rtf
*.sln text svneol=native#text/plain
*.swf binary svneol=unset#application/x-shockwave-flash
*.tgz binary svneol=unset#application/gzip
*.vcproj text svneol=native#text/xml
*.vcxproj text svneol=native#text/xml
*.vsprops text svneol=native#text/xml
*.wav binary svneol=unset#audio/wav
*.xls binary svneol=unset#application/vnd.ms-excel
*.zip binary svneol=unset#application/zip
# Text formats
.htaccess text svneol=native#text/plain
*.bbk text svneol=native#text/xml
*.cmake text svneol=native#text/plain
*.css text svneol=native#text/css
*.dtd text svneol=native#text/xml
*.htm text svneol=native#text/html
*.html text svneol=native#text/html
*.ini text svneol=native#text/plain
*.log text svneol=native#text/plain
*.mak text svneol=native#text/plain
*.qbk text svneol=native#text/plain
*.rst text svneol=native#text/plain
*.sql text svneol=native#text/x-sql
*.txt text svneol=native#text/plain
*.xhtml text svneol=native#text/xhtml%2Bxml
*.xml text svneol=native#text/xml
*.xsd text svneol=native#text/xml
*.xsl text svneol=native#text/xml
*.xslt text svneol=native#text/xml
*.xul text svneol=native#text/xul
*.yml text svneol=native#text/plain
boost-no-inspect text svneol=native#text/plain
CHANGES text svneol=native#text/plain
COPYING text svneol=native#text/plain
INSTALL text svneol=native#text/plain
Jamfile text svneol=native#text/plain
Jamroot text svneol=native#text/plain
Jamfile.v2 text svneol=native#text/plain
Jamrules text svneol=native#text/plain
Makefile* text svneol=native#text/plain
README text svneol=native#text/plain
TODO text svneol=native#text/plain
# Code formats
*.c text svneol=native#text/plain
*.cpp text svneol=native#text/plain
*.h text svneol=native#text/plain
*.hpp text svneol=native#text/plain
*.ipp text svneol=native#text/plain
*.tpp text svneol=native#text/plain
*.jam text svneol=native#text/plain
*.java text svneol=native#text/plain

View File

@@ -0,0 +1,613 @@
# Copyright 2021 Andrey Semashev
#
# 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)
name: CI
on:
pull_request:
push:
branches:
- master
- develop
- feature/**
concurrency:
group: ${{format('{0}:{1}', github.repository, github.ref)}}
cancel-in-progress: true
env:
GIT_FETCH_JOBS: 8
NET_RETRY_COUNT: 5
DEFAULT_BUILD_VARIANT: debug,release
DEFAULT_INSTRUCTION_SET: core2
jobs:
posix:
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
include:
# Note: In the matrix below, we always use a Docker container when we test 32-bit targets since the host runner
# does have permissions to configure dpkg/apt, which prevents adding i386 target architecture.
# Linux, gcc
- toolset: gcc-4.4
cxxstd64: "98,0x"
cxxstd32: "98,0x"
os: ubuntu-20.04
container: ubuntu:16.04
install:
- g++-4.4
- g++-4.4-multilib
- linux-libc-dev:i386
sources:
- "ppa:ubuntu-toolchain-r/test"
- toolset: gcc-4.6
cxxstd64: "03,0x"
cxxstd32: "03,0x"
os: ubuntu-20.04
container: ubuntu:16.04
install:
- g++-4.6
- g++-4.6-multilib
- linux-libc-dev:i386
sources:
- "ppa:ubuntu-toolchain-r/test"
- toolset: gcc-4.7
cxxstd64: "03,11"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:16.04
install:
- g++-4.7
- g++-4.7-multilib
- linux-libc-dev:i386
- toolset: gcc-4.8
cxxstd64: "03,11"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:18.04
install:
- g++-4.8
- g++-4.8-multilib
- linux-libc-dev:i386
- toolset: gcc-4.9
cxxstd64: "03,11"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:16.04
install:
- g++-4.9
- g++-4.9-multilib
- linux-libc-dev:i386
- toolset: gcc-5
cxxstd64: "03,11,14,1z"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:18.04
install:
- g++-5
- g++-5-multilib
- linux-libc-dev:i386
- toolset: gcc-6
cxxstd64: "03,11,14,1z"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:18.04
install:
- g++-6
- g++-6-multilib
- linux-libc-dev:i386
- toolset: gcc-7
cxxstd64: "03,11,14,17"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:20.04
install:
- g++-7
- g++-7-multilib
- linux-libc-dev:i386
- toolset: gcc-8
cxxstd64: "03,11,14,17,2a,03-gnu,11-gnu,14-gnu,17-gnu,2a-gnu"
cxxstd32: "03,11,03-gnu,11-gnu"
os: ubuntu-20.04
container: ubuntu:20.04
install:
- g++-8
- g++-8-multilib
- linux-libc-dev:i386
- toolset: gcc-9
cxxstd64: "03,11,14,17,2a,03-gnu,11-gnu,14-gnu,17-gnu,2a-gnu"
cxxstd32: "03,11,03-gnu,11-gnu"
os: ubuntu-20.04
container: ubuntu:20.04
install:
- g++-9
- g++-9-multilib
- linux-libc-dev:i386
- toolset: gcc-10
cxxstd64: "03,11,14,17,20,03-gnu,11-gnu,14-gnu,17-gnu,20-gnu"
cxxstd32: "03,11,03-gnu,11-gnu"
os: ubuntu-20.04
container: ubuntu:20.04
install:
- g++-10
- g++-10-multilib
- linux-libc-dev:i386
- toolset: gcc-11
cxxstd64: "03,11,14,17,20,03-gnu,11-gnu,14-gnu,17-gnu,20-gnu"
cxxstd32: "03,11,03-gnu,11-gnu"
os: ubuntu-20.04
container: ubuntu:20.04
install:
- g++-11
- g++-11-multilib
- linux-libc-dev:i386
sources:
- "ppa:ubuntu-toolchain-r/test"
- name: UBSAN
toolset: gcc-11
cxxstd64: "03,11,14,17,20,03-gnu,11-gnu,14-gnu,17-gnu,20-gnu"
cxxstd32: "03,11,03-gnu,11-gnu"
ubsan: 1
build_variant: debug
os: ubuntu-20.04
container: ubuntu:20.04
install:
- g++-11
- g++-11-multilib
- linux-libc-dev:i386
sources:
- "ppa:ubuntu-toolchain-r/test"
# Linux, clang
- toolset: clang
compiler: clang++-3.5
cxxstd64: "03,11"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:16.04
install:
- clang-3.5
- g++-4.9
- g++-4.9-multilib
- linux-libc-dev:i386
gcc_toolchain: 4.9
- toolset: clang
compiler: clang++-3.6
cxxstd64: "03,11,14"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:16.04
install:
- clang-3.6
- g++-4.9
- g++-4.9-multilib
- linux-libc-dev:i386
gcc_toolchain: 4.9
- toolset: clang
compiler: clang++-3.7
cxxstd64: "03,11,14"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:16.04
install:
- clang-3.7
- g++-4.9
- g++-4.9-multilib
- linux-libc-dev:i386
gcc_toolchain: 4.9
- toolset: clang
compiler: clang++-3.8
cxxstd64: "03,11,14"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:16.04
install:
- clang-3.8
- g++-4.9
- g++-4.9-multilib
- linux-libc-dev:i386
gcc_toolchain: 4.9
- toolset: clang
compiler: clang++-3.9
cxxstd64: "03,11,14"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:18.04
install:
- clang-3.9
- g++-6
- g++-6-multilib
- linux-libc-dev:i386
gcc_toolchain: 6
- toolset: clang
compiler: clang++-4.0
cxxstd64: "03,11,14"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:18.04
install:
- clang-4.0
- g++-6
- g++-6-multilib
- linux-libc-dev:i386
gcc_toolchain: 6
# Note: clang-5 fails int128 tests on 64-bit x86 target and float128 tests on 32-bit x86 target for some unknown reason. Does not reproduce locally.
- toolset: clang
compiler: clang++-5.0
cxxstd64: "03,11,14,1z"
cxxstd32: "03,11"
cxxflags: -DBOOST_ATOMIC_TESTS_NO_INT128 -DBOOST_ATOMIC_TESTS_NO_FLOAT128
os: ubuntu-20.04
container: ubuntu:18.04
install:
- clang-5.0
- g++-7
- g++-7-multilib
- linux-libc-dev:i386
gcc_toolchain: 7
- toolset: clang
compiler: clang++-6.0
cxxstd64: "03,11,14,17"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:18.04
install:
- clang-6.0
- g++-8
- g++-8-multilib
- linux-libc-dev:i386
gcc_toolchain: 8
- toolset: clang
compiler: clang++-7
cxxstd64: "03,11,14,17"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:18.04
install:
- clang-7
- g++-8
- g++-8-multilib
- linux-libc-dev:i386
gcc_toolchain: 8
# Note: clang-8 does not fully support C++20, so it is not compatible with libstdc++-8 in this mode
- toolset: clang
compiler: clang++-8
cxxstd64: "03,11,14,17,2a"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:18.04
install:
- clang-8
- g++-7
- g++-7-multilib
- linux-libc-dev:i386
gcc_toolchain: 7
- toolset: clang
compiler: clang++-9
cxxstd64: "03,11,14,17,2a"
cxxstd32: "03,11"
os: ubuntu-20.04
container: ubuntu:20.04
install:
- clang-9
- g++-9
- g++-9-multilib
- linux-libc-dev:i386
gcc_toolchain: 9
- toolset: clang
compiler: clang++-10
cxxstd64: "03,11,14,17,20,03-gnu,11-gnu,14-gnu,17-gnu,20-gnu"
cxxstd32: "03,11,03-gnu,11-gnu"
os: ubuntu-20.04
container: ubuntu:20.04
install:
- clang-10
- g++-10
- g++-10-multilib
- linux-libc-dev:i386
gcc_toolchain: 10
- toolset: clang
compiler: clang++-11
cxxstd64: "03,11,14,17,20,03-gnu,11-gnu,14-gnu,17-gnu,20-gnu"
cxxstd32: "03,11,03-gnu,11-gnu"
os: ubuntu-20.04
container: ubuntu:20.04
install:
- clang-11
- g++-10
- g++-10-multilib
- linux-libc-dev:i386
gcc_toolchain: 10
- toolset: clang
compiler: clang++-12
cxxstd64: "03,11,14,17,20,03-gnu,11-gnu,14-gnu,17-gnu,20-gnu"
cxxstd32: "03,11,03-gnu,11-gnu"
os: ubuntu-20.04
container: ubuntu:20.04
install:
- clang-12
- g++-10
- g++-10-multilib
- linux-libc-dev:i386
gcc_toolchain: 10
- toolset: clang
compiler: clang++-12
cxxstd64: "03,11,14,17,20"
cxxflags: -stdlib=libc++
linkflags: -stdlib=libc++
os: ubuntu-20.04
install:
- clang-12
- libc++-12-dev
- libc++abi-12-dev
- name: UBSAN
toolset: clang
compiler: clang++-12
cxxstd64: "03,11,14,17,20,03-gnu,11-gnu,14-gnu,17-gnu,20-gnu"
cxxflags: -stdlib=libc++
linkflags: -stdlib=libc++
ubsan: 1
build_variant: debug
os: ubuntu-20.04
install:
- clang-12
- libc++-12-dev
- libc++abi-12-dev
- toolset: clang
cxxstd64: "03,11,14,17,2a"
os: macos-10.15
- toolset: clang
cxxstd64: "03,11,14,17,2a"
os: macos-11
macosx_version_min: 11
- name: CMake tests
cmake_tests: 1
os: ubuntu-20.04
timeout-minutes: 120
runs-on: ${{matrix.os}}
container: ${{matrix.container}}
steps:
- name: Setup environment
run: |
if [ -f "/etc/debian_version" ]
then
echo "DEBIAN_FRONTEND=noninteractive" >> $GITHUB_ENV
export DEBIAN_FRONTEND=noninteractive
if [ -n "${{matrix.cxxstd32}}" -a "$(dpkg --print-architecture)" = "amd64" -a -z "$(dpkg --print-foreign-architectures | fgrep i386)" ]
then
dpkg --add-architecture i386
fi
fi
if [ -n "${{matrix.container}}" ]
then
echo "GHA_CONTAINER=${{matrix.container}}" >> $GITHUB_ENV
if [ -f "/etc/debian_version" ]
then
apt-get -o Acquire::Retries=$NET_RETRY_COUNT update
apt-get -o Acquire::Retries=$NET_RETRY_COUNT install -y sudo software-properties-common tzdata wget curl apt-transport-https ca-certificates make build-essential g++ python python3 perl git cmake
fi
fi
if [ -n "${{matrix.macosx_version_min}}" -a -d "/Library/Developer/CommandLineTools/SDKs" ]
then
echo "Available MacOS SDKs:"
ls "/Library/Developer/CommandLineTools/SDKs"
fi
git config --global pack.threads 0
- uses: actions/checkout@v2
- name: Install packages
if: matrix.install
run: |
declare -a SOURCE_KEYS SOURCES
if [ -n "${{join(matrix.source_keys, ' ')}}" ]
then
SOURCE_KEYS=("${{join(matrix.source_keys, '" "')}}")
fi
if [ -n "${{join(matrix.sources, ' ')}}" ]
then
SOURCES=("${{join(matrix.sources, '" "')}}")
fi
for key in "${SOURCE_KEYS[@]}"
do
for i in {1..$NET_RETRY_COUNT}
do
echo "Adding key: $key"
wget -O - "$key" | sudo apt-key add - && break || sleep 2
done
done
if [ ${#SOURCES[@]} -gt 0 ]
then
APT_ADD_REPO_COMMON_ARGS=("-y")
APT_ADD_REPO_SUPPORTED_ARGS="$(apt-add-repository --help | perl -ne 'if (/^\s*-n/) { print "n"; } elsif (/^\s*-P/) { print "P"; } elsif (/^\s*-S/) { print "S"; } elsif (/^\s*-U/) { print "U"; }')"
if [ -n "$APT_ADD_REPO_SUPPORTED_ARGS" -a -z "${APT_ADD_REPO_SUPPORTED_ARGS##*n*}" ]
then
APT_ADD_REPO_COMMON_ARGS+=("-n")
fi
APT_ADD_REPO_HAS_SOURCE_ARGS="$([ -n "$APT_ADD_REPO_SUPPORTED_ARGS" -a -z "${APT_ADD_REPO_SUPPORTED_ARGS##*P*}" -a -z "${APT_ADD_REPO_SUPPORTED_ARGS##*S*}" -a -z "${APT_ADD_REPO_SUPPORTED_ARGS##*U*}" ] && echo 1 || echo 0)"
for source in "${SOURCES[@]}"
do
for i in {1..$NET_RETRY_COUNT}
do
APT_ADD_REPO_ARGS=("${APT_ADD_REPO_COMMON_ARGS[@]}")
if [ $APT_ADD_REPO_HAS_SOURCE_ARGS -ne 0 ]
then
case "$source" in
"ppa:"*)
APT_ADD_REPO_ARGS+=("-P")
;;
"deb "*)
APT_ADD_REPO_ARGS+=("-S")
;;
*)
APT_ADD_REPO_ARGS+=("-U")
;;
esac
fi
APT_ADD_REPO_ARGS+=("$source")
echo "apt-add-repository ${APT_ADD_REPO_ARGS[@]}"
sudo -E apt-add-repository "${APT_ADD_REPO_ARGS[@]}" && break || sleep 2
done
done
fi
sudo apt-get -o Acquire::Retries=$NET_RETRY_COUNT update
sudo apt-get -o Acquire::Retries=$NET_RETRY_COUNT install -y ${{join(matrix.install, ' ')}}
- name: Setup GCC Toolchain
if: matrix.gcc_toolchain
run: |
GCC_TOOLCHAIN_ROOT="$HOME/gcc-toolchain"
echo "GCC_TOOLCHAIN_ROOT=\"$GCC_TOOLCHAIN_ROOT\"" >> $GITHUB_ENV
MULTIARCH_TRIPLET="$(dpkg-architecture -qDEB_HOST_MULTIARCH)"
mkdir -p "$GCC_TOOLCHAIN_ROOT"
ln -s /usr/include "$GCC_TOOLCHAIN_ROOT/include"
ln -s /usr/bin "$GCC_TOOLCHAIN_ROOT/bin"
mkdir -p "$GCC_TOOLCHAIN_ROOT/lib/gcc/$MULTIARCH_TRIPLET"
ln -s "/usr/lib/gcc/$MULTIARCH_TRIPLET/${{matrix.gcc_toolchain}}" "$GCC_TOOLCHAIN_ROOT/lib/gcc/$MULTIARCH_TRIPLET/${{matrix.gcc_toolchain}}"
- name: Setup Boost
run: |
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
LIBRARY=${GITHUB_REPOSITORY#*/}
echo LIBRARY: $LIBRARY
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
echo GITHUB_REF: $GITHUB_REF
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
REF=${REF#refs/heads/}
echo REF: $REF
BOOST_BRANCH=develop && [ "$REF" = "master" ] && BOOST_BRANCH=master || true
echo BOOST_BRANCH: $BOOST_BRANCH
BUILD_JOBS=$((nproc || sysctl -n hw.ncpu) 2> /dev/null)
echo "BUILD_JOBS=$BUILD_JOBS" >> $GITHUB_ENV
echo "CMAKE_BUILD_PARALLEL_LEVEL=$BUILD_JOBS" >> $GITHUB_ENV
DEPINST_ARGS=()
GIT_VERSION="$(git --version | sed -e 's/git version //')"
GIT_HAS_JOBS=1
if [ -f "/etc/debian_version" ]
then
if $(dpkg --compare-versions "$GIT_VERSION" lt 2.8.0)
then
GIT_HAS_JOBS=0
fi
else
declare -a GIT_VER=(${GIT_VERSION//./ })
declare -a GIT_MIN_VER=(2 8 0)
for ((i=0; i<${#GIT_VER[@]}; i++))
do
if [ -z "${GIT_MIN_VER[i]}" ]
then
GIT_MIN_VER[i]=0
fi
if [ "${GIT_VER[i]}" -lt "${GIT_MIN_VER[i]}" ]
then
GIT_HAS_JOBS=0
break
fi
done
fi
if [ "$GIT_HAS_JOBS" -ne 0 ]
then
DEPINST_ARGS+=("--git_args" "--jobs $GIT_FETCH_JOBS")
fi
cd ..
git clone -b "$BOOST_BRANCH" --depth 1 "https://github.com/boostorg/boost.git" "boost-root"
cd boost-root
mkdir -p libs/$LIBRARY
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
git submodule update --init tools/boostdep
DEPINST_ARGS+=("$LIBRARY")
python tools/boostdep/depinst/depinst.py "${DEPINST_ARGS[@]}"
if [ -z "${{matrix.cmake_tests}}" ]
then
./bootstrap.sh
./b2 headers
if [ -n "${{matrix.compiler}}" -o -n "$GCC_TOOLCHAIN_ROOT" ]
then
echo -n "using ${{matrix.toolset}} : : ${{matrix.compiler}}" > ~/user-config.jam
if [ -n "$GCC_TOOLCHAIN_ROOT" ]
then
echo -n " : <compileflags>\"--gcc-toolchain=$GCC_TOOLCHAIN_ROOT\" <linkflags>\"--gcc-toolchain=$GCC_TOOLCHAIN_ROOT\"" >> ~/user-config.jam
fi
echo " ;" >> ~/user-config.jam
fi
fi
- name: Run tests
if: matrix.cmake_tests == ''
run: |
cd ../boost-root
B2_ARGS=("-j" "$BUILD_JOBS" "toolset=${{matrix.toolset}}")
if [ -n "${{matrix.build_variant}}" ]
then
B2_ARGS+=("variant=${{matrix.build_variant}}")
else
B2_ARGS+=("variant=$DEFAULT_BUILD_VARIANT")
fi
if [ -n "${{matrix.ubsan}}" ]
then
export UBSAN_OPTIONS="print_stacktrace=1"
B2_ARGS+=("cxxflags=-fsanitize=undefined -fno-sanitize-recover=undefined" "linkflags=-fsanitize=undefined -fuse-ld=gold" "define=UBSAN=1" "debug-symbols=on" "visibility=global")
fi
if [ -n "${{matrix.cxxflags}}" ]
then
B2_ARGS+=("cxxflags=${{matrix.cxxflags}}")
fi
if [ -n "${{matrix.linkflags}}" ]
then
B2_ARGS+=("linkflags=${{matrix.linkflags}}")
fi
if [ -n "${{matrix.instruction_set}}" ]
then
B2_ARGS+=("instruction-set=${{matrix.instruction_set}}")
else
B2_ARGS+=("instruction-set=$DEFAULT_INSTRUCTION_SET")
fi
if [ -n "${{matrix.macosx_version_min}}" ]
then
export MACOSX_DEPLOYMENT_TARGET="${{matrix.macosx_version_min}}"
fi
if [ -n "${{matrix.cxxstd64}}" ]
then
echo ""
echo "Running 64-bit tests..."
echo "======================="
echo ""
./b2 "${B2_ARGS[@]}" "address-model=64" "cxxstd=${{matrix.cxxstd64}}" "libs/$LIBRARY/test"
fi
if [ -n "${{matrix.cxxstd32}}" ]
then
echo ""
echo "Running 32-bit tests..."
echo "======================="
echo ""
./b2 "${B2_ARGS[@]}" "address-model=32" "cxxstd=${{matrix.cxxstd32}}" "libs/$LIBRARY/test"
fi
- name: Run CMake tests
if: matrix.cmake_tests
run: |
if [ -n "${{matrix.macosx_version_min}}" ]
then
export MACOSX_DEPLOYMENT_TARGET="${{matrix.macosx_version_min}}"
fi
cd ../boost-root
mkdir __build_static__ && cd __build_static__
cmake ../libs/$LIBRARY/test/test_cmake
cmake --build . --target boost_${LIBRARY}_cmake_self_test -j $BUILD_JOBS
cd ..
mkdir __build_shared__ && cd __build_shared__
cmake -DBUILD_SHARED_LIBS=On ../libs/$LIBRARY/test/test_cmake
cmake --build . --target boost_${LIBRARY}_cmake_self_test -j $BUILD_JOBS

View File

@@ -0,0 +1,137 @@
# Copyright 2018 Mike Dev
# Copyright 2019 Peter Dimov
# Copyright 2020-2022 Andrey Semashev
# Distributed under the Boost Software License, Version 1.0.
# See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt
cmake_minimum_required(VERSION 3.5...3.16)
project(boost_atomic VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
include(CheckCXXSourceCompiles)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
# Note: We can't use the Boost::library targets in the configure checks as they may not yet be included
# by the superproject when this CMakeLists.txt is included. We also don't want to hardcode include paths
# of the needed libraries and their dependencies, recursively, as this is too fragile and requires maintenance.
# Instead, we collect include paths of all libraries and use them in the configure checks. This works faster
# if there is a unified Boost include tree in the filesystem (i.e. if `b2 headers` was run or we're in the
# official monolithic Boost distribution tree).
include(cmake/BoostLibraryIncludes.cmake)
set(boost_atomic_sources src/lock_pool.cpp)
set(CMAKE_REQUIRED_INCLUDES ${BOOST_LIBRARY_INCLUDES})
check_cxx_source_compiles("#include <${CMAKE_CURRENT_SOURCE_DIR}/../config/checks/architecture/x86.cpp>\nint main() {}" BOOST_ATOMIC_TARGET_X86)
unset(CMAKE_REQUIRED_INCLUDES)
if (BOOST_ATOMIC_TARGET_X86)
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
if (CMAKE_SIZEOF_VOID_P EQUAL 4)
set(boost_atomic_sse2_cflags "/arch:SSE2")
set(boost_atomic_sse41_cflags "/arch:SSE2")
endif()
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if (WIN32)
set(boost_atomic_sse2_cflags "/QxSSE2")
set(boost_atomic_sse41_cflags "/QxSSE4.1")
else()
set(boost_atomic_sse2_cflags "-xSSE2")
set(boost_atomic_sse41_cflags "-xSSE4.1")
endif()
else()
set(boost_atomic_sse2_cflags "-msse -msse2")
set(boost_atomic_sse41_cflags "-msse -msse2 -msse3 -mssse3 -msse4.1")
endif()
set(CMAKE_REQUIRED_INCLUDES ${BOOST_LIBRARY_INCLUDES})
set(CMAKE_REQUIRED_FLAGS "${boost_atomic_sse2_cflags}")
check_cxx_source_compiles("#include <${CMAKE_CURRENT_SOURCE_DIR}/config/has_sse2.cpp>" BOOST_ATOMIC_COMPILER_HAS_SSE2)
unset(CMAKE_REQUIRED_FLAGS)
unset(CMAKE_REQUIRED_INCLUDES)
set(CMAKE_REQUIRED_INCLUDES ${BOOST_LIBRARY_INCLUDES})
set(CMAKE_REQUIRED_FLAGS "${boost_atomic_sse41_cflags}")
check_cxx_source_compiles("#include <${CMAKE_CURRENT_SOURCE_DIR}/config/has_sse41.cpp>" BOOST_ATOMIC_COMPILER_HAS_SSE41)
unset(CMAKE_REQUIRED_FLAGS)
unset(CMAKE_REQUIRED_INCLUDES)
if (BOOST_ATOMIC_COMPILER_HAS_SSE2)
set(boost_atomic_sources_sse2 src/find_address_sse2.cpp)
set_source_files_properties(${boost_atomic_sources_sse2} PROPERTIES COMPILE_FLAGS "${boost_atomic_sse2_cflags}")
set(boost_atomic_sources ${boost_atomic_sources} ${boost_atomic_sources_sse2})
endif()
if (BOOST_ATOMIC_COMPILER_HAS_SSE41)
set(boost_atomic_sources_sse41 src/find_address_sse41.cpp)
set_source_files_properties(${boost_atomic_sources_sse41} PROPERTIES COMPILE_FLAGS "${boost_atomic_sse41_cflags}")
set(boost_atomic_sources ${boost_atomic_sources} ${boost_atomic_sources_sse41})
endif()
endif()
if (WIN32)
set(boost_atomic_sources ${boost_atomic_sources} src/wait_on_address.cpp)
endif()
if (WIN32)
# Note: We can't use the Boost::library targets here as they may not yet be included by the superproject when this CMakeLists.txt is included.
set(CMAKE_REQUIRED_INCLUDES ${BOOST_LIBRARY_INCLUDES})
set(CMAKE_REQUIRED_LIBRARIES synchronization)
check_cxx_source_compiles("#include <${CMAKE_CURRENT_SOURCE_DIR}/config/has_synchronization_lib.cpp>" BOOST_ATOMIC_HAS_SYNCHRONIZATION_LIB)
unset(CMAKE_REQUIRED_LIBRARIES)
unset(CMAKE_REQUIRED_INCLUDES)
endif()
add_library(boost_atomic ${boost_atomic_sources})
add_library(Boost::atomic ALIAS boost_atomic)
target_include_directories(boost_atomic PUBLIC include)
target_include_directories(boost_atomic PRIVATE src)
target_link_libraries(boost_atomic
PUBLIC
Boost::assert
Boost::config
Boost::static_assert
Boost::type_traits
PRIVATE
Boost::align
Boost::predef
Boost::preprocessor
Threads::Threads
)
if (WIN32)
target_link_libraries(boost_atomic
PUBLIC
Boost::winapi
)
if (BOOST_ATOMIC_HAS_SYNCHRONIZATION_LIB)
target_link_libraries(boost_atomic PUBLIC synchronization)
else()
target_compile_definitions(boost_atomic PUBLIC BOOST_ATOMIC_NO_SYNCHRONIZATION_LIB)
endif()
endif()
target_compile_definitions(boost_atomic
PUBLIC
BOOST_ATOMIC_NO_LIB
PRIVATE
BOOST_ATOMIC_SOURCE
)
if (BUILD_SHARED_LIBS)
target_compile_definitions(boost_atomic PUBLIC BOOST_ATOMIC_DYN_LINK)
else()
target_compile_definitions(boost_atomic PUBLIC BOOST_ATOMIC_STATIC_LINK)
endif()
if (BOOST_ATOMIC_COMPILER_HAS_SSE2)
target_compile_definitions(boost_atomic PRIVATE BOOST_ATOMIC_USE_SSE2)
endif()
if (BOOST_ATOMIC_COMPILER_HAS_SSE41)
target_compile_definitions(boost_atomic PRIVATE BOOST_ATOMIC_USE_SSE41)
endif()

View File

@@ -0,0 +1,180 @@
constant BOOST_VERSION : 1.79.0 ;
constant BOOST_VERSION_ABI_TAG : 1_79 ;
constant BOOST_JAMROOT_MODULE : $(__name__) ;
import boostcpp ;
import feature ;
boostcpp.set-version $(BOOST_VERSION) ;
project boost : requirements
<include>include&&"D:/a/1/s/build/vcpkg_installed/x64-windows/include"
<define>BOOST_ALL_NO_LIB=1
<tag>@$(__name__).tag
;
rule boost-install ( libraries * )
{
stagedir = [ option.get stagedir ] ;
install stage
: $(libraries)
: <location>$(stagedir)/lib ;
}
rule tag ( name : type ? : property-set )
{
return [ boostcpp.tag $(name) : $(type) : $(property-set) ] ;
}
rule python-tag ( name : type ? : property-set )
{
return [ boostcpp.python-tag $(name) : $(type) : $(property-set) ] ;
}
if "boost-atomic" != "boost-system"
{
use-project /boost/system : . ;
lib boost_system : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/lib/boost_system-vc140-mt.lib" <variant>release ;
lib boost_system : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/debug/lib/boost_system-vc140-mt-gd.lib" <variant>debug ;
explicit boost_system ;
use-project /boost : . ;
alias system : boost_system ;
}
if "boost-atomic" != "boost-chrono"
{
use-project /boost/chrono : . ;
lib boost_chrono : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/lib/boost_chrono-vc140-mt.lib" <variant>release ;
lib boost_chrono : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/debug/lib/boost_chrono-vc140-mt-gd.lib" <variant>debug ;
explicit boost_chrono ;
}
if "boost-atomic" != "boost-regex"
{
use-project /boost/regex : . ;
lib boost_regex : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/lib/boost_regex-vc140-mt.lib" <variant>release ;
lib boost_regex : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/debug/lib/boost_regex-vc140-mt-gd.lib" <variant>debug ;
explicit boost_regex ;
}
if "boost-atomic" != "boost-date-time"
{
use-project /boost/date_time : . ;
lib boost_date_time : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/lib/boost_date_time-vc140-mt.lib" <variant>release -<library>/boost/date_time//boost_date_time ;
lib boost_date_time : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/debug/lib/boost_date_time-vc140-mt-gd.lib" <variant>debug -<library>/boost/date_time//boost_date_time ;
explicit boost_date_time ;
}
if "boost-atomic" != "boost-thread"
{
use-project /boost/thread : . ;
lib boost_thread : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/lib/boost_thread-vc140-mt.lib" <variant>release : : <library>/boost/date_time//boost_date_time ;
lib boost_thread : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/debug/lib/boost_thread-vc140-mt-gd.lib" <variant>debug : : <library>/boost/date_time//boost_date_time ;
explicit boost_thread ;
}
if "boost-atomic" != "boost-timer"
{
use-project /boost/timer : . ;
lib boost_timer : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/lib/boost_timer-vc140-mt.lib" <variant>release ;
lib boost_timer : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/debug/lib/boost_timer-vc140-mt-gd.lib" <variant>debug ;
explicit boost_timer ;
}
if "boost-atomic" != "boost-filesystem"
{
use-project /boost/filesystem : . ;
lib boost_filesystem : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/lib/boost_filesystem-vc140-mt.lib" <variant>release : : <library>/boost/system//boost_system ;
lib boost_filesystem : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/debug/lib/boost_filesystem-vc140-mt-gd.lib" <variant>debug : : <library>/boost/system//boost_system ;
explicit boost_filesystem ;
}
if "boost-atomic" != "boost-atomic"
{
use-project /boost/atomic : . ;
lib boost_atomic : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/lib/boost_atomic-vc140-mt.lib" <variant>release ;
lib boost_atomic : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/debug/lib/boost_atomic-vc140-mt-gd.lib" <variant>debug ;
explicit boost_atomic ;
}
if "boost-atomic" != "boost-context"
{
feature.feature segmented-stacks : on : optional propagated composite ;
feature.compose <segmented-stacks>on : <define>BOOST_USE_SEGMENTED_STACKS ;
use-project /boost/context : . ;
lib boost_context : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/lib/boost_context-vc140-mt.lib" <variant>release ;
lib boost_context : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/debug/lib/boost_context-vc140-mt-gd.lib" <variant>debug ;
explicit boost_context ;
}
if "boost-atomic" != "boost-test"
{
use-project /boost/test : . ;
lib boost_unit_test_framework : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/lib/boost_unit_test_framework-vc140-mt.lib" <variant>release ;
lib boost_unit_test_framework : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/debug/lib/boost_unit_test_framework-vc140-mt-gd.lib" <variant>debug ;
explicit boost_unit_test_framework ;
}
if "boost-atomic" != "boost-serialization"
{
use-project /boost/serialization : . ;
lib boost_serialization : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/lib/boost_serialization-vc140-mt.lib" <variant>release ;
lib boost_serialization : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/debug/lib/boost_serialization-vc140-mt-gd.lib" <variant>debug ;
explicit boost_serialization ;
}
if "boost-atomic" != "boost-mpi"
{
use-project /boost/mpi : . ;
lib boost_mpi : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/lib/boost_mpi-vc140-mt.lib" <variant>release : : <library>/boost/serialization//boost_serialization ;
lib boost_mpi : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/debug/lib/boost_mpi-vc140-mt-gd.lib" <variant>debug : : <library>/boost/serialization//boost_serialization ;
explicit boost_mpi ;
}
if "boost-atomic" != "boost-container"
{
use-project /boost/container : . ;
lib boost_container : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/lib/boost_container-vc140-mt.lib" <variant>release ;
lib boost_container : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/debug/lib/boost_container-vc140-mt-gd.lib" <variant>debug ;
explicit boost_container ;
}
if "boost-atomic" != "boost-python"
{
use-project /boost/python : . ;
lib boost_python : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/lib/boost_python-vc140-mt.lib" <variant>release ;
lib boost_python : : <file>"D:/a/1/s/build/vcpkg_installed/x64-windows/debug/lib/boost_python-vc140-mt-gd.lib" <variant>debug ;
explicit boost_python ;
}
rule requires ( foo * )
{
}
rule boost-lib ( name : sources * : requirements * : default-build * : usage-requirements * )
{
name = boost_$(name) ;
lib $(name) : $(sources) : $(requirements) : $(default-build) : $(usage-requirements) ;
boost-install $(name) ;
}
use-project /boost/boost-atomic : build ;
build-project build ;

View File

@@ -0,0 +1,28 @@
# ![Boost.Atomic](doc/logo.png)
Boost.Atomic, part of collection of the [Boost C++ Libraries](https://github.com/boostorg), implements atomic operations for various CPU architectures, reflecting and extending the standard interface defined in C++11 and later.
### Directories
* **build** - Boost.Atomic build scripts
* **doc** - QuickBook documentation sources
* **include** - Interface headers of Boost.Atomic
* **src** - Compilable source code of Boost.Atomic
* **test** - Boost.Atomic unit tests
### More information
* [Documentation](https://www.boost.org/libs/atomic)
* [Report bugs](https://github.com/boostorg/atomic/issues/new). Be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well.
* Submit your patches as [pull requests](https://github.com/boostorg/atomic/compare) against **develop** branch. Note that by submitting patches you agree to license your modifications under the [Boost Software License, Version 1.0](https://www.boost.org/LICENSE_1_0.txt).
### Build status
Branch | GitHub Actions | AppVeyor | Test Matrix | Dependencies |
:-------------: | -------------- | -------- | ----------- | ------------ |
[`master`](https://github.com/boostorg/atomic/tree/master) | [![GitHub Actions](https://github.com/boostorg/atomic/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/boostorg/atomic/actions?query=branch%3Amaster) | [![AppVeyor](https://ci.appveyor.com/api/projects/status/c64xu59bydnmb7kt/branch/master?svg=true)](https://ci.appveyor.com/project/Lastique/atomic/branch/master) | [![Tests](https://img.shields.io/badge/matrix-master-brightgreen.svg)](http://www.boost.org/development/tests/master/developer/atomic.html) | [![Dependencies](https://img.shields.io/badge/deps-master-brightgreen.svg)](https://pdimov.github.io/boostdep-report/master/atomic.html)
[`develop`](https://github.com/boostorg/atomic/tree/develop) | [![GitHub Actions](https://github.com/boostorg/atomic/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/boostorg/atomic/actions?query=branch%3Adevelop) | [![AppVeyor](https://ci.appveyor.com/api/projects/status/c64xu59bydnmb7kt/branch/develop?svg=true)](https://ci.appveyor.com/project/Lastique/atomic/branch/develop) | [![Tests](https://img.shields.io/badge/matrix-develop-brightgreen.svg)](http://www.boost.org/development/tests/develop/developer/atomic.html) | [![Dependencies](https://img.shields.io/badge/deps-develop-brightgreen.svg)](https://pdimov.github.io/boostdep-report/develop/atomic.html)
### License
Distributed under the [Boost Software License, Version 1.0](https://www.boost.org/LICENSE_1_0.txt).

View File

@@ -0,0 +1,175 @@
# Copyright 2016, 2017 Peter Dimov
# Copyright 2018-2019 Andrey Semashev
# 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)
version: 1.0.{build}-{branch}
shallow_clone: true
branches:
only:
- master
- develop
- /feature\/.*/
environment:
matrix:
# AppVeyor doesn't provide 64-bit compilers for these MSVC versions
# - TOOLSET: msvc-9.0
# ADDRESS_MODEL: 64
# B2_ARGS: instruction-set=core2
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# - TOOLSET: msvc-10.0
# ADDRESS_MODEL: 64
# B2_ARGS: instruction-set=core2
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# - TOOLSET: msvc-11.0
# ADDRESS_MODEL: 64
# B2_ARGS: instruction-set=core2
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-12.0
ADDRESS_MODEL: 64
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-14.0
ADDRESS_MODEL: 64
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-14.1
ADDRESS_MODEL: 64
CXXSTD: 14,17
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: msvc-14.2
ADDRESS_MODEL: 64
CXXSTD: 14,17
B2_ARGS: instruction-set=core2 define=_WIN32_WINNT=0x0602
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
- TOOLSET: clang-win
ADDRESS_MODEL: 64
CXXSTD: 14,17
B2_ARGS: instruction-set=core2 cxxflags="-mcx16"
ENV_SCRIPT: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
- TOOLSET: gcc
ADDRESS_MODEL: 64
CXXSTD: 03,11,03-gnu,11-gnu
ADDPATH: C:\cygwin64\bin
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: gcc
ADDRESS_MODEL: 64
CXXSTD: 03,11,14,03-gnu,11-gnu,14-gnu
ADDPATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: gcc
ADDRESS_MODEL: 64
CXXSTD: 03,11,14,17,03-gnu,11-gnu,14-gnu,17-gnu
ADDPATH: C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: gcc
ADDRESS_MODEL: 64
CXXSTD: 03,11,14,17,2a,03-gnu,11-gnu,14-gnu,17-gnu,2a-gnu
ADDPATH: C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-9.0
ADDRESS_MODEL: 32
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-10.0
ADDRESS_MODEL: 32
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-11.0
ADDRESS_MODEL: 32
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-12.0
ADDRESS_MODEL: 32
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-14.0
ADDRESS_MODEL: 32
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: msvc-14.1
ADDRESS_MODEL: 32
CXXSTD: 14,17
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: msvc-14.2
ADDRESS_MODEL: 32
CXXSTD: 14,17
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
- TOOLSET: clang-win
ADDRESS_MODEL: 32
CXXSTD: 14,17
B2_ARGS: instruction-set=core2
ENV_SCRIPT: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
- TOOLSET: gcc
ADDRESS_MODEL: 32
CXXSTD: 03,11,03-gnu,11-gnu
ADDPATH: C:\cygwin\bin
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: gcc
ADDRESS_MODEL: 32
CXXSTD: 03,11,03-gnu,11-gnu
ADDPATH: C:\mingw\bin
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: gcc
ADDRESS_MODEL: 32
CXXSTD: 03,11,14,03-gnu,11-gnu,14-gnu
ADDPATH: C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw32\bin
B2_ARGS: instruction-set=core2
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TEST_CMAKE: 1
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
install:
- set GIT_FETCH_JOBS=8
- set BOOST_BRANCH=develop
- if "%APPVEYOR_REPO_BRANCH%" == "master" set BOOST_BRANCH=master
- cd ..
- git clone -b %BOOST_BRANCH% https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule init tools/boostdep
- git submodule init tools/build
- git submodule init tools/boost_install
- git submodule init libs/headers
- git submodule init libs/config
- git submodule update --jobs %GIT_FETCH_JOBS%
- xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\atomic
- python tools/boostdep/depinst/depinst.py --git_args "--jobs %GIT_FETCH_JOBS%" atomic
- cmd /c bootstrap
- b2 -d0 headers
build: off
test_script:
- PATH=%ADDPATH%;%PATH%
- if not "%ENV_SCRIPT%" == "" call "%ENV_SCRIPT%"
- if not "%CXXSTD%" == "" set CXXSTD=cxxstd=%CXXSTD%
- b2 -j %NUMBER_OF_PROCESSORS% libs/atomic/test variant=release toolset=%TOOLSET% address-model=%ADDRESS_MODEL% %CXXSTD% %B2_ARGS%
for:
- matrix:
only: [TEST_CMAKE: 1]
test_script:
- mkdir __build_static__
- cd __build_static__
- cmake ../libs/atomic/test/test_cmake
- cmake --build . --target boost_atomic_cmake_self_test -j %NUMBER_OF_PROCESSORS%
- cd ..
- mkdir __build_shared__
- cd __build_shared__
- cmake -DBUILD_SHARED_LIBS=On ../libs/atomic/test/test_cmake
- cmake --build . --target boost_atomic_cmake_self_test -j %NUMBER_OF_PROCESSORS%

View File

@@ -0,0 +1,147 @@
# Boost.Atomic Library Jamfile
#
# Copyright Helge Bahmann 2011.
# Copyright Andrey Semashev 2018, 2020-2021.
#
# 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)
import common ;
import path ;
import project ;
import feature ;
import configure ;
import atomic-arch-config ;
local here = [ modules.binding $(__name__) ] ;
project.push-current [ project.current ] ;
project.load [ path.join [ path.make $(here:D) ] ../config/checks/architecture ] ;
project.pop-current ;
lib synchronization ;
explicit synchronization ;
rule check-synchronization-lib ( properties * )
{
local result ;
if <target-os>windows in $(properties)
{
if [ configure.builds ../config//has_synchronization_lib : $(properties) : "has synchronization.lib" ]
{
result += <library>synchronization ;
}
else
{
result += <define>BOOST_ATOMIC_NO_SYNCHRONIZATION_LIB ;
}
}
return $(result) ;
}
project boost/atomic
: requirements
<include>../src
<threading>multi
<link>shared:<define>BOOST_ATOMIC_DYN_LINK=1
<link>static:<define>BOOST_ATOMIC_STATIC_LINK=1
<define>BOOST_ATOMIC_SOURCE
<target-os>windows:<define>BOOST_USE_WINDOWS_H
<toolset>gcc,<target-os>windows:<linkflags>"-lkernel32"
: usage-requirements
<link>shared:<define>BOOST_ATOMIC_DYN_LINK=1
<link>static:<define>BOOST_ATOMIC_STATIC_LINK=1
: source-location ../src
;
BOOST_ATOMIC_SOURCES_SSE2 =
find_address_sse2
;
BOOST_ATOMIC_SOURCES_SSE41 =
find_address_sse41
;
for local src in $(BOOST_ATOMIC_SOURCES_SSE2)
{
obj $(src)
: ## sources ##
$(src).cpp
: ## requirements ##
<conditional>@atomic-arch-config.sse2-flags
<link>shared:<define>BOOST_ATOMIC_DYN_LINK=1
<link>static:<define>BOOST_ATOMIC_STATIC_LINK=1
<define>BOOST_ATOMIC_SOURCE
;
explicit $(src) ;
}
for local src in $(BOOST_ATOMIC_SOURCES_SSE41)
{
obj $(src)
: ## sources ##
$(src).cpp
: ## requirements ##
<conditional>@atomic-arch-config.sse41-flags
<link>shared:<define>BOOST_ATOMIC_DYN_LINK=1
<link>static:<define>BOOST_ATOMIC_STATIC_LINK=1
<define>BOOST_ATOMIC_SOURCE
;
explicit $(src) ;
}
rule select-arch-specific-sources ( properties * )
{
local result ;
if x86 in [ atomic-arch-config.deduce-architecture $(properties) ]
{
if [ configure.builds ../config//has_sse2 : $(properties) : "compiler supports SSE2" ]
{
result += <source>$(BOOST_ATOMIC_SOURCES_SSE2) ;
result += <define>BOOST_ATOMIC_USE_SSE2 ;
}
if [ configure.builds ../config//has_sse41 : $(properties) : "compiler supports SSE4.1" ]
{
result += <source>$(BOOST_ATOMIC_SOURCES_SSE41) ;
result += <define>BOOST_ATOMIC_USE_SSE41 ;
}
}
# ECHO "Arch sources: " $(result) ;
return $(result) ;
}
rule select-platform-specific-sources ( properties * )
{
local result ;
if <target-os>windows in $(properties)
{
result += <source>wait_on_address.cpp ;
}
# ECHO Platform sources: $(result) ;
return $(result) ;
}
lib boost_atomic
: ## sources ##
lock_pool.cpp
: ## requirements ##
<include>../src
<conditional>@select-arch-specific-sources
<conditional>@select-platform-specific-sources
: usage-requirements
<conditional>@check-synchronization-lib
;
boost-install boost_atomic ;

View File

@@ -0,0 +1,127 @@
#
# Copyright Andrey Semashev 2020.
# 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)
#
# This jamfile contains utility rules to select architecture-specific compiler flags
import common ;
import feature ;
import configure ;
rule deduce-architecture ( properties * )
{
local architecture = [ feature.get-values "architecture" : $(properties) ] ;
if $(architecture)
{
return $(architecture) ;
}
else
{
if [ configure.builds /boost/architecture//x86 : $(properties) : "x86" ]
{
return x86 ;
}
else if [ configure.builds /boost/architecture//arm : $(properties) : "arm" ]
{
return arm ;
}
else if [ configure.builds /boost/architecture//mips1 : $(properties) : "mips1" ]
{
return mips1 ;
}
else if [ configure.builds /boost/architecture//power : $(properties) : "power" ]
{
return power ;
}
else if [ configure.builds /boost/architecture//sparc : $(properties) : "sparc" ]
{
return sparc ;
}
}
}
rule deduce-address-model ( properties * )
{
local address_model = [ feature.get-values "address-model" : $(properties) ] ;
if $(address_model)
{
return $(address_model) ;
}
else
{
if [ configure.builds /boost/architecture//32 : $(properties) : "32-bit" ]
{
return 32 ;
}
else if [ configure.builds /boost/architecture//64 : $(properties) : "64-bit" ]
{
return 64 ;
}
}
}
rule sse2-flags ( properties * )
{
local result ;
if <toolset>intel in $(properties)
{
if <toolset-intel:platform>win in $(properties)
{
result = <cxxflags>"/QxSSE2" ;
}
else
{
result = <cxxflags>"-xSSE2" ;
}
}
else if <toolset>msvc in $(properties)
{
# MSVC doesn't really care about these switches, all SSE intrinsics are always available, but still...
# Also 64 bit MSVC doesn't have the /arch:SSE2 switch as it is the default.
if 32 in [ deduce-address-model $(properties) ]
{
result = <cxxflags>"/arch:SSE2" ;
}
}
else
{
result = <cxxflags>"-msse -msse2" ;
}
return $(result) ;
}
rule sse41-flags ( properties * )
{
local result ;
if <toolset>intel in $(properties)
{
if <toolset-intel:platform>win in $(properties)
{
result = <cxxflags>"/QxSSE4.1" ;
}
else
{
result = <cxxflags>"-xSSE4.1" ;
}
}
else if <toolset>msvc in $(properties)
{
# MSVC doesn't really care about these switches, all SSE intrinsics are always available, but still...
# Also 64 bit MSVC doesn't have the /arch:SSE2 switch as it is the default.
if 32 in [ deduce-address-model $(properties) ]
{
result = <cxxflags>"/arch:SSE2" ;
}
}
else
{
result = <cxxflags>"-msse -msse2 -msse3 -mssse3 -msse4.1" ;
}
return $(result) ;
}

View File

@@ -0,0 +1,37 @@
# Copyright 2022 Andrey Semashev
#
# 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
#
# After including this module, BOOST_LIBRARY_INCLUDES variable is set to the list of include
# directories for all Boost libraries. If the monolithic include directory is found, it is
# used instead.
if (NOT CMAKE_VERSION VERSION_LESS 3.10)
include_guard()
endif()
# Generates a list of include paths for all Boost libraries in \a result variable. Uses unified Boost include tree, if available.
function(generate_boost_include_paths result)
if (IS_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/../../../boost" AND EXISTS "${CMAKE_CURRENT_LIST_DIR}/../../../boost/version.hpp")
get_filename_component(include_dir "${CMAKE_CURRENT_LIST_DIR}/../../.." ABSOLUTE)
set(${result} "${include_dir}" PARENT_SCOPE)
return()
endif()
file(GLOB path_list LIST_DIRECTORIES True "${CMAKE_CURRENT_LIST_DIR}/../../../libs/*")
foreach(path IN LISTS path_list)
if (IS_DIRECTORY "${path}/include")
get_filename_component(include_dir "${path}/include" ABSOLUTE)
list(APPEND include_list "${include_dir}")
endif()
endforeach()
set(${result} ${include_list} PARENT_SCOPE)
endfunction()
if (NOT DEFINED BOOST_LIBRARY_INCLUDES)
generate_boost_include_paths(__BOOST_LIBRARY_INCLUDES)
# Save the paths in a global property to avoid scanning the filesystem if this module is used in multiple libraries
set(BOOST_LIBRARY_INCLUDES ${__BOOST_LIBRARY_INCLUDES} CACHE INTERNAL "List of all Boost library include paths")
unset(__BOOST_LIBRARY_INCLUDES)
# message(STATUS "Boost library includes: ${BOOST_LIBRARY_INCLUDES}")
endif()

View File

@@ -0,0 +1,20 @@
#
# Copyright Andrey Semashev 2020.
# 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)
#
import atomic-arch-config ;
lib synchronization ;
explicit synchronization ;
exe has_synchronization_lib : has_synchronization_lib.cpp : <library>synchronization ;
explicit has_synchronization_lib ;
obj has_sse2 : has_sse2.cpp : <conditional>@atomic-arch-config.sse2-flags ;
explicit has_sse2 ;
obj has_sse41 : has_sse41.cpp : <conditional>@atomic-arch-config.sse41-flags ;
explicit has_sse41 ;

View File

@@ -0,0 +1,511 @@
#
# *** DO NOT EDIT THIS FILE BY HAND ***
# This file was automatically generated on Thu Feb 3 18:10:41 2022
# by libs/config/tools/generate.cpp
# Copyright John Maddock.
# Use, modification and distribution are subject to the
# Boost Software License, Version 1.0. (See accompanying file
# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
import modules ;
import path ;
obj two_arg_use_facet : test_case.cpp : <define>TEST_BOOST_HAS_TWO_ARG_USE_FACET ;
obj bethreads : test_case.cpp : <define>TEST_BOOST_HAS_BETHREADS ;
obj clock_gettime : test_case.cpp : <define>TEST_BOOST_HAS_CLOCK_GETTIME ;
obj pragma_detect_mismatch : test_case.cpp : <define>TEST_BOOST_HAS_PRAGMA_DETECT_MISMATCH ;
obj dirent_h : test_case.cpp : <define>TEST_BOOST_HAS_DIRENT_H ;
obj expm1 : test_case.cpp : <define>TEST_BOOST_HAS_EXPM1 ;
obj float128 : test_case.cpp : <define>TEST_BOOST_HAS_FLOAT128 ;
obj ftime : test_case.cpp : <define>TEST_BOOST_HAS_FTIME ;
obj getsystemtimeasfiletime : test_case.cpp : <define>TEST_BOOST_HAS_GETSYSTEMTIMEASFILETIME ;
obj gettimeofday : test_case.cpp : <define>TEST_BOOST_HAS_GETTIMEOFDAY ;
obj hash : test_case.cpp : <define>TEST_BOOST_HAS_HASH ;
obj int128 : test_case.cpp : <define>TEST_BOOST_HAS_INT128 ;
obj log1p : test_case.cpp : <define>TEST_BOOST_HAS_LOG1P ;
obj long_long : test_case.cpp : <define>TEST_BOOST_HAS_LONG_LONG ;
obj macro_use_facet : test_case.cpp : <define>TEST_BOOST_HAS_MACRO_USE_FACET ;
obj ms_int64 : test_case.cpp : <define>TEST_BOOST_HAS_MS_INT64 ;
obj nanosleep : test_case.cpp : <define>TEST_BOOST_HAS_NANOSLEEP ;
obj nl_types_h : test_case.cpp : <define>TEST_BOOST_HAS_NL_TYPES_H ;
obj nrvo : test_case.cpp : <define>TEST_BOOST_HAS_NRVO ;
obj partial_std_allocator : test_case.cpp : <define>TEST_BOOST_HAS_PARTIAL_STD_ALLOCATOR ;
obj pthread_delay_np : test_case.cpp : <define>TEST_BOOST_HAS_PTHREAD_DELAY_NP ;
obj pthread_mutexattr_settype : test_case.cpp : <define>TEST_BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE ;
obj pthread_yield : test_case.cpp : <define>TEST_BOOST_HAS_PTHREAD_YIELD ;
obj pthreads : test_case.cpp : <define>TEST_BOOST_HAS_PTHREADS ;
obj rvalue_refs : test_case.cpp : <define>TEST_BOOST_HAS_RVALUE_REFS ;
obj sched_yield : test_case.cpp : <define>TEST_BOOST_HAS_SCHED_YIELD ;
obj sgi_type_traits : test_case.cpp : <define>TEST_BOOST_HAS_SGI_TYPE_TRAITS ;
obj sigaction : test_case.cpp : <define>TEST_BOOST_HAS_SIGACTION ;
obj slist : test_case.cpp : <define>TEST_BOOST_HAS_SLIST ;
obj static_assert : test_case.cpp : <define>TEST_BOOST_HAS_STATIC_ASSERT ;
obj stdint_h : test_case.cpp : <define>TEST_BOOST_HAS_STDINT_H ;
obj stlp_use_facet : test_case.cpp : <define>TEST_BOOST_HAS_STLP_USE_FACET ;
obj unistd_h : test_case.cpp : <define>TEST_BOOST_HAS_UNISTD_H ;
obj variadic_tmpl : test_case.cpp : <define>TEST_BOOST_HAS_VARIADIC_TMPL ;
obj boost_msvc6_member_templates : test_case.cpp : <define>TEST_BOOST_MSVC6_MEMBER_TEMPLATES ;
obj boost_msvc_std_iterator : test_case.cpp : <define>TEST_BOOST_MSVC_STD_ITERATOR ;
obj winthreads : test_case.cpp : <define>TEST_BOOST_HAS_WINTHREADS ;
obj adl_barrier : test_case.cpp : <define>TEST_BOOST_NO_ADL_BARRIER ;
obj argument_dependent_lookup : test_case.cpp : <define>TEST_BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ;
obj array_type_specializations : test_case.cpp : <define>TEST_BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS ;
obj cxx11_auto_declarations : test_case.cpp : <define>TEST_BOOST_NO_CXX11_AUTO_DECLARATIONS ;
obj cxx11_auto_multideclarations : test_case.cpp : <define>TEST_BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS ;
obj auto_ptr : test_case.cpp : <define>TEST_BOOST_NO_AUTO_PTR ;
obj boost_bcb_partial_specialization_bug : test_case.cpp : <define>TEST_BOOST_BCB_PARTIAL_SPECIALIZATION_BUG ;
obj cxx11_char16_t : test_case.cpp : <define>TEST_BOOST_NO_CXX11_CHAR16_T ;
obj cxx11_char32_t : test_case.cpp : <define>TEST_BOOST_NO_CXX11_CHAR32_T ;
obj complete_value_initialization : test_case.cpp : <define>TEST_BOOST_NO_COMPLETE_VALUE_INITIALIZATION ;
obj cxx11_constexpr : test_case.cpp : <define>TEST_BOOST_NO_CXX11_CONSTEXPR ;
obj ctype_functions : test_case.cpp : <define>TEST_BOOST_NO_CTYPE_FUNCTIONS ;
obj cv_specializations : test_case.cpp : <define>TEST_BOOST_NO_CV_SPECIALIZATIONS ;
obj cv_void_specializations : test_case.cpp : <define>TEST_BOOST_NO_CV_VOID_SPECIALIZATIONS ;
obj cwchar : test_case.cpp : <define>TEST_BOOST_NO_CWCHAR ;
obj cwctype : test_case.cpp : <define>TEST_BOOST_NO_CWCTYPE ;
obj cxx03 : test_case.cpp : <define>TEST_BOOST_NO_CXX03 ;
obj cxx11 : test_case.cpp : <define>TEST_BOOST_NO_CXX11 ;
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_hdr_exception : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_EXCEPTION ;
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 ;
obj cxx11_hdr_chrono : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_CHRONO ;
obj cxx11_hdr_codecvt : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_CODECVT ;
obj cxx11_hdr_condition_variable : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_CONDITION_VARIABLE ;
obj cxx11_hdr_forward_list : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_FORWARD_LIST ;
obj cxx11_hdr_future : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_FUTURE ;
obj cxx11_hdr_initializer_list : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_INITIALIZER_LIST ;
obj cxx11_hdr_mutex : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_MUTEX ;
obj cxx11_hdr_random : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_RANDOM ;
obj cxx11_hdr_ratio : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_RATIO ;
obj cxx11_hdr_regex : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_REGEX ;
obj cxx11_hdr_system_error : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_SYSTEM_ERROR ;
obj cxx11_hdr_thread : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_THREAD ;
obj cxx11_hdr_tuple : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_TUPLE ;
obj cxx11_hdr_type_traits : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_TYPE_TRAITS ;
obj cxx11_hdr_typeindex : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_TYPEINDEX ;
obj cxx11_hdr_unordered_map : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_UNORDERED_MAP ;
obj cxx11_hdr_unordered_set : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_UNORDERED_SET ;
obj cxx11_inline_namespaces : test_case.cpp : <define>TEST_BOOST_NO_CXX11_INLINE_NAMESPACES ;
obj cxx11_non_public_defaulted_functions : test_case.cpp : <define>TEST_BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS ;
obj cxx11_numeric_limits : test_case.cpp : <define>TEST_BOOST_NO_CXX11_NUMERIC_LIMITS ;
obj cxx11_override : test_case.cpp : <define>TEST_BOOST_NO_CXX11_OVERRIDE ;
obj cxx11_pointer_traits : test_case.cpp : <define>TEST_BOOST_NO_CXX11_POINTER_TRAITS ;
obj cxx11_ref_qualifiers : test_case.cpp : <define>TEST_BOOST_NO_CXX11_REF_QUALIFIERS ;
obj cxx11_sfinae_expr : test_case.cpp : <define>TEST_BOOST_NO_CXX11_SFINAE_EXPR ;
obj cxx11_smart_ptr : test_case.cpp : <define>TEST_BOOST_NO_CXX11_SMART_PTR ;
obj cxx11_std_align : test_case.cpp : <define>TEST_BOOST_NO_CXX11_STD_ALIGN ;
obj cxx11_thread_local : test_case.cpp : <define>TEST_BOOST_NO_CXX11_THREAD_LOCAL ;
obj cxx11_trailing_result_types : test_case.cpp : <define>TEST_BOOST_NO_CXX11_TRAILING_RESULT_TYPES ;
obj cxx11_unrestricted_union : test_case.cpp : <define>TEST_BOOST_NO_CXX11_UNRESTRICTED_UNION ;
obj cxx11_user_defined_literals : test_case.cpp : <define>TEST_BOOST_NO_CXX11_USER_DEFINED_LITERALS ;
obj cxx14 : test_case.cpp : <define>TEST_BOOST_NO_CXX14 ;
obj cxx14_binary_literals : test_case.cpp : <define>TEST_BOOST_NO_CXX14_BINARY_LITERALS ;
obj cxx14_constexpr : test_case.cpp : <define>TEST_BOOST_NO_CXX14_CONSTEXPR ;
obj cxx14_decltype_auto : test_case.cpp : <define>TEST_BOOST_NO_CXX14_DECLTYPE_AUTO ;
obj cxx14_digit_separators : test_case.cpp : <define>TEST_BOOST_NO_CXX14_DIGIT_SEPARATORS ;
obj cxx14_generic_lambdas : test_case.cpp : <define>TEST_BOOST_NO_CXX14_GENERIC_LAMBDAS ;
obj cxx14_hdr_shared_mutex : test_case.cpp : <define>TEST_BOOST_NO_CXX14_HDR_SHARED_MUTEX ;
obj cxx14_initialized_lambda_captures : test_case.cpp : <define>TEST_BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES ;
obj cxx14_aggregate_nsdmi : test_case.cpp : <define>TEST_BOOST_NO_CXX14_AGGREGATE_NSDMI ;
obj cxx14_return_type_deduction : test_case.cpp : <define>TEST_BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION ;
obj cxx14_std_exchange : test_case.cpp : <define>TEST_BOOST_NO_CXX14_STD_EXCHANGE ;
obj cxx14_variable_templates : test_case.cpp : <define>TEST_BOOST_NO_CXX14_VARIABLE_TEMPLATES ;
obj cxx17 : test_case.cpp : <define>TEST_BOOST_NO_CXX17 ;
obj cxx17_fold_expressions : test_case.cpp : <define>TEST_BOOST_NO_CXX17_FOLD_EXPRESSIONS ;
obj cxx17_hdr_any : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_ANY ;
obj cxx17_hdr_charconv : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_CHARCONV ;
obj cxx17_hdr_execution : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_EXECUTION ;
obj cxx17_hdr_filesystem : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_FILESYSTEM ;
obj cxx17_hdr_memory_resource : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_MEMORY_RESOURCE ;
obj cxx17_hdr_optional : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_OPTIONAL ;
obj cxx17_hdr_string_view : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_STRING_VIEW ;
obj cxx17_hdr_variant : test_case.cpp : <define>TEST_BOOST_NO_CXX17_HDR_VARIANT ;
obj cxx17_if_constexpr : test_case.cpp : <define>TEST_BOOST_NO_CXX17_IF_CONSTEXPR ;
obj cxx17_inline_variables : test_case.cpp : <define>TEST_BOOST_NO_CXX17_INLINE_VARIABLES ;
obj cxx17_iterator_traits : test_case.cpp : <define>TEST_BOOST_NO_CXX17_ITERATOR_TRAITS ;
obj cxx17_std_apply : test_case.cpp : <define>TEST_BOOST_NO_CXX17_STD_APPLY ;
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 ;
obj cxx20_hdr_barrier : test_case.cpp : <define>TEST_BOOST_NO_CXX20_HDR_BARRIER ;
obj cxx20_hdr_bit : test_case.cpp : <define>TEST_BOOST_NO_CXX20_HDR_BIT ;
obj cxx20_hdr_compare : test_case.cpp : <define>TEST_BOOST_NO_CXX20_HDR_COMPARE ;
obj cxx20_hdr_concepts : test_case.cpp : <define>TEST_BOOST_NO_CXX20_HDR_CONCEPTS ;
obj cxx20_hdr_coroutine : test_case.cpp : <define>TEST_BOOST_NO_CXX20_HDR_COROUTINE ;
obj cxx20_hdr_format : test_case.cpp : <define>TEST_BOOST_NO_CXX20_HDR_FORMAT ;
obj cxx20_hdr_latch : test_case.cpp : <define>TEST_BOOST_NO_CXX20_HDR_LATCH ;
obj cxx20_hdr_numbers : test_case.cpp : <define>TEST_BOOST_NO_CXX20_HDR_NUMBERS ;
obj cxx20_hdr_ranges : test_case.cpp : <define>TEST_BOOST_NO_CXX20_HDR_RANGES ;
obj cxx20_hdr_semaphore : test_case.cpp : <define>TEST_BOOST_NO_CXX20_HDR_SEMAPHORE ;
obj cxx20_hdr_source_location : test_case.cpp : <define>TEST_BOOST_NO_CXX20_HDR_SOURCE_LOCATION ;
obj cxx20_hdr_span : test_case.cpp : <define>TEST_BOOST_NO_CXX20_HDR_SPAN ;
obj cxx20_hdr_stop_token : test_case.cpp : <define>TEST_BOOST_NO_CXX20_HDR_STOP_TOKEN ;
obj cxx20_hdr_syncstream : test_case.cpp : <define>TEST_BOOST_NO_CXX20_HDR_SYNCSTREAM ;
obj cxx20_hdr_version : test_case.cpp : <define>TEST_BOOST_NO_CXX20_HDR_VERSION ;
obj cxx98_binders : test_case.cpp : <define>TEST_BOOST_NO_CXX98_BINDERS ;
obj cxx98_function_base : test_case.cpp : <define>TEST_BOOST_NO_CXX98_FUNCTION_BASE ;
obj cxx98_random_shuffle : test_case.cpp : <define>TEST_BOOST_NO_CXX98_RANDOM_SHUFFLE ;
obj cxx11_hdr_functional : test_case.cpp : <define>TEST_BOOST_NO_CXX11_HDR_FUNCTIONAL ;
obj cxx11_decltype : test_case.cpp : <define>TEST_BOOST_NO_CXX11_DECLTYPE ;
obj cxx11_decltype_n3276 : test_case.cpp : <define>TEST_BOOST_NO_CXX11_DECLTYPE_N3276 ;
obj boost_deduced_typename : test_case.cpp : <define>TEST_BOOST_DEDUCED_TYPENAME ;
obj cxx11_defaulted_functions : test_case.cpp : <define>TEST_BOOST_NO_CXX11_DEFAULTED_FUNCTIONS ;
obj cxx11_deleted_functions : test_case.cpp : <define>TEST_BOOST_NO_CXX11_DELETED_FUNCTIONS ;
obj dependent_nested_derivations : test_case.cpp : <define>TEST_BOOST_NO_DEPENDENT_NESTED_DERIVATIONS ;
obj dependent_types_in_template_value_parameters : test_case.cpp : <define>TEST_BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS ;
obj exception_std_namespace : test_case.cpp : <define>TEST_BOOST_NO_EXCEPTION_STD_NAMESPACE ;
obj exceptions : test_case.cpp : <define>TEST_BOOST_NO_EXCEPTIONS ;
obj explicit_function_template_arguments : test_case.cpp : <define>TEST_BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS ;
obj cxx11_explicit_conversion_operators : test_case.cpp : <define>TEST_BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS ;
obj cxx11_extern_template : test_case.cpp : <define>TEST_BOOST_NO_CXX11_EXTERN_TEMPLATE ;
obj fenv_h : test_case.cpp : <define>TEST_BOOST_NO_FENV_H ;
obj cxx11_fixed_length_variadic_template_expansion_packs : test_case.cpp : <define>TEST_BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS ;
obj function_template_ordering : test_case.cpp : <define>TEST_BOOST_NO_FUNCTION_TEMPLATE_ORDERING ;
obj cxx11_function_template_default_args : test_case.cpp : <define>TEST_BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS ;
obj function_type_specializations : test_case.cpp : <define>TEST_BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS ;
obj ms_int64_numeric_limits : test_case.cpp : <define>TEST_BOOST_NO_MS_INT64_NUMERIC_LIMITS ;
obj inclass_member_initialization : test_case.cpp : <define>TEST_BOOST_NO_INCLASS_MEMBER_INITIALIZATION ;
obj integral_int64_t : test_case.cpp : <define>TEST_BOOST_NO_INTEGRAL_INT64_T ;
obj iosfwd : test_case.cpp : <define>TEST_BOOST_NO_IOSFWD ;
obj iostream : test_case.cpp : <define>TEST_BOOST_NO_IOSTREAM ;
obj is_abstract : test_case.cpp : <define>TEST_BOOST_NO_IS_ABSTRACT ;
obj templated_iterator_constructors : test_case.cpp : <define>TEST_BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS ;
obj cxx11_lambdas : test_case.cpp : <define>TEST_BOOST_NO_CXX11_LAMBDAS ;
obj limits : test_case.cpp : <define>TEST_BOOST_NO_LIMITS ;
obj limits_compile_time_constants : test_case.cpp : <define>TEST_BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS ;
obj long_long_numeric_limits : test_case.cpp : <define>TEST_BOOST_NO_LONG_LONG_NUMERIC_LIMITS ;
obj member_function_specializations : test_case.cpp : <define>TEST_BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS ;
obj member_template_keyword : test_case.cpp : <define>TEST_BOOST_NO_MEMBER_TEMPLATE_KEYWORD ;
obj pointer_to_member_template_parameters : test_case.cpp : <define>TEST_BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS ;
obj member_template_friends : test_case.cpp : <define>TEST_BOOST_NO_MEMBER_TEMPLATE_FRIENDS ;
obj member_templates : test_case.cpp : <define>TEST_BOOST_NO_MEMBER_TEMPLATES ;
obj nested_friendship : test_case.cpp : <define>TEST_BOOST_NO_NESTED_FRIENDSHIP ;
obj cxx11_noexcept : test_case.cpp : <define>TEST_BOOST_NO_CXX11_NOEXCEPT ;
obj cxx11_nullptr : test_case.cpp : <define>TEST_BOOST_NO_CXX11_NULLPTR ;
obj operators_in_namespace : test_case.cpp : <define>TEST_BOOST_NO_OPERATORS_IN_NAMESPACE ;
obj partial_specialization_implicit_default_args : test_case.cpp : <define>TEST_BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS ;
obj template_partial_specialization : test_case.cpp : <define>TEST_BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION ;
obj private_in_aggregate : test_case.cpp : <define>TEST_BOOST_NO_PRIVATE_IN_AGGREGATE ;
obj pointer_to_member_const : test_case.cpp : <define>TEST_BOOST_NO_POINTER_TO_MEMBER_CONST ;
obj cxx11_range_based_for : test_case.cpp : <define>TEST_BOOST_NO_CXX11_RANGE_BASED_FOR ;
obj cxx11_raw_literals : test_case.cpp : <define>TEST_BOOST_NO_CXX11_RAW_LITERALS ;
obj restrict_references : test_case.cpp : <define>TEST_BOOST_NO_RESTRICT_REFERENCES ;
obj unreachable_return_detection : test_case.cpp : <define>TEST_BOOST_NO_UNREACHABLE_RETURN_DETECTION ;
obj rtti : test_case.cpp : <define>TEST_BOOST_NO_RTTI ;
obj cxx11_rvalue_references : test_case.cpp : <define>TEST_BOOST_NO_CXX11_RVALUE_REFERENCES ;
obj cxx11_scoped_enums : test_case.cpp : <define>TEST_BOOST_NO_CXX11_SCOPED_ENUMS ;
obj sfinae : test_case.cpp : <define>TEST_BOOST_NO_SFINAE ;
obj sfinae_expr : test_case.cpp : <define>TEST_BOOST_NO_SFINAE_EXPR ;
obj stringstream : test_case.cpp : <define>TEST_BOOST_NO_STRINGSTREAM ;
obj cxx11_static_assert : test_case.cpp : <define>TEST_BOOST_NO_CXX11_STATIC_ASSERT ;
obj std_allocator : test_case.cpp : <define>TEST_BOOST_NO_STD_ALLOCATOR ;
obj std_distance : test_case.cpp : <define>TEST_BOOST_NO_STD_DISTANCE ;
obj std_iterator_traits : test_case.cpp : <define>TEST_BOOST_NO_STD_ITERATOR_TRAITS ;
obj std_iterator : test_case.cpp : <define>TEST_BOOST_NO_STD_ITERATOR ;
obj std_locale : test_case.cpp : <define>TEST_BOOST_NO_STD_LOCALE ;
obj std_messages : test_case.cpp : <define>TEST_BOOST_NO_STD_MESSAGES ;
obj std_min_max : test_case.cpp : <define>TEST_BOOST_NO_STD_MIN_MAX ;
obj std_output_iterator_assign : test_case.cpp : <define>TEST_BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN ;
obj std_typeinfo : test_case.cpp : <define>TEST_BOOST_NO_STD_TYPEINFO ;
obj std_use_facet : test_case.cpp : <define>TEST_BOOST_NO_STD_USE_FACET ;
obj std_wstreambuf : test_case.cpp : <define>TEST_BOOST_NO_STD_WSTREAMBUF ;
obj std_wstring : test_case.cpp : <define>TEST_BOOST_NO_STD_WSTRING ;
obj stdc_namespace : test_case.cpp : <define>TEST_BOOST_NO_STDC_NAMESPACE ;
obj swprintf : test_case.cpp : <define>TEST_BOOST_NO_SWPRINTF ;
obj cxx11_local_class_template_parameters : test_case.cpp : <define>TEST_BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS ;
obj cxx11_template_aliases : test_case.cpp : <define>TEST_BOOST_NO_CXX11_TEMPLATE_ALIASES ;
obj templated_iostreams : test_case.cpp : <define>TEST_BOOST_NO_TEMPLATED_IOSTREAMS ;
obj template_templates : test_case.cpp : <define>TEST_BOOST_NO_TEMPLATE_TEMPLATES ;
obj two_phase_name_lookup : test_case.cpp : <define>TEST_BOOST_NO_TWO_PHASE_NAME_LOOKUP ;
obj typeid : test_case.cpp : <define>TEST_BOOST_NO_TYPEID ;
obj typename_with_ctor : test_case.cpp : <define>TEST_BOOST_NO_TYPENAME_WITH_CTOR ;
obj cxx11_unicode_literals : test_case.cpp : <define>TEST_BOOST_NO_CXX11_UNICODE_LITERALS ;
obj cxx11_unified_initialization_syntax : test_case.cpp : <define>TEST_BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX ;
obj boost_function_scope_using_declaration_breaks_adl : test_case.cpp : <define>TEST_BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL ;
obj using_declaration_overloads_from_typename_base : test_case.cpp : <define>TEST_BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE ;
obj using_template : test_case.cpp : <define>TEST_BOOST_NO_USING_TEMPLATE ;
obj cxx11_variadic_macros : test_case.cpp : <define>TEST_BOOST_NO_CXX11_VARIADIC_MACROS ;
obj cxx11_variadic_templates : test_case.cpp : <define>TEST_BOOST_NO_CXX11_VARIADIC_TEMPLATES ;
obj void_returns : test_case.cpp : <define>TEST_BOOST_NO_VOID_RETURNS ;
obj intrinsic_wchar_t : test_case.cpp : <define>TEST_BOOST_NO_INTRINSIC_WCHAR_T ;
obj cpp_impl_destroying_delete_20 : std/cpp_impl_destroying_delete_20.cpp ;
alias cpp_impl_destroying_delete : cpp_impl_destroying_delete_20 ;
obj cpp_lib_destroying_delete_20 : std/cpp_lib_destroying_delete_20.cpp ;
alias cpp_lib_destroying_delete : cpp_lib_destroying_delete_20 ;
obj cpp_char8_t_20 : std/cpp_char8_t_20.cpp ;
alias cpp_char8_t : cpp_char8_t_20 ;
obj cpp_impl_three_way_comparison_20 : std/cpp_impl_three_way_comparison_20.cpp ;
alias cpp_impl_three_way_comparison : cpp_impl_three_way_comparison_20 ;
obj cpp_lib_three_way_comparison_20 : std/cpp_lib_three_way_comparison_20.cpp ;
alias cpp_lib_three_way_comparison : cpp_lib_three_way_comparison_20 ;
obj cpp_conditional_explicit_20 : std/cpp_conditional_explicit_20.cpp ;
alias cpp_conditional_explicit : cpp_conditional_explicit_20 ;
obj cpp_nontype_template_parameter_class_20 : std/cpp_nontype_template_parameter_class_20.cpp ;
alias cpp_nontype_template_parameter_class : cpp_nontype_template_parameter_class_20 ;
obj cpp_lib_char8_t_20 : std/cpp_lib_char8_t_20.cpp ;
alias cpp_lib_char8_t : cpp_lib_char8_t_20 ;
obj cpp_lib_concepts_20 : std/cpp_lib_concepts_20.cpp ;
alias cpp_lib_concepts : cpp_lib_concepts_20 ;
obj cpp_lib_constexpr_swap_algorithms_20 : std/cpp_lib_constexpr_swap_algorithms_20.cpp ;
alias cpp_lib_constexpr_swap_algorithms : cpp_lib_constexpr_swap_algorithms_20 ;
obj cpp_lib_constexpr_misc_20 : std/cpp_lib_constexpr_misc_20.cpp ;
alias cpp_lib_constexpr_misc : cpp_lib_constexpr_misc_20 ;
obj cpp_lib_bind_front_20 : std/cpp_lib_bind_front_20.cpp ;
alias cpp_lib_bind_front : cpp_lib_bind_front_20 ;
obj cpp_lib_is_constant_evaluated_20 : std/cpp_lib_is_constant_evaluated_20.cpp ;
alias cpp_lib_is_constant_evaluated : cpp_lib_is_constant_evaluated_20 ;
obj cpp_lib_erase_if_20 : std/cpp_lib_erase_if_20.cpp ;
alias cpp_lib_erase_if : cpp_lib_erase_if_20 ;
obj cpp_lib_list_remove_return_type_20 : std/cpp_lib_list_remove_return_type_20.cpp ;
alias cpp_lib_list_remove_return_type : cpp_lib_list_remove_return_type_20 ;
obj cpp_lib_generic_unordered_lookup_20 : std/cpp_lib_generic_unordered_lookup_20.cpp ;
alias cpp_lib_generic_unordered_lookup : cpp_lib_generic_unordered_lookup_20 ;
obj cpp_lib_ranges_20 : std/cpp_lib_ranges_20.cpp ;
alias cpp_lib_ranges : cpp_lib_ranges_20 ;
obj cpp_lib_bit_cast_20 : std/cpp_lib_bit_cast_20.cpp ;
alias cpp_lib_bit_cast : cpp_lib_bit_cast_20 ;
obj cpp_lib_atomic_ref_20 : std/cpp_lib_atomic_ref_20.cpp ;
alias cpp_lib_atomic_ref : cpp_lib_atomic_ref_20 ;
obj cpp_hex_float_17 : std/cpp_hex_float_17.cpp ;
alias cpp_hex_float : cpp_hex_float_17 ;
obj cpp_inline_variables_17 : std/cpp_inline_variables_17.cpp ;
alias cpp_inline_variables : cpp_inline_variables_17 ;
obj cpp_aligned_new_17 : std/cpp_aligned_new_17.cpp ;
alias cpp_aligned_new : cpp_aligned_new_17 ;
obj cpp_guaranteed_copy_elision_17 : std/cpp_guaranteed_copy_elision_17.cpp ;
alias cpp_guaranteed_copy_elision : cpp_guaranteed_copy_elision_17 ;
obj cpp_noexcept_function_type_17 : std/cpp_noexcept_function_type_17.cpp ;
alias cpp_noexcept_function_type : cpp_noexcept_function_type_17 ;
obj cpp_fold_expressions_17 : std/cpp_fold_expressions_17.cpp ;
alias cpp_fold_expressions : cpp_fold_expressions_17 ;
obj cpp_capture_star_this_17 : std/cpp_capture_star_this_17.cpp ;
alias cpp_capture_star_this : cpp_capture_star_this_17 ;
obj cpp_constexpr_17 : std/cpp_constexpr_17.cpp ;
obj cpp_if_constexpr_17 : std/cpp_if_constexpr_17.cpp ;
alias cpp_if_constexpr : cpp_if_constexpr_17 ;
obj cpp_range_based_for_17 : std/cpp_range_based_for_17.cpp ;
obj cpp_static_assert_17 : std/cpp_static_assert_17.cpp ;
obj cpp_deduction_guides_17 : std/cpp_deduction_guides_17.cpp ;
alias cpp_deduction_guides : cpp_deduction_guides_17 ;
obj cpp_nontype_template_parameter_auto_17 : std/cpp_nontype_template_parameter_auto_17.cpp ;
alias cpp_nontype_template_parameter_auto : cpp_nontype_template_parameter_auto_17 ;
obj cpp_namespace_attributes_17 : std/cpp_namespace_attributes_17.cpp ;
alias cpp_namespace_attributes : cpp_namespace_attributes_17 ;
obj cpp_enumerator_attributes_17 : std/cpp_enumerator_attributes_17.cpp ;
alias cpp_enumerator_attributes : cpp_enumerator_attributes_17 ;
obj cpp_inheriting_constructors_17 : std/cpp_inheriting_constructors_17.cpp ;
obj cpp_variadic_using_17 : std/cpp_variadic_using_17.cpp ;
alias cpp_variadic_using : cpp_variadic_using_17 ;
obj cpp_structured_bindings_17 : std/cpp_structured_bindings_17.cpp ;
alias cpp_structured_bindings : cpp_structured_bindings_17 ;
obj cpp_aggregate_bases_17 : std/cpp_aggregate_bases_17.cpp ;
alias cpp_aggregate_bases : cpp_aggregate_bases_17 ;
obj cpp_nontype_template_args_17 : std/cpp_nontype_template_args_17.cpp ;
alias cpp_nontype_template_args : cpp_nontype_template_args_17 ;
obj cpp_template_template_args_17 : std/cpp_template_template_args_17.cpp ;
alias cpp_template_template_args : cpp_template_template_args_17 ;
obj cpp_lib_byte_17 : std/cpp_lib_byte_17.cpp ;
alias cpp_lib_byte : cpp_lib_byte_17 ;
obj cpp_lib_hardware_interference_size_17 : std/cpp_lib_hardware_interference_size_17.cpp ;
alias cpp_lib_hardware_interference_size : cpp_lib_hardware_interference_size_17 ;
obj cpp_lib_launder_17 : std/cpp_lib_launder_17.cpp ;
alias cpp_lib_launder : cpp_lib_launder_17 ;
obj cpp_lib_uncaught_exceptions_17 : std/cpp_lib_uncaught_exceptions_17.cpp ;
alias cpp_lib_uncaught_exceptions : cpp_lib_uncaught_exceptions_17 ;
obj cpp_lib_as_const_17 : std/cpp_lib_as_const_17.cpp ;
alias cpp_lib_as_const : cpp_lib_as_const_17 ;
obj cpp_lib_make_from_tuple_17 : std/cpp_lib_make_from_tuple_17.cpp ;
alias cpp_lib_make_from_tuple : cpp_lib_make_from_tuple_17 ;
obj cpp_lib_apply_17 : std/cpp_lib_apply_17.cpp ;
alias cpp_lib_apply : cpp_lib_apply_17 ;
obj cpp_lib_optional_17 : std/cpp_lib_optional_17.cpp ;
alias cpp_lib_optional : cpp_lib_optional_17 ;
obj cpp_lib_variant_17 : std/cpp_lib_variant_17.cpp ;
alias cpp_lib_variant : cpp_lib_variant_17 ;
obj cpp_lib_any_17 : std/cpp_lib_any_17.cpp ;
alias cpp_lib_any : cpp_lib_any_17 ;
obj cpp_lib_addressof_constexpr_17 : std/cpp_lib_addressof_constexpr_17.cpp ;
alias cpp_lib_addressof_constexpr : cpp_lib_addressof_constexpr_17 ;
obj cpp_lib_raw_memory_algorithms_17 : std/cpp_lib_raw_memory_algorithms_17.cpp ;
alias cpp_lib_raw_memory_algorithms : cpp_lib_raw_memory_algorithms_17 ;
obj cpp_lib_transparent_operators_17 : std/cpp_lib_transparent_operators_17.cpp ;
obj cpp_lib_enable_shared_from_this_17 : std/cpp_lib_enable_shared_from_this_17.cpp ;
alias cpp_lib_enable_shared_from_this : cpp_lib_enable_shared_from_this_17 ;
obj cpp_lib_shared_ptr_weak_type_17 : std/cpp_lib_shared_ptr_weak_type_17.cpp ;
alias cpp_lib_shared_ptr_weak_type : cpp_lib_shared_ptr_weak_type_17 ;
obj cpp_lib_shared_ptr_arrays_17 : std/cpp_lib_shared_ptr_arrays_17.cpp ;
alias cpp_lib_shared_ptr_arrays : cpp_lib_shared_ptr_arrays_17 ;
obj cpp_lib_memory_resource_17 : std/cpp_lib_memory_resource_17.cpp ;
alias cpp_lib_memory_resource : cpp_lib_memory_resource_17 ;
obj cpp_lib_boyer_moore_searcher_17 : std/cpp_lib_boyer_moore_searcher_17.cpp ;
alias cpp_lib_boyer_moore_searcher : cpp_lib_boyer_moore_searcher_17 ;
obj cpp_lib_invoke_17 : std/cpp_lib_invoke_17.cpp ;
alias cpp_lib_invoke : cpp_lib_invoke_17 ;
obj cpp_lib_not_fn_17 : std/cpp_lib_not_fn_17.cpp ;
alias cpp_lib_not_fn : cpp_lib_not_fn_17 ;
obj cpp_lib_void_t_17 : std/cpp_lib_void_t_17.cpp ;
alias cpp_lib_void_t : cpp_lib_void_t_17 ;
obj cpp_lib_bool_constant_17 : std/cpp_lib_bool_constant_17.cpp ;
alias cpp_lib_bool_constant : cpp_lib_bool_constant_17 ;
obj cpp_lib_type_trait_variable_templates_17 : std/cpp_lib_type_trait_variable_templates_17.cpp ;
alias cpp_lib_type_trait_variable_templates : cpp_lib_type_trait_variable_templates_17 ;
obj cpp_lib_logical_traits_17 : std/cpp_lib_logical_traits_17.cpp ;
alias cpp_lib_logical_traits : cpp_lib_logical_traits_17 ;
obj cpp_lib_is_swappable_17 : std/cpp_lib_is_swappable_17.cpp ;
alias cpp_lib_is_swappable : cpp_lib_is_swappable_17 ;
obj cpp_lib_is_invocable_17 : std/cpp_lib_is_invocable_17.cpp ;
alias cpp_lib_is_invocable : cpp_lib_is_invocable_17 ;
obj cpp_lib_has_unique_object_representations_17 : std/cpp_lib_has_unique_object_representations_17.cpp ;
alias cpp_lib_has_unique_object_representations : cpp_lib_has_unique_object_representations_17 ;
obj cpp_lib_is_aggregate_17 : std/cpp_lib_is_aggregate_17.cpp ;
alias cpp_lib_is_aggregate : cpp_lib_is_aggregate_17 ;
obj cpp_lib_chrono_17 : std/cpp_lib_chrono_17.cpp ;
alias cpp_lib_chrono : cpp_lib_chrono_17 ;
obj cpp_lib_execution_17 : std/cpp_lib_execution_17.cpp ;
alias cpp_lib_execution : cpp_lib_execution_17 ;
obj cpp_lib_parallel_algorithm_17 : std/cpp_lib_parallel_algorithm_17.cpp ;
alias cpp_lib_parallel_algorithm : cpp_lib_parallel_algorithm_17 ;
obj cpp_lib_to_chars_17 : std/cpp_lib_to_chars_17.cpp ;
alias cpp_lib_to_chars : cpp_lib_to_chars_17 ;
obj cpp_lib_string_view_17 : std/cpp_lib_string_view_17.cpp ;
alias cpp_lib_string_view : cpp_lib_string_view_17 ;
obj cpp_lib_allocator_traits_is_always_equal_17 : std/cpp_lib_allocator_traits_is_always_equal_17.cpp ;
alias cpp_lib_allocator_traits_is_always_equal : cpp_lib_allocator_traits_is_always_equal_17 ;
obj cpp_lib_incomplete_container_elements_17 : std/cpp_lib_incomplete_container_elements_17.cpp ;
alias cpp_lib_incomplete_container_elements : cpp_lib_incomplete_container_elements_17 ;
obj cpp_lib_map_try_emplace_17 : std/cpp_lib_map_try_emplace_17.cpp ;
alias cpp_lib_map_try_emplace : cpp_lib_map_try_emplace_17 ;
obj cpp_lib_unordered_map_try_emplace_17 : std/cpp_lib_unordered_map_try_emplace_17.cpp ;
alias cpp_lib_unordered_map_try_emplace : cpp_lib_unordered_map_try_emplace_17 ;
obj cpp_lib_node_extract_17 : std/cpp_lib_node_extract_17.cpp ;
alias cpp_lib_node_extract : cpp_lib_node_extract_17 ;
obj cpp_lib_array_constexpr_17 : std/cpp_lib_array_constexpr_17.cpp ;
alias cpp_lib_array_constexpr : cpp_lib_array_constexpr_17 ;
obj cpp_lib_nonmember_container_access_17 : std/cpp_lib_nonmember_container_access_17.cpp ;
alias cpp_lib_nonmember_container_access : cpp_lib_nonmember_container_access_17 ;
obj cpp_lib_sample_17 : std/cpp_lib_sample_17.cpp ;
alias cpp_lib_sample : cpp_lib_sample_17 ;
obj cpp_lib_clamp_17 : std/cpp_lib_clamp_17.cpp ;
alias cpp_lib_clamp : cpp_lib_clamp_17 ;
obj cpp_lib_gcd_lcm_17 : std/cpp_lib_gcd_lcm_17.cpp ;
alias cpp_lib_gcd_lcm : cpp_lib_gcd_lcm_17 ;
obj cpp_lib_hypot_17 : std/cpp_lib_hypot_17.cpp ;
alias cpp_lib_hypot : cpp_lib_hypot_17 ;
obj cpp_lib_math_special_functions_17 : std/cpp_lib_math_special_functions_17.cpp ;
alias cpp_lib_math_special_functions : cpp_lib_math_special_functions_17 ;
obj cpp_lib_filesystem_17 : std/cpp_lib_filesystem_17.cpp ;
alias cpp_lib_filesystem : cpp_lib_filesystem_17 ;
obj cpp_lib_atomic_is_always_lock_free_17 : std/cpp_lib_atomic_is_always_lock_free_17.cpp ;
alias cpp_lib_atomic_is_always_lock_free : cpp_lib_atomic_is_always_lock_free_17 ;
obj cpp_lib_shared_mutex_17 : std/cpp_lib_shared_mutex_17.cpp ;
alias cpp_lib_shared_mutex : cpp_lib_shared_mutex_17 ;
obj cpp_lib_scoped_lock_17 : std/cpp_lib_scoped_lock_17.cpp ;
alias cpp_lib_scoped_lock : cpp_lib_scoped_lock_17 ;
obj cpp_binary_literals_14 : std/cpp_binary_literals_14.cpp ;
alias cpp_binary_literals : cpp_binary_literals_14 ;
obj cpp_init_captures_14 : std/cpp_init_captures_14.cpp ;
alias cpp_init_captures : cpp_init_captures_14 ;
obj cpp_generic_lambdas_14 : std/cpp_generic_lambdas_14.cpp ;
alias cpp_generic_lambdas : cpp_generic_lambdas_14 ;
obj cpp_sized_deallocation_14 : std/cpp_sized_deallocation_14.cpp ;
alias cpp_sized_deallocation : cpp_sized_deallocation_14 ;
obj cpp_constexpr_14 : std/cpp_constexpr_14.cpp ;
obj cpp_decltype_auto_14 : std/cpp_decltype_auto_14.cpp ;
alias cpp_decltype_auto : cpp_decltype_auto_14 ;
obj cpp_return_type_deduction_14 : std/cpp_return_type_deduction_14.cpp ;
alias cpp_return_type_deduction : cpp_return_type_deduction_14 ;
obj cpp_aggregate_nsdmi_14 : std/cpp_aggregate_nsdmi_14.cpp ;
alias cpp_aggregate_nsdmi : cpp_aggregate_nsdmi_14 ;
obj cpp_variable_templates_14 : std/cpp_variable_templates_14.cpp ;
alias cpp_variable_templates : cpp_variable_templates_14 ;
obj cpp_lib_integer_sequence_14 : std/cpp_lib_integer_sequence_14.cpp ;
alias cpp_lib_integer_sequence : cpp_lib_integer_sequence_14 ;
obj cpp_lib_exchange_function_14 : std/cpp_lib_exchange_function_14.cpp ;
alias cpp_lib_exchange_function : cpp_lib_exchange_function_14 ;
obj cpp_lib_tuples_by_type_14 : std/cpp_lib_tuples_by_type_14.cpp ;
alias cpp_lib_tuples_by_type : cpp_lib_tuples_by_type_14 ;
obj cpp_lib_tuple_element_t_14 : std/cpp_lib_tuple_element_t_14.cpp ;
alias cpp_lib_tuple_element_t : cpp_lib_tuple_element_t_14 ;
obj cpp_lib_make_unique_14 : std/cpp_lib_make_unique_14.cpp ;
alias cpp_lib_make_unique : cpp_lib_make_unique_14 ;
obj cpp_lib_transparent_operators_14 : std/cpp_lib_transparent_operators_14.cpp ;
alias cpp_lib_transparent_operators : cpp_lib_transparent_operators_14 ;
obj cpp_lib_integral_constant_callable_14 : std/cpp_lib_integral_constant_callable_14.cpp ;
alias cpp_lib_integral_constant_callable : cpp_lib_integral_constant_callable_14 ;
obj cpp_lib_transformation_trait_aliases_14 : std/cpp_lib_transformation_trait_aliases_14.cpp ;
alias cpp_lib_transformation_trait_aliases : cpp_lib_transformation_trait_aliases_14 ;
obj cpp_lib_result_of_sfinae_14 : std/cpp_lib_result_of_sfinae_14.cpp ;
alias cpp_lib_result_of_sfinae : cpp_lib_result_of_sfinae_14 ;
obj cpp_lib_is_final_14 : std/cpp_lib_is_final_14.cpp ;
alias cpp_lib_is_final : cpp_lib_is_final_14 ;
obj cpp_lib_is_null_pointer_14 : std/cpp_lib_is_null_pointer_14.cpp ;
alias cpp_lib_is_null_pointer : cpp_lib_is_null_pointer_14 ;
obj cpp_lib_chrono_udls_14 : std/cpp_lib_chrono_udls_14.cpp ;
alias cpp_lib_chrono_udls : cpp_lib_chrono_udls_14 ;
obj cpp_lib_string_udls_14 : std/cpp_lib_string_udls_14.cpp ;
alias cpp_lib_string_udls : cpp_lib_string_udls_14 ;
obj cpp_lib_generic_associative_lookup_14 : std/cpp_lib_generic_associative_lookup_14.cpp ;
alias cpp_lib_generic_associative_lookup : cpp_lib_generic_associative_lookup_14 ;
obj cpp_lib_null_iterators_14 : std/cpp_lib_null_iterators_14.cpp ;
alias cpp_lib_null_iterators : cpp_lib_null_iterators_14 ;
obj cpp_lib_make_reverse_iterator_14 : std/cpp_lib_make_reverse_iterator_14.cpp ;
alias cpp_lib_make_reverse_iterator : cpp_lib_make_reverse_iterator_14 ;
obj cpp_lib_robust_nonmodifying_seq_ops_14 : std/cpp_lib_robust_nonmodifying_seq_ops_14.cpp ;
alias cpp_lib_robust_nonmodifying_seq_ops : cpp_lib_robust_nonmodifying_seq_ops_14 ;
obj cpp_lib_complex_udls_14 : std/cpp_lib_complex_udls_14.cpp ;
alias cpp_lib_complex_udls : cpp_lib_complex_udls_14 ;
obj cpp_lib_quoted_string_io_14 : std/cpp_lib_quoted_string_io_14.cpp ;
alias cpp_lib_quoted_string_io : cpp_lib_quoted_string_io_14 ;
obj cpp_lib_shared_timed_mutex_14 : std/cpp_lib_shared_timed_mutex_14.cpp ;
alias cpp_lib_shared_timed_mutex : cpp_lib_shared_timed_mutex_14 ;
obj cpp_unicode_characters_11 : std/cpp_unicode_characters_11.cpp ;
alias cpp_unicode_characters : cpp_unicode_characters_11 ;
obj cpp_raw_strings_11 : std/cpp_raw_strings_11.cpp ;
alias cpp_raw_strings : cpp_raw_strings_11 ;
obj cpp_unicode_literals_11 : std/cpp_unicode_literals_11.cpp ;
alias cpp_unicode_literals : cpp_unicode_literals_11 ;
obj cpp_user_defined_literals_11 : std/cpp_user_defined_literals_11.cpp ;
alias cpp_user_defined_literals : cpp_user_defined_literals_11 ;
obj cpp_threadsafe_static_init_11 : std/cpp_threadsafe_static_init_11.cpp ;
alias cpp_threadsafe_static_init : cpp_threadsafe_static_init_11 ;
obj cpp_lambdas_11 : std/cpp_lambdas_11.cpp ;
alias cpp_lambdas : cpp_lambdas_11 ;
obj cpp_constexpr_11 : std/cpp_constexpr_11.cpp ;
alias cpp_constexpr : cpp_constexpr_11 ;
obj cpp_range_based_for_11 : std/cpp_range_based_for_11.cpp ;
alias cpp_range_based_for : cpp_range_based_for_11 ;
obj cpp_static_assert_11 : std/cpp_static_assert_11.cpp ;
alias cpp_static_assert : cpp_static_assert_11 ;
obj cpp_decltype_11 : std/cpp_decltype_11.cpp ;
alias cpp_decltype : cpp_decltype_11 ;
obj cpp_attributes_11 : std/cpp_attributes_11.cpp ;
alias cpp_attributes : cpp_attributes_11 ;
obj cpp_rvalue_references_11 : std/cpp_rvalue_references_11.cpp ;
alias cpp_rvalue_references : cpp_rvalue_references_11 ;
obj cpp_variadic_templates_11 : std/cpp_variadic_templates_11.cpp ;
alias cpp_variadic_templates : cpp_variadic_templates_11 ;
obj cpp_initializer_lists_11 : std/cpp_initializer_lists_11.cpp ;
alias cpp_initializer_lists : cpp_initializer_lists_11 ;
obj cpp_explicit_conversion_11 : std/cpp_explicit_conversion_11.cpp ;
alias cpp_explicit_conversion : cpp_explicit_conversion_11 ;
obj cpp_delegating_constructors_11 : std/cpp_delegating_constructors_11.cpp ;
alias cpp_delegating_constructors : cpp_delegating_constructors_11 ;
obj cpp_nsdmi_11 : std/cpp_nsdmi_11.cpp ;
alias cpp_nsdmi : cpp_nsdmi_11 ;
obj cpp_inheriting_constructors_11 : std/cpp_inheriting_constructors_11.cpp ;
alias cpp_inheriting_constructors : cpp_inheriting_constructors_11 ;
obj cpp_ref_qualifiers_11 : std/cpp_ref_qualifiers_11.cpp ;
alias cpp_ref_qualifiers : cpp_ref_qualifiers_11 ;
obj cpp_alias_templates_11 : std/cpp_alias_templates_11.cpp ;
alias cpp_alias_templates : cpp_alias_templates_11 ;
obj cpp_rtti_03 : std/cpp_rtti_03.cpp ;
alias cpp_rtti : cpp_rtti_03 ;
obj cpp_exceptions_03 : std/cpp_exceptions_03.cpp ;
alias cpp_exceptions : cpp_exceptions_03 ;

View File

@@ -0,0 +1,9 @@
// 32.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
// Distributed under the Boost Software License Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
int test[sizeof(void*) == 4? 1 : -1];

View File

@@ -0,0 +1,9 @@
// 64.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
// Distributed under the Boost Software License Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
int test[sizeof(void*) == 8? 1 : -1];

View File

@@ -0,0 +1,26 @@
# Jamfile.jam
#
# Copyright 2012 Steven Watanabe
#
# Distributed under the Boost Software License Version 1.0. (See
# accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
project /boost/architecture
: requirements
-<conditional>@boostcpp.deduce-address-model
-<conditional>@boostcpp.deduce-architecture
-<implicit-dependency>/boost//headers
;
obj 32 : 32.cpp ;
obj 64 : 64.cpp ;
obj arm : arm.cpp ;
obj combined : combined.cpp ;
obj mips1 : mips1.cpp ;
obj power : power.cpp ;
obj riscv : riscv.cpp ;
obj sparc : sparc.cpp ;
obj x86 : x86.cpp ;
obj s390x : s390x.cpp ;

View File

@@ -0,0 +1,15 @@
// arm.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
// Distributed under the Boost Software License Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#if !defined(__arm__) && !defined(__thumb__) && \
!defined(__TARGET_ARCH_ARM) && !defined(__TARGET_ARCH_THUMB) && \
!defined(_ARM) && !defined(_M_ARM) && \
!defined(__aarch64__)
#error "Not ARM"
#endif

View File

@@ -0,0 +1,21 @@
// combined.cpp
//
// Copyright (c) 2012 Steven Watanabe
// 2014 Oliver Kowalke
//
// Distributed under the Boost Software License Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#if !defined(i386) && !defined(__i386__) && !defined(__i386) \
&& !defined(__i486__) && !defined(__i586__) && !defined(__i686__) \
&& !defined(_M_IX86) && !defined(__X86__) && !defined(_X86_) \
&& !defined(__THW_INTEL__) && !defined(__I86__) && !defined(__INTEL__) \
&& !defined(__amd64__) && !defined(__x86_64__) && !defined(__amd64) \
&& !defined(__x86_64) && !defined(_M_X64) \
&& !defined(__powerpc) && !defined(__powerpc__) && !defined(__ppc) \
&& !defined(__ppc__) && !defined(_M_PPC) && !defined(_ARCH_PPC) \
&& !defined(__POWERPC__) && !defined(__PPCGECKO__) \
&& !defined(__PPCBROADWAY) && !defined(_XENON)
#error "Not combined"
#endif

View File

@@ -0,0 +1,11 @@
// mips1.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
// Distributed under the Boost Software License Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#if !(defined(__mips) || defined(_MIPS_ISA_MIPS1) || defined(_R3000))
#error "Not MIPS1"
#endif

View File

@@ -0,0 +1,14 @@
// power.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
// Distributed under the Boost Software License Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#if !defined(__powerpc) && !defined(__powerpc__) && !defined(__ppc) \
&& !defined(__ppc__) && !defined(_M_PPC) && !defined(_ARCH_PPC) \
&& !defined(__POWERPC__) && !defined(__PPCGECKO__) \
&& !defined(__PPCBROADWAY) && !defined(_XENON)
#error "Not PPC"
#endif

View File

@@ -0,0 +1,10 @@
// riscv.cpp
//
// Copyright Andreas Schwab 2019
// Distributed under the Boost Software License Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#if !defined(__riscv)
#error "Not RISC-V"
#endif

View File

@@ -0,0 +1,11 @@
// s390x.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
// Distributed under the Boost Software License Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#if !defined(__s390x__)
#error "Not S390x"
#endif

View File

@@ -0,0 +1,11 @@
// power.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
// Distributed under the Boost Software License Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#if !defined(__sparc__) && !defined(__sparc)
#error "Not SPARC"
#endif

View File

@@ -0,0 +1,16 @@
// x86.cpp
//
// Copyright (c) 2012 Steven Watanabe
//
// Distributed under the Boost Software License Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#if !defined(i386) && !defined(__i386__) && !defined(__i386) \
&& !defined(__i486__) && !defined(__i586__) && !defined(__i686__) \
&& !defined(_M_IX86) && !defined(__X86__) && !defined(_X86_) \
&& !defined(__THW_INTEL__) && !defined(__I86__) && !defined(__INTEL__) \
&& !defined(__amd64__) && !defined(__x86_64__) && !defined(__amd64) \
&& !defined(__x86_64) && !defined(_M_X64)
#error "Not x86"
#endif

View File

@@ -0,0 +1,19 @@
# Copyright John Maddock.
# Use, modification and distribution are subject to the
# Boost Software License, Version 1.0. (See accompanying file
# LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
import modules ;
rule requires ( names + )
{
local config-binding = [ modules.binding $(__name__) ] ;
local result ;
for name in $(names)
{
result += [ check-target-builds $(config-binding:D)//$(name) $(name) : : <build>no ] ;
}
return $(result) ;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_aggregate_bases
#error "Macro << __cpp_aggregate_bases is not set"
#endif
#if __cpp_aggregate_bases < 201603
#error "Macro __cpp_aggregate_bases had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_aggregate_nsdmi
#error "Macro << __cpp_aggregate_nsdmi is not set"
#endif
#if __cpp_aggregate_nsdmi < 201304
#error "Macro __cpp_aggregate_nsdmi had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_alias_templates
#error "Macro << __cpp_alias_templates is not set"
#endif
#if __cpp_alias_templates < 200704
#error "Macro __cpp_alias_templates had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_aligned_new
#error "Macro << __cpp_aligned_new is not set"
#endif
#if __cpp_aligned_new < 201606
#error "Macro __cpp_aligned_new had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_attributes
#error "Macro << __cpp_attributes is not set"
#endif
#if __cpp_attributes < 200809
#error "Macro __cpp_attributes had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_binary_literals
#error "Macro << __cpp_binary_literals is not set"
#endif
#if __cpp_binary_literals < 201304
#error "Macro __cpp_binary_literals had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_capture_star_this
#error "Macro << __cpp_capture_star_this is not set"
#endif
#if __cpp_capture_star_this < 201603
#error "Macro __cpp_capture_star_this had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_char8_t
#error "Macro << __cpp_char8_t is not set"
#endif
#if __cpp_char8_t < 201811
#error "Macro __cpp_char8_t had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_conditional_explicit
#error "Macro << __cpp_conditional_explicit is not set"
#endif
#if __cpp_conditional_explicit < 201806
#error "Macro __cpp_conditional_explicit had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_constexpr
#error "Macro << __cpp_constexpr is not set"
#endif
#if __cpp_constexpr < 200704
#error "Macro __cpp_constexpr had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_constexpr
#error "Macro << __cpp_constexpr is not set"
#endif
#if __cpp_constexpr < 201304
#error "Macro __cpp_constexpr had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_constexpr
#error "Macro << __cpp_constexpr is not set"
#endif
#if __cpp_constexpr < 201603
#error "Macro __cpp_constexpr had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_decltype
#error "Macro << __cpp_decltype is not set"
#endif
#if __cpp_decltype < 200707
#error "Macro __cpp_decltype had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_decltype_auto
#error "Macro << __cpp_decltype_auto is not set"
#endif
#if __cpp_decltype_auto < 201304
#error "Macro __cpp_decltype_auto had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_deduction_guides
#error "Macro << __cpp_deduction_guides is not set"
#endif
#if __cpp_deduction_guides < 201611
#error "Macro __cpp_deduction_guides had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_delegating_constructors
#error "Macro << __cpp_delegating_constructors is not set"
#endif
#if __cpp_delegating_constructors < 200604
#error "Macro __cpp_delegating_constructors had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_enumerator_attributes
#error "Macro << __cpp_enumerator_attributes is not set"
#endif
#if __cpp_enumerator_attributes < 201411
#error "Macro __cpp_enumerator_attributes had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_exceptions
#error "Macro << __cpp_exceptions is not set"
#endif
#if __cpp_exceptions < 199711
#error "Macro __cpp_exceptions had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_explicit_conversion
#error "Macro << __cpp_explicit_conversion is not set"
#endif
#if __cpp_explicit_conversion < 200710
#error "Macro __cpp_explicit_conversion had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_fold_expressions
#error "Macro << __cpp_fold_expressions is not set"
#endif
#if __cpp_fold_expressions < 201603
#error "Macro __cpp_fold_expressions had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_generic_lambdas
#error "Macro << __cpp_generic_lambdas is not set"
#endif
#if __cpp_generic_lambdas < 201304
#error "Macro __cpp_generic_lambdas had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_guaranteed_copy_elision
#error "Macro << __cpp_guaranteed_copy_elision is not set"
#endif
#if __cpp_guaranteed_copy_elision < 201606
#error "Macro __cpp_guaranteed_copy_elision had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_hex_float
#error "Macro << __cpp_hex_float is not set"
#endif
#if __cpp_hex_float < 201603
#error "Macro __cpp_hex_float had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_if_constexpr
#error "Macro << __cpp_if_constexpr is not set"
#endif
#if __cpp_if_constexpr < 201606
#error "Macro __cpp_if_constexpr had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_impl_destroying_delete
#error "Macro << __cpp_impl_destroying_delete is not set"
#endif
#if __cpp_impl_destroying_delete < 201806
#error "Macro __cpp_impl_destroying_delete had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_impl_three_way_comparison
#error "Macro << __cpp_impl_three_way_comparison is not set"
#endif
#if __cpp_impl_three_way_comparison < 201711
#error "Macro __cpp_impl_three_way_comparison had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_inheriting_constructors
#error "Macro << __cpp_inheriting_constructors is not set"
#endif
#if __cpp_inheriting_constructors < 200802
#error "Macro __cpp_inheriting_constructors had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_inheriting_constructors
#error "Macro << __cpp_inheriting_constructors is not set"
#endif
#if __cpp_inheriting_constructors < 201511
#error "Macro __cpp_inheriting_constructors had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_init_captures
#error "Macro << __cpp_init_captures is not set"
#endif
#if __cpp_init_captures < 201304
#error "Macro __cpp_init_captures had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_initializer_lists
#error "Macro << __cpp_initializer_lists is not set"
#endif
#if __cpp_initializer_lists < 200806
#error "Macro __cpp_initializer_lists had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_inline_variables
#error "Macro << __cpp_inline_variables is not set"
#endif
#if __cpp_inline_variables < 201606
#error "Macro __cpp_inline_variables had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,30 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#ifndef __cpp_lambdas
#error "Macro << __cpp_lambdas is not set"
#endif
#if __cpp_lambdas < 200907
#error "Macro __cpp_lambdas had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <memory>
#ifndef __cpp_lib_addressof_constexpr
#error "Macro << __cpp_lib_addressof_constexpr is not set"
#endif
#if __cpp_lib_addressof_constexpr < 201603
#error "Macro __cpp_lib_addressof_constexpr had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <memory>
#ifndef __cpp_lib_allocator_traits_is_always_equal
#error "Macro << __cpp_lib_allocator_traits_is_always_equal is not set"
#endif
#if __cpp_lib_allocator_traits_is_always_equal < 201411
#error "Macro __cpp_lib_allocator_traits_is_always_equal had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <any>
#ifndef __cpp_lib_any
#error "Macro << __cpp_lib_any is not set"
#endif
#if __cpp_lib_any < 201606
#error "Macro __cpp_lib_any had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <tuple>
#ifndef __cpp_lib_apply
#error "Macro << __cpp_lib_apply is not set"
#endif
#if __cpp_lib_apply < 201603
#error "Macro __cpp_lib_apply had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <iterator>
#ifndef __cpp_lib_array_constexpr
#error "Macro << __cpp_lib_array_constexpr is not set"
#endif
#if __cpp_lib_array_constexpr < 201603
#error "Macro __cpp_lib_array_constexpr had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <utility>
#ifndef __cpp_lib_as_const
#error "Macro << __cpp_lib_as_const is not set"
#endif
#if __cpp_lib_as_const < 201510
#error "Macro __cpp_lib_as_const had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <atomic>
#ifndef __cpp_lib_atomic_is_always_lock_free
#error "Macro << __cpp_lib_atomic_is_always_lock_free is not set"
#endif
#if __cpp_lib_atomic_is_always_lock_free < 201603
#error "Macro __cpp_lib_atomic_is_always_lock_free had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <atomic>
#ifndef __cpp_lib_atomic_ref
#error "Macro << __cpp_lib_atomic_ref is not set"
#endif
#if __cpp_lib_atomic_ref < 201806
#error "Macro __cpp_lib_atomic_ref had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <functional>
#ifndef __cpp_lib_bind_front
#error "Macro << __cpp_lib_bind_front is not set"
#endif
#if __cpp_lib_bind_front < 201811
#error "Macro __cpp_lib_bind_front had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <bit>
#ifndef __cpp_lib_bit_cast
#error "Macro << __cpp_lib_bit_cast is not set"
#endif
#if __cpp_lib_bit_cast < 201806
#error "Macro __cpp_lib_bit_cast had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <type_traits>
#ifndef __cpp_lib_bool_constant
#error "Macro << __cpp_lib_bool_constant is not set"
#endif
#if __cpp_lib_bool_constant < 201505
#error "Macro __cpp_lib_bool_constant had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <functional>
#ifndef __cpp_lib_boyer_moore_searcher
#error "Macro << __cpp_lib_boyer_moore_searcher is not set"
#endif
#if __cpp_lib_boyer_moore_searcher < 201603
#error "Macro __cpp_lib_boyer_moore_searcher had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <cstddef>
#ifndef __cpp_lib_byte
#error "Macro << __cpp_lib_byte is not set"
#endif
#if __cpp_lib_byte < 201603
#error "Macro __cpp_lib_byte had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <atomic>
#ifndef __cpp_lib_char8_t
#error "Macro << __cpp_lib_char8_t is not set"
#endif
#if __cpp_lib_char8_t < 201811
#error "Macro __cpp_lib_char8_t had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <chrono>
#ifndef __cpp_lib_chrono
#error "Macro << __cpp_lib_chrono is not set"
#endif
#if __cpp_lib_chrono < 201611
#error "Macro __cpp_lib_chrono had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <chrono>
#ifndef __cpp_lib_chrono_udls
#error "Macro << __cpp_lib_chrono_udls is not set"
#endif
#if __cpp_lib_chrono_udls < 201304
#error "Macro __cpp_lib_chrono_udls had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <algorithm>
#ifndef __cpp_lib_clamp
#error "Macro << __cpp_lib_clamp is not set"
#endif
#if __cpp_lib_clamp < 201603
#error "Macro __cpp_lib_clamp had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <complex>
#ifndef __cpp_lib_complex_udls
#error "Macro << __cpp_lib_complex_udls is not set"
#endif
#if __cpp_lib_complex_udls < 201309
#error "Macro __cpp_lib_complex_udls had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <concepts>
#ifndef __cpp_lib_concepts
#error "Macro << __cpp_lib_concepts is not set"
#endif
#if __cpp_lib_concepts < 201806
#error "Macro __cpp_lib_concepts had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <array>
#ifndef __cpp_lib_constexpr_misc
#error "Macro << __cpp_lib_constexpr_misc is not set"
#endif
#if __cpp_lib_constexpr_misc < 201811
#error "Macro __cpp_lib_constexpr_misc had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <algorithm>
#ifndef __cpp_lib_constexpr_swap_algorithms
#error "Macro << __cpp_lib_constexpr_swap_algorithms is not set"
#endif
#if __cpp_lib_constexpr_swap_algorithms < 201806
#error "Macro __cpp_lib_constexpr_swap_algorithms had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <new>
#ifndef __cpp_lib_destroying_delete
#error "Macro << __cpp_lib_destroying_delete is not set"
#endif
#if __cpp_lib_destroying_delete < 201806
#error "Macro __cpp_lib_destroying_delete had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <memory>
#ifndef __cpp_lib_enable_shared_from_this
#error "Macro << __cpp_lib_enable_shared_from_this is not set"
#endif
#if __cpp_lib_enable_shared_from_this < 201603
#error "Macro __cpp_lib_enable_shared_from_this had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <string>
#ifndef __cpp_lib_erase_if
#error "Macro << __cpp_lib_erase_if is not set"
#endif
#if __cpp_lib_erase_if < 201811
#error "Macro __cpp_lib_erase_if had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <utility>
#ifndef __cpp_lib_exchange_function
#error "Macro << __cpp_lib_exchange_function is not set"
#endif
#if __cpp_lib_exchange_function < 201304
#error "Macro __cpp_lib_exchange_function had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <execution>
#ifndef __cpp_lib_execution
#error "Macro << __cpp_lib_execution is not set"
#endif
#if __cpp_lib_execution < 201603
#error "Macro __cpp_lib_execution had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <filesystem>
#ifndef __cpp_lib_filesystem
#error "Macro << __cpp_lib_filesystem is not set"
#endif
#if __cpp_lib_filesystem < 201703
#error "Macro __cpp_lib_filesystem had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <numeric>
#ifndef __cpp_lib_gcd_lcm
#error "Macro << __cpp_lib_gcd_lcm is not set"
#endif
#if __cpp_lib_gcd_lcm < 201606
#error "Macro __cpp_lib_gcd_lcm had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <map>
#ifndef __cpp_lib_generic_associative_lookup
#error "Macro << __cpp_lib_generic_associative_lookup is not set"
#endif
#if __cpp_lib_generic_associative_lookup < 201304
#error "Macro __cpp_lib_generic_associative_lookup had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <unordered_map>
#ifndef __cpp_lib_generic_unordered_lookup
#error "Macro << __cpp_lib_generic_unordered_lookup is not set"
#endif
#if __cpp_lib_generic_unordered_lookup < 201811
#error "Macro __cpp_lib_generic_unordered_lookup had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <new>
#ifndef __cpp_lib_hardware_interference_size
#error "Macro << __cpp_lib_hardware_interference_size is not set"
#endif
#if __cpp_lib_hardware_interference_size < 201703
#error "Macro __cpp_lib_hardware_interference_size had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <type_traits>
#ifndef __cpp_lib_has_unique_object_representations
#error "Macro << __cpp_lib_has_unique_object_representations is not set"
#endif
#if __cpp_lib_has_unique_object_representations < 201606
#error "Macro __cpp_lib_has_unique_object_representations had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <cmath>
#ifndef __cpp_lib_hypot
#error "Macro << __cpp_lib_hypot is not set"
#endif
#if __cpp_lib_hypot < 201603
#error "Macro __cpp_lib_hypot had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <forward_list>
#ifndef __cpp_lib_incomplete_container_elements
#error "Macro << __cpp_lib_incomplete_container_elements is not set"
#endif
#if __cpp_lib_incomplete_container_elements < 201505
#error "Macro __cpp_lib_incomplete_container_elements had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <utility>
#ifndef __cpp_lib_integer_sequence
#error "Macro << __cpp_lib_integer_sequence is not set"
#endif
#if __cpp_lib_integer_sequence < 201304
#error "Macro __cpp_lib_integer_sequence had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <type_traits>
#ifndef __cpp_lib_integral_constant_callable
#error "Macro << __cpp_lib_integral_constant_callable is not set"
#endif
#if __cpp_lib_integral_constant_callable < 201304
#error "Macro __cpp_lib_integral_constant_callable had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <functional>
#ifndef __cpp_lib_invoke
#error "Macro << __cpp_lib_invoke is not set"
#endif
#if __cpp_lib_invoke < 201411
#error "Macro __cpp_lib_invoke had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <type_traits>
#ifndef __cpp_lib_is_aggregate
#error "Macro << __cpp_lib_is_aggregate is not set"
#endif
#if __cpp_lib_is_aggregate < 201703
#error "Macro __cpp_lib_is_aggregate had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <type_traits>
#ifndef __cpp_lib_is_constant_evaluated
#error "Macro << __cpp_lib_is_constant_evaluated is not set"
#endif
#if __cpp_lib_is_constant_evaluated < 201811
#error "Macro __cpp_lib_is_constant_evaluated had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <type_traits>
#ifndef __cpp_lib_is_final
#error "Macro << __cpp_lib_is_final is not set"
#endif
#if __cpp_lib_is_final < 201402
#error "Macro __cpp_lib_is_final had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <type_traits>
#ifndef __cpp_lib_is_invocable
#error "Macro << __cpp_lib_is_invocable is not set"
#endif
#if __cpp_lib_is_invocable < 201703
#error "Macro __cpp_lib_is_invocable had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <type_traits>
#ifndef __cpp_lib_is_null_pointer
#error "Macro << __cpp_lib_is_null_pointer is not set"
#endif
#if __cpp_lib_is_null_pointer < 201309
#error "Macro __cpp_lib_is_null_pointer had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <type_traits>
#ifndef __cpp_lib_is_swappable
#error "Macro << __cpp_lib_is_swappable is not set"
#endif
#if __cpp_lib_is_swappable < 201603
#error "Macro __cpp_lib_is_swappable had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

View File

@@ -0,0 +1,32 @@
// This file was automatically generated on Thu Feb 3 18:10:41 2022
// by libs/config/tools/generate.cpp
// Copyright John Maddock 2002-21.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for the most recent version.//
// Revision $Id$
//
#ifdef __has_include
#if __has_include(<version>)
#include <version>
#endif
#endif
#include <new>
#ifndef __cpp_lib_launder
#error "Macro << __cpp_lib_launder is not set"
#endif
#if __cpp_lib_launder < 201606
#error "Macro __cpp_lib_launder had too low a value"
#endif
int main( int, char *[] )
{
return 0;
}

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