Compare commits

...

32 Commits

Author SHA1 Message Date
225f1a8dc9 Specify LANGUAGES NONE to avoid enabling C and CXX 2021-09-18 19:38:50 +03:00
1be0e4a2d8 added missing brackets (#118) 2021-05-21 09:31:11 -05:00
df63bf3dca Fix spelling of epoch (#119) 2021-05-21 09:30:36 -05:00
8ee83ef1aa Add notes for v1.13. 2021-02-13 12:16:24 -06:00
c9ee4eb329 Update from upstream Hash Predef. 2021-02-13 10:21:16 -06:00
cfbda6e0cc Bump to 1.13 2021-02-09 23:05:35 -06:00
d37f35e578 Add e2k arch to docs. 2021-02-09 23:00:54 -06:00
d3460e05aa Add support for Elbrus 2000 (e2k) architecture (#116) 2021-02-09 22:52:29 -06:00
f51e4ff45e Fix bad link to libstdc++. 2021-02-09 22:49:00 -06:00
40c6205858 Fix incorrect reference to IA-64 instead of X86-64. 2021-02-09 22:31:02 -06:00
caa0627ab5 Add Appveyor Windows CI back in.
fixes https://github.com/boostorg/predef/issues/59
fixes https://github.com/boostorg/predef/issues/87
2021-01-05 22:19:58 -06:00
a7ac034985 Add WORD_BITS predef detection.
fixes https://github.com/boostorg/predef/pull/107
fixes https://github.com/boostorg/predef/pull/108
2021-01-05 09:40:19 -06:00
6bcceefb48 Do info and header tests for all platforms. 2021-01-04 16:43:23 -06:00
d990549214 Fix redef of OS_BSD predef.
When a BSD sub-os header is included directly the general
OS_BSD predef is inidially defined as not-available. Which
warns as the sub-os header defines it. The fix is to unconditionally
un-def the OS_BSD predef.

fixes https://github.com/boostorg/predef/issues/111
2021-01-04 14:37:33 -06:00
e697cafd12 Fix not handling stdcxx recent versions that go above 10.x.
Fixes #112
2021-01-03 22:52:27 -06:00
99cfb298de Switch to using the endian.h header on OpenBSD. (#110)
Switch to using the endian.h header on OpenBSD.
2021-01-02 20:49:42 -06:00
17cb5b78d5 Start of 1.12 changes. 2021-01-02 17:57:43 -06:00
095faae58d Update meta info with name and cxxstd. 2021-01-02 07:22:57 -06:00
9c46a94ae5 Update copyright. Remove unused CI code. Upate AZP config.
(merge from hash-predef)
2020-03-24 10:25:28 -05:00
f6979bd4a7 Update history. 2020-03-24 10:09:49 -05:00
078226b9f8 wineg++ doesn't have <ntverp.h> either (#104) 2020-02-29 20:59:29 -06:00
966707dc1f Remove deprecated HASH_PREDEF_OS_ANDROID.
Fixes #101 (merge from hash-predef)
2020-02-29 09:34:42 -06:00
c092d00770 Fix UWP detection error on WinCE.
The ntverp.h header is not avilable on Win32 WinCE, just like MinGW32.

Fixes #102 (merge from hash-predef)
2020-02-29 08:06:33 -06:00
fa099f3b2c Fix C++ version number doc.
Fixes #105 (merge from hash-predef)
2020-02-28 23:35:01 -06:00
3330514089 Merge from hash-predef. 2020-02-28 23:31:33 -06:00
aa6e232bf1 Remove deprecated Boost endian macros. 2020-01-01 16:08:28 -06:00
fb59068deb Convert documentatio to Asciidoctor. 2019-12-31 16:14:17 -06:00
73d7b4f66f Fix bad checks on Boost release archive structure.
The headers on a Boost release are only present at the root. This adds that to the include search path so that the checks can also work on that structure.
2019-08-12 12:56:26 -05:00
29095cefd9 Start of 1.11 version. Add missing (c) for riscv.h 2019-08-04 09:20:13 -05:00
fc99bc29cb Add detection of RISC-V from __riscv (#97) 2019-08-03 10:27:22 -05:00
4bc7cc02ed Add RISC-V endian detection (#100)
boost/predef/other/endian.h has two ways of detecting the endianess:

 (1) It includes <endian.h> if BOOST_LIB_C_GNU is defined, and then
     use __BYTE_ORDER to decide the endianness.

 (2) Otherwise, if (1) was not possible for some reason, it uses
     architecture defines to decide the endianness.

(1) works perfectly fine with glibc toolchains, because
BOOST_LIB_C_GNU is defined, but it doesn't work with musl. Due to
this, <endian.h> is not included, __BYTE_ORDER is not defined, and
method (1) does not work, causing build failures on musl toolchains
that don't have explicit handling by architecture name (method 2).

So this commit fixes RISC-V musl build by adding support for the
__riscv architecture define, to determine that the endianness is
little endian.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-08-03 10:25:06 -05:00
094ac2ffdd Move to AZP for testing. 2019-04-21 22:15:17 -05:00
154 changed files with 10540 additions and 3888 deletions

3
.gitignore vendored
View File

@ -1,5 +1,6 @@
bin
.bin
boost-build.jam
project-config.jam
*.pyc
.vscode/settings.json
.vscode/ipch

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Boost Predef</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.python.pydev.PyDevBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.python.pydev.pythonNature</nature>
</natures>
</projectDescription>

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?eclipse-pydev version="1.0"?><pydev_project>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python interpreter</pydev_property>
</pydev_project>

View File

@ -1,129 +0,0 @@
# 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)
#
# Copyright Rene Rivera 2015-2018.
# Setting up notifications like this is optional as the default behavior
# of Travis is to notify the commiter of problems. But setting a specific
# recipient this way ensures you get all the communications about the
# builds.
notifications:
email:
recipients:
- grafikrobot@gmail.com
# We specify a generic language instead of C++ as Travis sets up
# additional environment vars that point to its default toolset
# instead of the one we install. The extra env doesn't interfere,
# but at the same time it's misleading. So to avoid confusion and
# possible unseen side effects we stick with no C++ default setup.
language: generic
# Speficy the default as Linux here, to avoid duplication in the matrix
# below. We use Trusty as that's the latest we can use. And it's better
# supported by the whole range of C++ toolsets we like to test on.
dist: trusty
os: linux
# Because we install our own toolsets and other software we need
# to run the sudo support.
sudo: required
# Travis has a long standing bug with their rather complicated
# build matrix evaluation that causes empty jobs to be created.
# This global matrix entry in combination with the exclusion
# below works around that bug. This is the suggested fix from
# the Travis support people.
env:
matrix:
- TRAVIS_EMPTY_JOB_WORKAROUND=true
# This lists all the toolsets we will test with the Boost CI
# scripts. Predef needs to check all of them as its job is to
# distiguish between all of them. For other libraries you would
# want to limit the list to the toolsets that are important
# for that.
matrix:
exclude:
- env: TRAVIS_EMPTY_JOB_WORKAROUND=true
include:
# Check CMake project use support.
- env: TEST_CMAKE
# Skip all the unneeded steps from the normal unit test jobs
install: true
before_script: true
before_cache: true
before_cache: true
after_success: true
after_failure: true
after_script: true
# Build CMake simple test project that uses Predef.
script:
- mkdir __build__ && cd __build__
- cmake ../test/test_cmake
- cmake --build .
- env: TOOLSET=clang-3.4
- env: TOOLSET=clang-3.5
- env: TOOLSET=clang-3.6
- env: TOOLSET=clang-3.7
- env: TOOLSET=clang-3.8
- env: TOOLSET=clang-3.9
- env: TOOLSET=clang-4.0
- env: TOOLSET=clang-5.0
- env: TOOLSET=gcc-4.7
- env: TOOLSET=gcc-4.8
- env: TOOLSET=gcc-4.9
- env: TOOLSET=gcc-5
- env: TOOLSET=gcc-6
- env: TOOLSET=gcc-7
- env: TOOLSET=gcc-8
- env: TOOLSET=gcc-8 CXXFLAGS=-std=c++03
- env: TOOLSET=gcc-8 CXXFLAGS=-std=c++11
- env: TOOLSET=gcc-8 CXXFLAGS=-std=c++14
- env: TOOLSET=gcc-8 CXXFLAGS=-std=c++17
- env: TOOLSET=gcc-8 CXXFLAGS=-std=c++2a
- env: TOOLSET=gcc-8 CXXFLAGS=-std=gnu++03
- env: TOOLSET=gcc-8 CXXFLAGS=-std=gnu++11
- env: TOOLSET=gcc-8 CXXFLAGS=-std=gnu++14
- env: TOOLSET=gcc-8 CXXFLAGS=-std=gnu++17
- env: TOOLSET=gcc-8 CXXFLAGS=-std=gnu++2a
- env: TOOLSET=xcode-6.1
os: osx
- env: TOOLSET=xcode-6.4
os: osx
osx_image: xcode6.4
- env: TOOLSET=xcode-7.3
os: osx
osx_image: xcode7.3
- env: TOOLSET=xcode-8.3
os: osx
osx_image: xcode8.3
- env: TOOLSET=xcode-9.4 CXXFLAGS=-std=c++03
os: osx
osx_image: xcode9.4
- env: TOOLSET=xcode-9.4 CXXFLAGS=-std=c++11
os: osx
osx_image: xcode9.4
- env: TOOLSET=xcode-9.4 CXXFLAGS=-std=c++14
os: osx
osx_image: xcode9.4
- env: TOOLSET=xcode-9.4 CXXFLAGS=-std=c++17
os: osx
osx_image: xcode9.4
- env: TOOLSET=xcode-9.4 CXXFLAGS=-std=c++2a
os: osx
osx_image: xcode9.4
- env: TOOLSET=xcode-10.0
os: osx
osx_image: xcode10.0
install: python "${TRAVIS_BUILD_DIR}/tools/ci/library_test.py" install
before_script: python "${TRAVIS_BUILD_DIR}/tools/ci/library_test.py" before_script
script: python "${TRAVIS_BUILD_DIR}/tools/ci/library_test.py" script
before_cache: python "${TRAVIS_BUILD_DIR}/tools/ci/library_test.py" before_cache
after_success: python "${TRAVIS_BUILD_DIR}/tools/ci/library_test.py" after_success
after_failure: python "${TRAVIS_BUILD_DIR}/tools/ci/library_test.py" after_failure
after_script: python "${TRAVIS_BUILD_DIR}/tools/ci/library_test.py" after_script

View File

@ -25,7 +25,7 @@ cmake_minimum_required( VERSION 3.0 )
# Don't set VERSION, as that's a pita to keep up to date with the version
# header. And don't set LANGUAGES as we are multi-language and header
# only, so it's irrelevant.
project( BoostPredef )
project( BoostPredef LANGUAGES NONE )
# Simple INTERFACE, and header only, library target.
add_library( boost_predef INTERFACE )

View File

@ -1,149 +0,0 @@
# 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)
#
# Copyright Rene Rivera 2015-2016.
# Set up notifications so that the maintainers of the library get
# build status messages.
notifications:
- provider: Email
to:
- grafikrobot@gmail.com
on_build_status_changed: true
# This lists all the toolsets we will test with the Boost CI
# scripts. Predef needs to check all of them as its job is to
# distiguish between all of them. For other libraries you would
# want to limit the list to the toolsets that are important
# for that.
#
# This also includes setting up how to create the cache. We
# opt for slightly better compression and solid archives.
# As we have a lot of files in the boost tree which is what
# we are putting in the cache.
environment:
APPVEYOR_CACHE_ENTRY_ZIP_ARGS: -t7z -m0=lzma2 -mx=3
matrix:
- TOOLSET: vs-2008
platform: 32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: vs-2010
platform: 32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: vs-2012
platform: 32
- TOOLSET: vs-2012
COMMENT: UWP DESKTOP
CXXFLAGS: /D_WIN32_WINNT=0x0602 /DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
platform: 32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: vs-2012
COMMENT: UWP STORE
CXXFLAGS: /D_WIN32_WINNT=0x0602 /DWINAPI_FAMILY=WINAPI_FAMILY_APP
platform: 32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: vs-2013
platform: 32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: vs-2013
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: vs-2013
COMMENT: UWP DESKTOP
CXXFLAGS: /D_WIN32_WINNT=0x0603 /DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: vs-2013
COMMENT: UWP PHONE
CXXFLAGS: /D_WIN32_WINNT=0x0603 /DWINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: vs-2013
COMMENT: UWP STORE
CXXFLAGS: /D_WIN32_WINNT=0x0603 /DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: vs-2015
platform: 32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: vs-2015
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: vs-2017
platform: 32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: vs-2017
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: vs-2017
CXXFLAGS: /std:c++14
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: vs-2017
CXXFLAGS: /std:c++latest
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: vs-2017
COMMENT: UWP DESKTOP
CXXFLAGS: /D_WIN32_WINNT=0x0A00 /DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: vs-2017
COMMENT: UWP PHONE
CXXFLAGS: /D_WIN32_WINNT=0x0A00 /DWINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: vs-2017
COMMENT: UWP STORE
CXXFLAGS: /D_WIN32_WINNT=0x0A00 /DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: vs-2017
COMMENT: UWP SERVER
CXXFLAGS: /D_WIN32_WINNT=0x0A00 /DWINAPI_FAMILY=WINAPI_FAMILY_SERVER
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: vs-2017
COMMENT: UWP SYSTEM
CXXFLAGS: /D_WIN32_WINNT=0x0A00 /DWINAPI_FAMILY=WINAPI_FAMILY_SYSTEM
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- TOOLSET: mingw-5
platform: 32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: mingw64-6
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: mingw64-6
COMMENT: UWP DESKTOP
CXXFLAGS: -D_WIN32_WINNT=0x0602 -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: mingw64-6
COMMENT: UWP STORE
CXXFLAGS: -D_WIN32_WINNT=0x0602 -DWINAPI_FAMILY=WINAPI_FAMILY_APP
platform: 64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# We can also set up configurations for testing which map to
# the b2 build variants.
configuration:
- debug
- release
# No need to test PR branch as the PR itself is already tested.
skip_branch_with_pr: true
init:
- cd %APPVEYOR_BUILD_FOLDER%
install: python tools/ci/library_test.py install
before_build: python tools/ci/library_test.py before_build
build_script: python tools/ci/library_test.py build_script
after_build: python tools/ci/library_test.py after_build
before_test: python tools/ci/library_test.py before_test
test_script: python tools/ci/library_test.py test_script
after_test: python tools/ci/library_test.py after_test
on_success: python tools/ci/library_test.py on_success
on_failure: python tools/ci/library_test.py on_failure
on_finish: python tools/ci/library_test.py on_finish

226
azure-pipelines.yml Normal file
View File

@ -0,0 +1,226 @@
# 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)
#
# Copyright Rene Rivera 2019-2020.
trigger:
branches:
include:
- develop
- master
- feature/*
pr:
branches:
include:
- develop
variables:
AZP: 1
AZP_REPO_DIR: $(Build.Repository.LocalPath)
AZP_BRANCH: $(Build.SourceBranch)
AZP_BRANCH_NAME: $(Build.SourceBranchName)
AZP_COMMIT: $(Build.SourceVersion)
AZP_REPO: $(Build.Repository.Name)
AZP_PULL_REQUEST: $(System.PullRequest.PullRequestNumber)
stages:
- stage: Test
jobs:
- job: 'Linux'
strategy:
matrix:
GCC 10 (GNU): { CXX: g++-10, PACKAGES: g++-10, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc, B2_ARGS: 'cxxstd=03,11,14,17,2a cxxstd-dialect=gnu' }
GCC 10 (ISO): { CXX: g++-10, PACKAGES: g++-10, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc, B2_ARGS: 'cxxstd=03,11,14,17,2a cxxstd-dialect=iso' }
GCC 10: { CXX: g++-10, PACKAGES: g++-10, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
GCC 9: { CXX: g++-9, PACKAGES: g++-9, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
GCC 8: { CXX: g++-8, PACKAGES: g++-8, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
GCC 7: { CXX: g++-7, PACKAGES: g++-7, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
GCC 6: { CXX: g++-6, PACKAGES: g++-6, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
GCC 5: { CXX: g++-5, PACKAGES: g++-5, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
GCC 4.9: { CXX: g++-4.9, PACKAGES: g++-4.9, VM_IMAGE: 'ubuntu-16.04', TOOLSET: gcc }
GCC 4.8: { CXX: g++-4.8, PACKAGES: g++-4.8, VM_IMAGE: 'ubuntu-16.04', TOOLSET: gcc }
GCC 4.7: { CXX: g++-4.7, PACKAGES: g++-4.7, VM_IMAGE: 'ubuntu-16.04', TOOLSET: gcc }
Clang 11: { CXX: clang++-11, PACKAGES: clang-11, LLVM_OS: bionic, LLVM_VER: 11, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 10: { CXX: clang++-10, PACKAGES: clang-10, LLVM_OS: bionic, LLVM_VER: 10, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 9: { CXX: clang++-9, PACKAGES: clang-9, LLVM_OS: bionic, LLVM_VER: 9, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 8: { CXX: clang++-8, PACKAGES: clang-8, LLVM_OS: bionic, LLVM_VER: 8, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 7: { CXX: clang++-7, PACKAGES: clang-7, LLVM_OS: bionic, LLVM_VER: 7, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 6.0: { CXX: clang++-6.0, PACKAGES: clang-6.0, LLVM_OS: bionic, LLVM_VER: 6.0, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 5.0: { CXX: clang++-5.0, PACKAGES: clang-5.0, LLVM_OS: bionic, LLVM_VER: 5.0, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 4.0: { CXX: clang++-4.0, PACKAGES: clang-4.0, LLVM_OS: xenial, LLVM_VER: 4.0, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 3.9: { CXX: clang++-3.9, PACKAGES: clang-3.9, LLVM_OS: xenial, LLVM_VER: 3.9, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 3.8: { CXX: clang++-3.8, PACKAGES: clang-3.8, LLVM_OS: xenial, LLVM_VER: 3.8, VM_IMAGE: 'ubuntu-16.04', TOOLSET: clang }
Clang 3.7: { CXX: clang++-3.7, PACKAGES: clang-3.7, LLVM_OS: xenial, VM_IMAGE: 'ubuntu-16.04', TOOLSET: clang }
Clang 3.6: { CXX: clang++-3.6, PACKAGES: clang-3.6, LLVM_OS: xenial, VM_IMAGE: 'ubuntu-16.04', TOOLSET: clang }
Clang 3.5: { CXX: clang++-3.5, PACKAGES: clang-3.5, LLVM_OS: xenial, VM_IMAGE: 'ubuntu-16.04', TOOLSET: clang }
pool:
vmImage: $(VM_IMAGE)
steps:
- bash: |
set -e
uname -a
./tools/ci/linux-cxx-install.sh
displayName: 'Install CXX'
- bash: |
set -e
pushd ${HOME}
wget -nv https://github.com/boostorg/build/archive/develop.tar.gz
tar -zxf develop.tar.gz
cd build-develop
CXX= ./bootstrap.sh
sudo ./b2 install
popd
displayName: 'Install B2'
- bash: |
set -e
CXX_PATH=`which ${CXX}`
echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
pushd test
b2 --verbose-test -a toolset=${TOOLSET} ${B2_ARGS} predef-info
b2 --debug-configuration -a toolset=${TOOLSET} ${B2_ARGS} predef predef-headers
popd
displayName: Test
- job: 'macOS'
strategy:
matrix:
Xcode 11.4.1:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_11.4.1.app
VM_IMAGE: 'macOS-10.15'
Xcode 11.3.1:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_11.3.1.app
VM_IMAGE: 'macOS-10.15'
Xcode 11.2.1:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_11.2.1.app
VM_IMAGE: 'macOS-10.15'
Xcode 10.3:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_10.3.app
VM_IMAGE: 'macOS-10.14'
Xcode 10.2.1:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_10.2.1.app
VM_IMAGE: 'macOS-10.14'
Xcode 10.1:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_10.1.app
VM_IMAGE: 'macOS-10.14'
Xcode 10.0:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_10.app
VM_IMAGE: 'macOS-10.14'
pool:
vmImage: $(VM_IMAGE)
steps:
- bash: |
set -e
uname -a
sudo xcode-select -switch ${XCODE_APP}
which clang++
clang++ --version
displayName: 'Install CXX'
- bash: |
set -e
pushd ${HOME}
wget -nv https://github.com/boostorg/build/archive/develop.tar.gz
tar -zxf develop.tar.gz
cd build-develop
CXX= ./bootstrap.sh
sudo ./b2 install
popd
displayName: 'Install B2'
- bash: |
set -e
CXX_PATH=`which ${CXX}`
echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
pushd test
b2 --verbose-test -a toolset=${TOOLSET} ${B2_ARGS} predef-info
b2 --debug-configuration -a toolset=${TOOLSET} ${B2_ARGS} predef predef-headers
popd
displayName: Test
- job: 'Windows'
strategy:
matrix:
VS 2019:
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=32,64 cxxstd=14,latest
VM_IMAGE: 'windows-2019'
VS 2019 (UWP DESKTOP):
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
VM_IMAGE: 'windows-2019'
VS 2019 (UWP PHONE):
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP
VM_IMAGE: 'windows-2019'
VS 2019 (UWP STORE):
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_PC_APP
VM_IMAGE: 'windows-2019'
VS 2019 (UWP SERVER):
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_SERVER
VM_IMAGE: 'windows-2019'
VS 2019 (UWP SYSTEM):
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_SYSTEM
VM_IMAGE: 'windows-2019'
VS 2017:
TOOLSET: msvc
TOOLSET_VERSION: 14.1
VM_IMAGE: 'vs2017-win2016'
MinGW 8.1.0:
TOOLSET: gcc
VM_IMAGE: 'windows-2019'
MinGW 8.1.0 (UWP DESKTOP):
TOOLSET: gcc
B2_ARGS: define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
VM_IMAGE: 'windows-2019'
MinGW 8.1.0 (UWP STORE):
TOOLSET: gcc
B2_ARGS: define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_PC_APP
VM_IMAGE: 'windows-2019'
pool:
vmImage: $(VM_IMAGE)
steps:
- script: |
cd %BUILD_SOURCESDIRECTORY%/..
curl "https://github.com/boostorg/build/archive/develop.zip" -L -o b2.zip
displayName: Download B2
- task: ExtractFiles@1
inputs:
archiveFilePatterns: $(Build.SourcesDirectory)/../b2.zip
destinationFolder: $(Build.SourcesDirectory)/..
cleanDestinationFolder: false
displayName: Extract B2
- script: |
echo using %TOOLSET% ^: %TOOLSET_VERSION% ^; > %HOMEDRIVE%%HOMEPATH%/user-config.jam
cd %BUILD_SOURCESDIRECTORY%/../build-develop
cmd.exe /c bootstrap.bat
displayName: Install B2
- script: |
set BOOST_BUILD_PATH=%BUILD_SOURCESDIRECTORY%/../build-develop
cd %BUILD_SOURCESDIRECTORY%/test
%BUILD_SOURCESDIRECTORY%/../build-develop/b2.exe --verbose-test -a toolset=%TOOLSET% %B2_ARGS% predef-info
%BUILD_SOURCESDIRECTORY%/../build-develop/b2.exe --debug-configuration -a toolset=%TOOLSET% %B2_ARGS% predef predef-headers
displayName: Test

View File

@ -37,7 +37,7 @@ project /boost/predef
if [ project.is-jamroot-module $(__name__) ]
{
local attributes = [ project.attributes $(__name__) ] ;
$(attributes).set "build-dir" : bin ;
$(attributes).set "build-dir" : .bin ;
}
alias libs ;

1
doc/.gitignore vendored
View File

@ -1 +0,0 @@
/html/

View File

@ -1,100 +1,38 @@
# Copyright Rene Rivera 2011-2016
# 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)
#|
Copyright Rene Rivera 2011-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)
|#
using quickbook ;
using boostbook ;
import asciidoctor ;
import modules ;
import path ;
if ! $(BOOST_ROOT)
{
BOOST_ROOT = [ modules.peek : BOOST_ROOT ] ;
}
project predefdoc ;
if $(BOOST_PREDEF_ROOT)
{
path-constant BOOST_PREDEF_INCLUDE_ROOT : $(BOOST_PREDEF_ROOT)/include ;
}
else
{
path-constant BOOST_PREDEF_INCLUDE_ROOT : $(BOOST_ROOT) ;
}
path-constant PYGMENTS_DIR : . ;
local BOOST_PREDEF_HEADERS = [ path.glob-tree $(BOOST_PREDEF_INCLUDE_ROOT)/boost/predef : *.h ] ;
doc-dir = [ MATCH "--doc-dir=(.*)" : [ modules.peek : ARGV ] ] ;
doc-dir ?= . ;
# Intermediate targets..
local headers = [ glob-tree-ex $(BOOST_PREDEF_INCLUDE) : *.h ] ;
# Quickbok to boostbook target.
xml predef
html index : predef.adoc :
:
predef.qbk
:
<dependency>$(BOOST_PREDEF_INCLUDE_ROOT)/boost/predef.h
<dependency>$(BOOST_PREDEF_HEADERS)
<flags>--require=$(PYGMENTS_DIR)/pygments_init.rb
<flags>--trace
<flags>--verbose
<dependency>$(PYGMENTS_DIR)/pygments_init.rb
<dependency>$(headers)
;
explicit predef ;
explicit index ;
# HTML dependencies for standalone docs.
install images : [ glob $(BOOST_ROOT)/doc/src/images/*.png ] : <location>html/images ;
explicit images ;
install callouts : [ glob $(BOOST_ROOT)/doc/src/images/callouts/*.png ] : <location>html/images/callouts ;
explicit callouts ;
install css : [ glob $(BOOST_ROOT)/doc/src/*.css ] : <location>html ;
explicit css ;
install html : index : <location>$(doc-dir) ;
explicit html ;
# Default target builds standalone docs.
boostbook standalone
:
predef
:
<xsl:param>boost.root=../../../..
#<xsl:param>generate.section.toc.level=3
<xsl:param>chunk.section.depth=2
<xsl:param>chunk.first.sections=1
<dependency>images
<dependency>callouts
<dependency>css
;
###############################################################################
### Targets for Boost release integration.
###############################################################################
# Target for Boost global documentation integration.
#
# For documentation that will be integrated into the global documentation
# this should be an alias similar to:
#
# alias boostdoc : my_lib : : : <implicit-dependency>my_lib_boostbook_xml ;
# explicit boostdoc ;
#
# For documentation that is not part of the global documentation, i.e.
# it has stadalone documentation, it should be an empty alias:
#
# alias boostdoc ;
# explicit boostdoc ;
#
alias boostdoc : predef ;
alias boostdoc ;
explicit boostdoc ;
# Target for Boost standalone release documentation building.
#
# For documentation that is not part of the global Boost documentation
# this should be an alias to building the "standalone" documentation.
# Usual this is just an alias to a "stadalone" target:
#
# alias boostrelease : stadalone ;
# explicit boostrelease ;
#
# For documentation that is part of the global Boost documentation this
# should be an empty alias:
#
# alias boostrelease ;
# explicit boostrelease ;
#
alias boostrelease ;
alias boostrelease : html ;
explicit boostrelease ;
###############################################################################

View File

@ -1,89 +0,0 @@
SIMD predefs depend on compiler options. For example, you will have to add the
option `-msse3` to clang or gcc to enable SSE3. SIMD predefs are also inclusive.
This means that if SSE3 is enabled, then every other extensions with a lower
version number will implicitly be enabled and detected. However, some extensions
are CPU specific, they may not be detected nor enabled when an upper version is
enabled.
[note SSE(1) and SSE2 are automatically enabled by default when using x86-64
architecture.]
To check if any SIMD extension has been enabled, you can use:
``
#include <boost/predef/hardware/simd.h>
#include <iostream>
int main()
{
#if defined(BOOST_HW_SIMD_AVAILABLE)
std::cout << "SIMD detected!" << std::endl;
#endif
return 0;
}
``
When writing SIMD specific code, you may want to check if a particular extension
has been detected. To do so you have to use the right architecture predef and
compare it. Those predef are of the form `BOOST_HW_SIMD_"ARCH"` (where `"ARCH"`
is either `ARM`, `PPC`, or `X86`). For example, if you compile code for x86
architecture, you will have to use `BOOST_HW_SIMD_X86`. Its value will be the
version number of the most recent SIMD extension detected for the architecture.
To check if an extension has been enabled:
``
#include <boost/predef/hardware/simd.h>
#include <iostream>
int main()
{
#if BOOST_HW_SIMD_X86 >= BOOST_HW_SIMD_X86_SSE3_VERSION
std::cout << "This is SSE3!" << std::endl;
#endif
return 0;
}
``
[note The *_VERSION* defines that map version number to actual real
identifiers. This way it is easier to write comparisons without messing up with
version numbers.]
To *"stricly"* check the most recent detected extension:
``
#include <boost/predef/hardware/simd.h>
#include <iostream>
int main()
{
#if BOOST_HW_SIMD_X86 == BOOST_HW_SIMD_X86_SSE3_VERSION
std::cout << "This is SSE3 and this is the most recent enabled extension!"
<< std::endl;
#endif
return 0;
}
``
Because of the version systems of predefs and of the inclusive property of SIMD
extensions macros, you can easily check for ranges of supported extensions:
``
#include <boost/predef/hardware/simd.h>
#include <iostream>
int main()
{
#if BOOST_HW_SIMD_X86 >= BOOST_HW_SIMD_X86_SSE2_VERSION &&\
BOOST_HW_SIMD_X86 <= BOOST_HW_SIMD_X86_SSSE3_VERSION
std::cout << "This is SSE2, SSE3 and SSSE3!" << std::endl;
#endif
return 0;
}
``
[note Unlike gcc and clang, Visual Studio does not allow you to specify precisely
the SSE variants you want to use, the only detections that will take place are
SSE, SSE2, AVX and AVX2. For more informations,
see [@https://msdn.microsoft.com/en-us/library/b0084kay.aspx here].]

View File

@ -1,13 +1,41 @@
[/
Copyright 2014-2016 Rene Rivera
////
Copyright 2014-2021 Rene Rivera
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)
]
////
[section History]
= History
[heading 1.10]
== 1.13
* Add `ARCH_PPC_64` predef.
* Fix `ARCH_WORD_BITS*` redefinition warnings/errors.
* Add `ARCH_E2K`, Elbrus 2000, architecture from Konstantin Ivlev.
* Fix not handling recent C++ version that go above 10.x version.
== 1.12
* Switch to using the endian.h header on OpenBSD. (Brad Smith)
* Fix not handling recent versions of stdcxx that go above version 9.
* Fix including sub-BSD OS headers directly causing redef warnings.
* Add CI testing of direct inclusion of all headers.
* Add CI testing on FreeBSD for clang and gcc.
* Add `WORD_BITS` set of predefs to detect the architecture word size.
Initial implementation inspired by submission from Mikhail Komarov.
* Add CI testing for Cygwin 32 and 64.
== 1.11
* Add `BOOST_ARCH_RISCV`. (from Andreas Schwab)
* Add RISC-V endian detection. (from Thomas Petazzoni)
* Convert documentation to AsciiDoctor format.
* Document correct versions for C++ standard.
* Fix compile error from not available header when building in WinCE.
* Remove deprecated `BOOST_OS_ANDROID`.
* Fix compile for Wine. (Kevin Puetz)
== 1.10
* Fix bad include of sub-BSD os headers from main BSD header.
* Fix use of deprecated `TARGET_IPHONE_SIMULATOR` instead of newer
@ -18,12 +46,12 @@ http://www.boost.org/LICENSE_1_0.txt)
* Add support for consuming Predef as a CMake project.
* Add support for consuming Predef as a standalone B2 project.
[heading 1.9]
== 1.9
* Fixes for `BOOST_COMP_NVCC*` predefs. (from Benjamin Worpitz)
* Add specific version information for Cygwin OS predef. (from James E. King III)
[heading 1.8]
== 1.8
* Add support for __ARM_ARCH macro. (from Tim Blechmann)
* Add detection for PTX architecture. (from Benjamin Worpitz)
@ -31,15 +59,15 @@ http://www.boost.org/LICENSE_1_0.txt)
* Add support for detecting CUDA. (from Benjamin Worpitz)
* Remove reference to obsolete BOOST_ARCH_AMD64. (from Peter Kolbus)
[heading 1.7]
== 1.7
* Fix BOOST_ARCH_PARISK/BOOST_ARCH_PARISC typo.
* Improved Windows Universal Platform detection. (from James E. King, III)
* Add detection for CloudABI with cloudlibc. (from James E. King, III)
[heading 1.6]
== 1.6
* Fix Intel C/C++ version 9999 detection to be 12.1.0.
* Fix Intel C/{CPP} version 9999 detection to be 12.1.0.
* Addition of `BOOST_PREDEF_WORKAROUND` and `BOOST_PREDEF_TESTED_AT` macros
for defect workarounds and detection.
* Add ARM64 MSVC SIMD detection. (from Minmin Gong)
@ -47,21 +75,21 @@ http://www.boost.org/LICENSE_1_0.txt)
Baratov)
* Fix MinGW incorrect header guard. (from Ruslan Baratov)
[heading 1.5]
== 1.5
* Fix Intel C/C++ compiler version specification.
* Fix Intel C/{CPP} compiler version specification.
* Add `BOOST_VERSION_NUMBER_MAJOR`, `BOOST_VERSION_NUMBER_MINOR`,
`BOOST_VERSION_NUMBER_PATCH` macros to extract components from valid version
numbers.
* Change VS version numbering. Version after VS2015 will use the compiler
version instead of the varied product versions.
[heading 1.4.1]
== 1.4.1
* Small fixes for some redefinition errors, and mispelled macros.
* Slightly rearrangement of structure to comply with current library requirements.
[heading 1.4]
== 1.4
* Add detection of SIMD hardware. With the addition of the `BOOST_HW_*`
category (from Charly Chevalier).
@ -70,16 +98,16 @@ http://www.boost.org/LICENSE_1_0.txt)
* Fix test warnings.
* Fix typos on `AVAILABLE` macros for Windows Platform. (from Vemund Handeland)
[heading 1.3]
== 1.3
* Fix many problems with `predef_check` functionality.
* Update SunPro detection to accomodate latest version of compiler from Oracle.
* Update SunPro detection to accommodate latest version of compiler from Oracle.
* Addition of Travis-CI and Appveyor testing.
* Add `and` and `or` logical operators for `predef_check` expression on the Boost Build side.
* Fix `BOOST_ARCH_PARISC` to correctly spelled name (from Graham Hanson).
* Fix `MAKE_YYYYM` macros to correctly limit the month (from rick68).
[heading 1.2]
== 1.2
* Account for skip in Visual Studio product version vs. compiler version.
This supports version of VS 2015 an onward.
@ -89,7 +117,7 @@ http://www.boost.org/LICENSE_1_0.txt)
* Add `predef_check` program and BBv2 integration for build configuration
checks.
[heading 1.1]
== 1.1
* Addition of `BOOST_PLAT_*` platform definitions for MinGW and
Windows platform variants.
@ -101,9 +129,7 @@ http://www.boost.org/LICENSE_1_0.txt)
* Addition of exclusive plus emulated definitions for platform
and compiler detection.
[warning The big change for this version is the restructuring of the
WARNING: The big change for this version is the restructuring of the
definitions to avoid duplicate definitions in one category. That is, only one
`BOOST_OS_*`, `BOOST_COMP_*`, and `BOOST_PLAT_*` variant will be detected
(except for sub-categories).]
[endsect]
(except for sub-categories).

7316
doc/index.html Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

45
doc/predef.css Normal file
View File

@ -0,0 +1,45 @@
/*
Copyright 2018-2019 Rene Rivera
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
*/
.admonitionblock .icon .title {
font-size: 2.5em;
text-shadow: 1px 1px 2px rgba(0, 0, 0, .5);
}
.caution .icon .title {
color: rgba(192, 51, 0, 1);
}
.important .icon .title {
color: rgba(192, 0, 0, 1);
}
.note .icon .title {
color: rgba(26, 64, 128, 1);
}
.tip .icon .title {
color: rgba(255, 192, 0, 1);
}
.warning .icon .title {
color: rgba(192, 102, 0, 1);
}
p,blockquote,dt,td.content,span.alt {
font-size: 1.1rem
}
h1, h2, h3, h4, h5, h6 {
font-weight: bold;
}
h1 {
font-size: 2.25em;
}
h2 {
font-size: 1.5em;
}
h3,#toctitle,.sidebarblock>.content>.title {
font-size: 1.3em;
}
h4, h5 {
font-size: 1.2em;
}
h6 {
font-size: 1.1em;
}

11
doc/pygments_init.rb Normal file
View File

@ -0,0 +1,11 @@
=begin
Copyright 2018 Rene Rivera
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE.txt or http://www.boost.org/LICENSE_1_0.txt)
=end
require 'pygments'
# Need to create/register non-builtin lexers even if they are global plugins.
Pygments::Lexer.create name: 'Jam', aliases: ['jam','bjam','b2'],
filenames: ['*.jam','Jamfile','Jamroot'], mimetypes: ['text/x-jam']

View File

@ -1,12 +1,10 @@
[/
////
Copyright 2014-2017 Rene Rivera
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)
]
////
[section To Do]
= To Do
* Improve reference documentation.
[endsect]

View File

@ -1,11 +0,0 @@
// Copyright 2013 Rene Rivera
// Distributed under the Boost Software License, Version 1.0. (See accompany-
// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_DETAIL_ENDIAN_HPP
#define BOOST_DETAIL_ENDIAN_HPP
// Use the Predef library for the detection of endianess.
#include <boost/predef/detail/endian_compat.h>
#endif

View File

@ -14,6 +14,7 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/architecture/arm.h>
#include <boost/predef/architecture/blackfin.h>
#include <boost/predef/architecture/convex.h>
#include <boost/predef/architecture/e2k.h>
#include <boost/predef/architecture/ia64.h>
#include <boost/predef/architecture/m68k.h>
#include <boost/predef/architecture/mips.h>
@ -21,6 +22,7 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/architecture/ppc.h>
#include <boost/predef/architecture/ptx.h>
#include <boost/predef/architecture/pyramid.h>
#include <boost/predef/architecture/riscv.h>
#include <boost/predef/architecture/rs6k.h>
#include <boost/predef/architecture/sparc.h>
#include <boost/predef/architecture/superh.h>
@ -28,6 +30,5 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/architecture/sys390.h>
#include <boost/predef/architecture/x86.h>
#include <boost/predef/architecture/z.h>
/*#include <boost/predef/architecture/.h>*/
#endif

View File

@ -11,22 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_ALPHA`]
/* tag::reference[]
= `BOOST_ARCH_ALPHA`
[@http://en.wikipedia.org/wiki/DEC_Alpha DEC Alpha] architecture.
http://en.wikipedia.org/wiki/DEC_Alpha[DEC Alpha] architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[[`__alpha__`] [__predef_detection__]]
[[`__alpha`] [__predef_detection__]]
[[`_M_ALPHA`] [__predef_detection__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
| `+__alpha__+` | {predef_detection}
| `+__alpha+` | {predef_detection}
| `+_M_ALPHA+` | {predef_detection}
[[`__alpha_ev4__`] [4.0.0]]
[[`__alpha_ev5__`] [5.0.0]]
[[`__alpha_ev6__`] [6.0.0]]
]
*/
| `+__alpha_ev4__+` | 4.0.0
| `+__alpha_ev5__+` | 5.0.0
| `+__alpha_ev6__+` | 6.0.0
|===
*/ // end::reference[]
#define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -51,6 +52,11 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_ALPHA_AVAILABLE
#endif
#if BOOST_ARCH_ALPHA
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_ALPHA_NAME "DEC Alpha"
#endif

View File

@ -13,59 +13,60 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_ARM`]
/* tag::reference[]
= `BOOST_ARCH_ARM`
[@http://en.wikipedia.org/wiki/ARM_architecture ARM] architecture.
http://en.wikipedia.org/wiki/ARM_architecture[ARM] architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__ARM_ARCH`] [__predef_detection__]]
[[`__TARGET_ARCH_ARM`] [__predef_detection__]]
[[`__TARGET_ARCH_THUMB`] [__predef_detection__]]
[[`_M_ARM`] [__predef_detection__]]
[[`__arm__`] [__predef_detection__]]
[[`__arm64`] [__predef_detection__]]
[[`__thumb__`] [__predef_detection__]]
[[`_M_ARM64`] [__predef_detection__]]
[[`__aarch64__`] [__predef_detection__]]
[[`__AARCH64EL__`] [__predef_detection__]]
[[`__ARM_ARCH_7__`] [__predef_detection__]]
[[`__ARM_ARCH_7A__`] [__predef_detection__]]
[[`__ARM_ARCH_7R__`] [__predef_detection__]]
[[`__ARM_ARCH_7M__`] [__predef_detection__]]
[[`__ARM_ARCH_6K__`] [__predef_detection__]]
[[`__ARM_ARCH_6Z__`] [__predef_detection__]]
[[`__ARM_ARCH_6KZ__`] [__predef_detection__]]
[[`__ARM_ARCH_6T2__`] [__predef_detection__]]
[[`__ARM_ARCH_5TE__`] [__predef_detection__]]
[[`__ARM_ARCH_5TEJ__`] [__predef_detection__]]
[[`__ARM_ARCH_4T__`] [__predef_detection__]]
[[`__ARM_ARCH_4__`] [__predef_detection__]]
| `+__ARM_ARCH+` | {predef_detection}
| `+__TARGET_ARCH_ARM+` | {predef_detection}
| `+__TARGET_ARCH_THUMB+` | {predef_detection}
| `+_M_ARM+` | {predef_detection}
| `+__arm__+` | {predef_detection}
| `+__arm64+` | {predef_detection}
| `+__thumb__+` | {predef_detection}
| `+_M_ARM64+` | {predef_detection}
| `+__aarch64__+` | {predef_detection}
| `+__AARCH64EL__+` | {predef_detection}
| `+__ARM_ARCH_7__+` | {predef_detection}
| `+__ARM_ARCH_7A__+` | {predef_detection}
| `+__ARM_ARCH_7R__+` | {predef_detection}
| `+__ARM_ARCH_7M__+` | {predef_detection}
| `+__ARM_ARCH_6K__+` | {predef_detection}
| `+__ARM_ARCH_6Z__+` | {predef_detection}
| `+__ARM_ARCH_6KZ__+` | {predef_detection}
| `+__ARM_ARCH_6T2__+` | {predef_detection}
| `+__ARM_ARCH_5TE__+` | {predef_detection}
| `+__ARM_ARCH_5TEJ__+` | {predef_detection}
| `+__ARM_ARCH_4T__+` | {predef_detection}
| `+__ARM_ARCH_4__+` | {predef_detection}
[[`__ARM_ARCH`] [V.0.0]]
[[`__TARGET_ARCH_ARM`] [V.0.0]]
[[`__TARGET_ARCH_THUMB`] [V.0.0]]
[[`_M_ARM`] [V.0.0]]
[[`__arm64`] [8.0.0]]
[[`_M_ARM64`] [8.0.0]]
[[`__aarch64__`] [8.0.0]]
[[`__AARCH64EL__`] [8.0.0]]
[[`__ARM_ARCH_7__`] [7.0.0]]
[[`__ARM_ARCH_7A__`] [7.0.0]]
[[`__ARM_ARCH_7R__`] [7.0.0]]
[[`__ARM_ARCH_7M__`] [7.0.0]]
[[`__ARM_ARCH_6K__`] [6.0.0]]
[[`__ARM_ARCH_6Z__`] [6.0.0]]
[[`__ARM_ARCH_6KZ__`] [6.0.0]]
[[`__ARM_ARCH_6T2__`] [6.0.0]]
[[`__ARM_ARCH_5TE__`] [5.0.0]]
[[`__ARM_ARCH_5TEJ__`] [5.0.0]]
[[`__ARM_ARCH_4T__`] [4.0.0]]
[[`__ARM_ARCH_4__`] [4.0.0]]
]
*/
| `+__ARM_ARCH+` | V.0.0
| `+__TARGET_ARCH_ARM+` | V.0.0
| `+__TARGET_ARCH_THUMB+` | V.0.0
| `+_M_ARM+` | V.0.0
| `+__arm64+` | 8.0.0
| `+_M_ARM64+` | 8.0.0
| `+__aarch64__+` | 8.0.0
| `+__AARCH64EL__+` | 8.0.0
| `+__ARM_ARCH_7__+` | 7.0.0
| `+__ARM_ARCH_7A__+` | 7.0.0
| `+__ARM_ARCH_7R__+` | 7.0.0
| `+__ARM_ARCH_7M__+` | 7.0.0
| `+__ARM_ARCH_6K__+` | 6.0.0
| `+__ARM_ARCH_6Z__+` | 6.0.0
| `+__ARM_ARCH_6KZ__+` | 6.0.0
| `+__ARM_ARCH_6T2__+` | 6.0.0
| `+__ARM_ARCH_5TE__+` | 5.0.0
| `+__ARM_ARCH_5TEJ__+` | 5.0.0
| `+__ARM_ARCH_4T__+` | 4.0.0
| `+__ARM_ARCH_4__+` | 4.0.0
|===
*/ // end::reference[]
#define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -125,6 +126,16 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_ARM_AVAILABLE
#endif
#if BOOST_ARCH_ARM
# if BOOST_ARCH_ARM >= BOOST_VERSION_NUMBER(8,0,0)
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
# else
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#define BOOST_ARCH_ARM_NAME "ARM"
#endif

View File

@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_BLACKFIN`]
/* tag::reference[]
= `BOOST_ARCH_BLACKFIN`
Blackfin Processors from Analog Devices.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__bfin__`] [__predef_detection__]]
[[`__BFIN__`] [__predef_detection__]]
[[`bfin`] [__predef_detection__]]
[[`BFIN`] [__predef_detection__]]
]
*/
| `+__bfin__+` | {predef_detection}
| `+__BFIN__+` | {predef_detection}
| `bfin` | {predef_detection}
| `BFIN` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_ARCH_BLACKFIN BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -38,6 +39,11 @@ Blackfin Processors from Analog Devices.
# define BOOST_ARCH_BLACKFIN_AVAILABLE
#endif
#if BOOST_ARCH_BLACKFIN
# undef BOOST_ARCH_WORD_BITS_16
# define BOOST_ARCH_WORD_BITS_16 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_BLACKFIN_NAME "Blackfin"
#endif

View File

@ -11,23 +11,24 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_CONVEX`]
/* tag::reference[]
= `BOOST_ARCH_CONVEX`
[@http://en.wikipedia.org/wiki/Convex_Computer Convex Computer] architecture.
http://en.wikipedia.org/wiki/Convex_Computer[Convex Computer] architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__convex__`] [__predef_detection__]]
| `+__convex__+` | {predef_detection}
[[`__convex_c1__`] [1.0.0]]
[[`__convex_c2__`] [2.0.0]]
[[`__convex_c32__`] [3.2.0]]
[[`__convex_c34__`] [3.4.0]]
[[`__convex_c38__`] [3.8.0]]
]
*/
| `+__convex_c1__+` | 1.0.0
| `+__convex_c2__+` | 2.0.0
| `+__convex_c32__+` | 3.2.0
| `+__convex_c34__+` | 3.4.0
| `+__convex_c38__+` | 3.8.0
|===
*/ // end::reference[]
#define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -57,6 +58,11 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_CONVEX_AVAILABLE
#endif
#if BOOST_ARCH_CONVEX
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_CONVEX_NAME "Convex Computer"
#endif

View File

@ -0,0 +1,54 @@
/*
Copyright Konstantin Ivlev 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)
*/
#ifndef BOOST_PREDEF_ARCHITECTURE_E2K_H
#define BOOST_PREDEF_ARCHITECTURE_E2K_H
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_E2K`
https://en.wikipedia.org/wiki/Elbrus_2000[E2K] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
| `+__e2k__+` | {predef_detection}
| `+__e2k__+` | V.0.0
|===
*/ // end::reference[]
#define BOOST_ARCH_E2K BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__e2k__)
# undef BOOST_ARCH_E2K
# if !defined(BOOST_ARCH_E2K) && defined(__iset__)
# define BOOST_ARCH_E2K BOOST_VERSION_NUMBER(__iset__,0,0)
# endif
# if !defined(BOOST_ARCH_E2K)
# define BOOST_ARCH_E2K BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#if BOOST_ARCH_E2K
# define BOOST_ARCH_E2K_AVAILABLE
#endif
#if BOOST_ARCH_E2K
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_E2K_NAME "E2K"
#endif
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_E2K,BOOST_ARCH_E2K_NAME)

View File

@ -11,22 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_IA64`]
/* tag::reference[]
= `BOOST_ARCH_IA64`
[@http://en.wikipedia.org/wiki/Ia64 Intel Itanium 64] architecture.
http://en.wikipedia.org/wiki/Ia64[Intel Itanium 64] architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__ia64__`] [__predef_detection__]]
[[`_IA64`] [__predef_detection__]]
[[`__IA64__`] [__predef_detection__]]
[[`__ia64`] [__predef_detection__]]
[[`_M_IA64`] [__predef_detection__]]
[[`__itanium__`] [__predef_detection__]]
]
*/
| `+__ia64__+` | {predef_detection}
| `+_IA64+` | {predef_detection}
| `+__IA64__+` | {predef_detection}
| `+__ia64+` | {predef_detection}
| `+_M_IA64+` | {predef_detection}
| `+__itanium__+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_ARCH_IA64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -41,6 +42,11 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_IA64_AVAILABLE
#endif
#if BOOST_ARCH_IA64
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_IA64_NAME "Intel Itanium 64"
#endif

View File

@ -11,37 +11,38 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_M68K`]
/* tag::reference[]
= `BOOST_ARCH_M68K`
[@http://en.wikipedia.org/wiki/M68k Motorola 68k] architecture.
http://en.wikipedia.org/wiki/M68k[Motorola 68k] architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__m68k__`] [__predef_detection__]]
[[`M68000`] [__predef_detection__]]
| `+__m68k__+` | {predef_detection}
| `M68000` | {predef_detection}
[[`__mc68060__`] [6.0.0]]
[[`mc68060`] [6.0.0]]
[[`__mc68060`] [6.0.0]]
[[`__mc68040__`] [4.0.0]]
[[`mc68040`] [4.0.0]]
[[`__mc68040`] [4.0.0]]
[[`__mc68030__`] [3.0.0]]
[[`mc68030`] [3.0.0]]
[[`__mc68030`] [3.0.0]]
[[`__mc68020__`] [2.0.0]]
[[`mc68020`] [2.0.0]]
[[`__mc68020`] [2.0.0]]
[[`__mc68010__`] [1.0.0]]
[[`mc68010`] [1.0.0]]
[[`__mc68010`] [1.0.0]]
[[`__mc68000__`] [0.0.1]]
[[`mc68000`] [0.0.1]]
[[`__mc68000`] [0.0.1]]
]
*/
| `+__mc68060__+` | 6.0.0
| `mc68060` | 6.0.0
| `+__mc68060+` | 6.0.0
| `+__mc68040__+` | 4.0.0
| `mc68040` | 4.0.0
| `+__mc68040+` | 4.0.0
| `+__mc68030__+` | 3.0.0
| `mc68030` | 3.0.0
| `+__mc68030+` | 3.0.0
| `+__mc68020__+` | 2.0.0
| `mc68020` | 2.0.0
| `+__mc68020+` | 2.0.0
| `+__mc68010__+` | 1.0.0
| `mc68010` | 1.0.0
| `+__mc68010+` | 1.0.0
| `+__mc68000__+` | 0.0.1
| `mc68000` | 0.0.1
| `+__mc68000+` | 0.0.1
|===
*/ // end::reference[]
#define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -74,6 +75,11 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_M68K_AVAILABLE
#endif
#if BOOST_ARCH_M68K
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_M68K_NAME "Motorola 68k"
#endif

View File

@ -11,30 +11,31 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_MIPS`]
/* tag::reference[]
= `BOOST_ARCH_MIPS`
[@http://en.wikipedia.org/wiki/MIPS_architecture MIPS] architecture.
http://en.wikipedia.org/wiki/MIPS_architecture[MIPS] architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__mips__`] [__predef_detection__]]
[[`__mips`] [__predef_detection__]]
[[`__MIPS__`] [__predef_detection__]]
| `+__mips__+` | {predef_detection}
| `+__mips+` | {predef_detection}
| `+__MIPS__+` | {predef_detection}
[[`__mips`] [V.0.0]]
[[`_MIPS_ISA_MIPS1`] [1.0.0]]
[[`_R3000`] [1.0.0]]
[[`_MIPS_ISA_MIPS2`] [2.0.0]]
[[`__MIPS_ISA2__`] [2.0.0]]
[[`_R4000`] [2.0.0]]
[[`_MIPS_ISA_MIPS3`] [3.0.0]]
[[`__MIPS_ISA3__`] [3.0.0]]
[[`_MIPS_ISA_MIPS4`] [4.0.0]]
[[`__MIPS_ISA4__`] [4.0.0]]
]
*/
| `+__mips+` | V.0.0
| `+_MIPS_ISA_MIPS1+` | 1.0.0
| `+_R3000+` | 1.0.0
| `+_MIPS_ISA_MIPS2+` | 2.0.0
| `+__MIPS_ISA2__+` | 2.0.0
| `+_R4000+` | 2.0.0
| `+_MIPS_ISA_MIPS3+` | 3.0.0
| `+__MIPS_ISA3__+` | 3.0.0
| `+_MIPS_ISA_MIPS4+` | 4.0.0
| `+__MIPS_ISA4__+` | 4.0.0
|===
*/ // end::reference[]
#define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -65,6 +66,16 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_MIPS_AVAILABLE
#endif
#if BOOST_ARCH_MIPS
# if BOOST_ARCH_MIPS >= BOOST_VERSION_NUMBER(3,0,0)
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
# else
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#define BOOST_ARCH_MIPS_NAME "MIPS"
#endif

View File

@ -11,28 +11,29 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_PARISC`]
/* tag::reference[]
= `BOOST_ARCH_PARISC`
[@http://en.wikipedia.org/wiki/PA-RISC_family HP/PA RISC] architecture.
http://en.wikipedia.org/wiki/PA-RISC_family[HP/PA RISC] architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__hppa__`] [__predef_detection__]]
[[`__hppa`] [__predef_detection__]]
[[`__HPPA__`] [__predef_detection__]]
| `+__hppa__+` | {predef_detection}
| `+__hppa+` | {predef_detection}
| `+__HPPA__+` | {predef_detection}
[[`_PA_RISC1_0`] [1.0.0]]
[[`_PA_RISC1_1`] [1.1.0]]
[[`__HPPA11__`] [1.1.0]]
[[`__PA7100__`] [1.1.0]]
[[`_PA_RISC2_0`] [2.0.0]]
[[`__RISC2_0__`] [2.0.0]]
[[`__HPPA20__`] [2.0.0]]
[[`__PA8000__`] [2.0.0]]
]
*/
| `+_PA_RISC1_0+` | 1.0.0
| `+_PA_RISC1_1+` | 1.1.0
| `+__HPPA11__+` | 1.1.0
| `+__PA7100__+` | 1.1.0
| `+_PA_RISC2_0+` | 2.0.0
| `+__RISC2_0__+` | 2.0.0
| `+__HPPA20__+` | 2.0.0
| `+__PA8000__+` | 2.0.0
|===
*/ // end::reference[]
#define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -56,6 +57,11 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_PARISC_AVAILABLE
#endif
#if BOOST_ARCH_PARISC
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_PARISC_NAME "HP/PA RISC"
#endif

View File

@ -11,40 +11,49 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_PPC`]
/* tag::reference[]
= `BOOST_ARCH_PPC`
[@http://en.wikipedia.org/wiki/PowerPC PowerPC] architecture.
http://en.wikipedia.org/wiki/PowerPC[PowerPC] architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__powerpc`] [__predef_detection__]]
[[`__powerpc__`] [__predef_detection__]]
[[`__POWERPC__`] [__predef_detection__]]
[[`__ppc__`] [__predef_detection__]]
[[`_M_PPC`] [__predef_detection__]]
[[`_ARCH_PPC`] [__predef_detection__]]
[[`__PPCGECKO__`] [__predef_detection__]]
[[`__PPCBROADWAY__`] [__predef_detection__]]
[[`_XENON`] [__predef_detection__]]
| `+__powerpc+` | {predef_detection}
| `+__powerpc__+` | {predef_detection}
| `+__powerpc64__+` | {predef_detection}
| `+__POWERPC__+` | {predef_detection}
| `+__ppc__+` | {predef_detection}
| `+__ppc64__+` | {predef_detection}
| `+__PPC__+` | {predef_detection}
| `+__PPC64__+` | {predef_detection}
| `+_M_PPC+` | {predef_detection}
| `+_ARCH_PPC+` | {predef_detection}
| `+_ARCH_PPC64+` | {predef_detection}
| `+__PPCGECKO__+` | {predef_detection}
| `+__PPCBROADWAY__+` | {predef_detection}
| `+_XENON+` | {predef_detection}
| `+__ppc+` | {predef_detection}
[[`__ppc601__`] [6.1.0]]
[[`_ARCH_601`] [6.1.0]]
[[`__ppc603__`] [6.3.0]]
[[`_ARCH_603`] [6.3.0]]
[[`__ppc604__`] [6.4.0]]
[[`__ppc604__`] [6.4.0]]
]
*/
| `+__ppc601__+` | 6.1.0
| `+_ARCH_601+` | 6.1.0
| `+__ppc603__+` | 6.3.0
| `+_ARCH_603+` | 6.3.0
| `+__ppc604__+` | 6.4.0
| `+__ppc604__+` | 6.4.0
|===
*/ // end::reference[]
#define BOOST_ARCH_PPC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__powerpc) || defined(__powerpc__) || \
defined(__POWERPC__) || defined(__ppc__) || \
defined(_M_PPC) || defined(_ARCH_PPC) || \
#if defined(__powerpc) || defined(__powerpc__) || defined(__powerpc64__) || \
defined(__POWERPC__) || defined(__ppc__) || defined(__ppc64__) || \
defined(__PPC__) || defined(__PPC64__) || \
defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \
defined(__PPCGECKO__) || defined(__PPCBROADWAY__) || \
defined(_XENON)
defined(_XENON) || \
defined(__ppc)
# undef BOOST_ARCH_PPC
# if !defined (BOOST_ARCH_PPC) && (defined(__ppc601__) || defined(_ARCH_601))
# define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,1,0)
@ -66,7 +75,50 @@ http://www.boost.org/LICENSE_1_0.txt)
#define BOOST_ARCH_PPC_NAME "PowerPC"
/* tag::reference[]
= `BOOST_ARCH_PPC_64`
http://en.wikipedia.org/wiki/PowerPC[PowerPC] 64 bit architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
| `+__powerpc64__+` | {predef_detection}
| `+__ppc64__+` | {predef_detection}
| `+__PPC64__+` | {predef_detection}
| `+_ARCH_PPC64+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_ARCH_PPC_64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__powerpc64__) || defined(__ppc64__) || defined(__PPC64__) || \
defined(_ARCH_PPC64)
# undef BOOST_ARCH_PPC_64
# define BOOST_ARCH_PPC_64 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#if BOOST_ARCH_PPC_64
# define BOOST_ARCH_PPC_64_AVAILABLE
#endif
#define BOOST_ARCH_PPC_64_NAME "PowerPC64"
#if BOOST_ARCH_PPC_64
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
#else
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#endif
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_PPC,BOOST_ARCH_PPC_NAME)
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_PPC_64,BOOST_ARCH_PPC_64_NAME)

View File

@ -11,19 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_PTX`]
/* tag::reference[]
= `BOOST_ARCH_PTX`
[@https://en.wikipedia.org/wiki/Parallel_Thread_Execution PTX] architecture.
https://en.wikipedia.org/wiki/Parallel_Thread_Execution[PTX] architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__CUDA_ARCH__`] [__predef_detection__]]
| `+__CUDA_ARCH__+` | {predef_detection}
[[`__CUDA_ARCH__`] [V.R.0]]
]
*/
| `+__CUDA_ARCH__+` | V.R.0
|===
*/ // end::reference[]
#define BOOST_ARCH_PTX BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -36,6 +37,11 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_PTX_AVAILABLE
#endif
#if BOOST_ARCH_PTX
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_PTX_NAME "PTX"
#endif

View File

@ -11,17 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_PYRAMID`]
/* tag::reference[]
= `BOOST_ARCH_PYRAMID`
Pyramid 9810 architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`pyr`] [__predef_detection__]]
]
*/
| `pyr` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_ARCH_PYRAMID BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -34,6 +35,11 @@ Pyramid 9810 architecture.
# define BOOST_ARCH_PYRAMID_AVAILABLE
#endif
#if BOOST_ARCH_PYRAMID
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_PYRAMID_NAME "Pyramid 9810"
#endif

View File

@ -0,0 +1,48 @@
/*
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)
*/
#ifndef BOOST_PREDEF_ARCHITECTURE_RISCV_H
#define BOOST_PREDEF_ARCHITECTURE_RISCV_H
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_RISCV`
http://en.wikipedia.org/wiki/RISC-V[RISC-V] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
| `+__riscv+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_ARCH_RISCV BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__riscv)
# undef BOOST_ARCH_RISCV
# define BOOST_ARCH_RISCV BOOST_VERSION_NUMBER_AVAILABLE
#endif
#if BOOST_ARCH_RISCV
# define BOOST_ARCH_RISCV_AVAILABLE
#endif
#if BOOST_ARCH_RISCV
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_RISCV_NAME "RISC-V"
#endif
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_RISCV,BOOST_ARCH_RISCV_NAME)

View File

@ -11,21 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_RS6000`]
/* tag::reference[]
= `BOOST_ARCH_RS6000`
[@http://en.wikipedia.org/wiki/RS/6000 RS/6000] architecture.
http://en.wikipedia.org/wiki/RS/6000[RS/6000] architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__THW_RS6000`] [__predef_detection__]]
[[`_IBMR2`] [__predef_detection__]]
[[`_POWER`] [__predef_detection__]]
[[`_ARCH_PWR`] [__predef_detection__]]
[[`_ARCH_PWR2`] [__predef_detection__]]
]
*/
| `+__THW_RS6000+` | {predef_detection}
| `+_IBMR2+` | {predef_detection}
| `+_POWER+` | {predef_detection}
| `+_ARCH_PWR+` | {predef_detection}
| `+_ARCH_PWR2+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_ARCH_RS6000 BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -40,6 +41,11 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_RS6000_AVAILABLE
#endif
#if BOOST_ARCH_RS6000
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_RS6000_NAME "RS/6000"
#define BOOST_ARCH_PWR BOOST_ARCH_RS6000
@ -48,6 +54,11 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_PWR_AVAILABLE
#endif
#if BOOST_ARCH_PWR
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_PWR_NAME BOOST_ARCH_RS6000_NAME
#endif

View File

@ -11,30 +11,33 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_SPARC`]
/* tag::reference[]
= `BOOST_ARCH_SPARC`
[@http://en.wikipedia.org/wiki/SPARC SPARC] architecture.
http://en.wikipedia.org/wiki/SPARC[SPARC] architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__sparc__`] [__predef_detection__]]
[[`__sparc`] [__predef_detection__]]
| `+__sparc__+` | {predef_detection}
| `+__sparc+` | {predef_detection}
[[`__sparcv9`] [9.0.0]]
[[`__sparcv8`] [8.0.0]]
]
*/
| `+__sparcv9+` | 9.0.0
| `+__sparc_v9__+` | 9.0.0
| `+__sparcv8+` | 8.0.0
| `+__sparc_v8__+` | 8.0.0
|===
*/ // end::reference[]
#define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__sparc__) || defined(__sparc)
# undef BOOST_ARCH_SPARC
# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv9)
# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv9) || defined(__sparc_v9__))
# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(9,0,0)
# endif
# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv8)
# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv8) || defined(__sparc_v8__))
# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(8,0,0)
# endif
# if !defined(BOOST_ARCH_SPARC)
@ -46,6 +49,16 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_SPARC_AVAILABLE
#endif
#if BOOST_ARCH_SPARC
# if BOOST_ARCH_SPARC >= BOOST_VERSION_NUMBER(9,0,0)
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
# else
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#define BOOST_ARCH_SPARC_NAME "SPARC"
#endif

View File

@ -11,25 +11,26 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_SH`]
/* tag::reference[]
= `BOOST_ARCH_SH`
[@http://en.wikipedia.org/wiki/SuperH SuperH] architecture:
If available versions \[1-5\] are specifically detected.
http://en.wikipedia.org/wiki/SuperH[SuperH] architecture:
If available versions [1-5] are specifically detected.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__sh__`] [__predef_detection__]]
| `+__sh__+` | {predef_detection}
[[`__SH5__`] [5.0.0]]
[[`__SH4__`] [4.0.0]]
[[`__sh3__`] [3.0.0]]
[[`__SH3__`] [3.0.0]]
[[`__sh2__`] [2.0.0]]
[[`__sh1__`] [1.0.0]]
]
*/
| `+__SH5__+` | 5.0.0
| `+__SH4__+` | 4.0.0
| `+__sh3__+` | 3.0.0
| `+__SH3__+` | 3.0.0
| `+__sh2__+` | 2.0.0
| `+__sh1__+` | 1.0.0
|===
*/ // end::reference[]
#define BOOST_ARCH_SH BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -59,6 +60,19 @@ If available versions \[1-5\] are specifically detected.
# define BOOST_ARCH_SH_AVAILABLE
#endif
#if BOOST_ARCH_SH
# if BOOST_ARCH_SH >= BOOST_VERSION_NUMBER(5,0,0)
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
# elif BOOST_ARCH_SH >= BOOST_VERSION_NUMBER(3,0,0)
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
# else
# undef BOOST_ARCH_WORD_BITS_16
# define BOOST_ARCH_WORD_BITS_16 BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#define BOOST_ARCH_SH_NAME "SuperH"
#endif

View File

@ -11,18 +11,19 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_SYS370`]
/* tag::reference[]
= `BOOST_ARCH_SYS370`
[@http://en.wikipedia.org/wiki/System/370 System/370] architecture.
http://en.wikipedia.org/wiki/System/370[System/370] architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__370__`] [__predef_detection__]]
[[`__THW_370__`] [__predef_detection__]]
]
*/
| `+__370__+` | {predef_detection}
| `+__THW_370__+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_ARCH_SYS370 BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -35,6 +36,11 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_SYS370_AVAILABLE
#endif
#if BOOST_ARCH_SYS370
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_SYS370_NAME "System/370"
#endif

View File

@ -11,18 +11,19 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_SYS390`]
/* tag::reference[]
= `BOOST_ARCH_SYS390`
[@http://en.wikipedia.org/wiki/System/390 System/390] architecture.
http://en.wikipedia.org/wiki/System/390[System/390] architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__s390__`] [__predef_detection__]]
[[`__s390x__`] [__predef_detection__]]
]
*/
| `+__s390__+` | {predef_detection}
| `+__s390x__+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_ARCH_SYS390 BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -35,6 +36,11 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_SYS390_AVAILABLE
#endif
#if BOOST_ARCH_SYS390
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_SYS390_NAME "System/390"
#endif

View File

@ -11,13 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_PREDEF_ARCHITECTURE_X86_H
#define BOOST_PREDEF_ARCHITECTURE_X86_H
/*`
[heading `BOOST_ARCH_X86`]
/* tag::reference[]
= `BOOST_ARCH_X86`
[@http://en.wikipedia.org/wiki/X86 Intel x86] architecture. This is
http://en.wikipedia.org/wiki/X86[Intel x86] architecture. This is
a category to indicate that either `BOOST_ARCH_X86_32` or
`BOOST_ARCH_X86_64` is detected.
*/
*/ // end::reference[]
#define BOOST_ARCH_X86 BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,35 +11,36 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_X86_32`]
/* tag::reference[]
= `BOOST_ARCH_X86_32`
[@http://en.wikipedia.org/wiki/X86 Intel x86] architecture:
If available versions \[3-6\] are specifically detected.
http://en.wikipedia.org/wiki/X86[Intel x86] architecture:
If available versions [3-6] are specifically detected.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`i386`] [__predef_detection__]]
[[`__i386__`] [__predef_detection__]]
[[`__i486__`] [__predef_detection__]]
[[`__i586__`] [__predef_detection__]]
[[`__i686__`] [__predef_detection__]]
[[`__i386`] [__predef_detection__]]
[[`_M_IX86`] [__predef_detection__]]
[[`_X86_`] [__predef_detection__]]
[[`__THW_INTEL__`] [__predef_detection__]]
[[`__I86__`] [__predef_detection__]]
[[`__INTEL__`] [__predef_detection__]]
| `i386` | {predef_detection}
| `+__i386__+` | {predef_detection}
| `+__i486__+` | {predef_detection}
| `+__i586__+` | {predef_detection}
| `+__i686__+` | {predef_detection}
| `+__i386+` | {predef_detection}
| `+_M_IX86+` | {predef_detection}
| `+_X86_+` | {predef_detection}
| `+__THW_INTEL__+` | {predef_detection}
| `+__I86__+` | {predef_detection}
| `+__INTEL__+` | {predef_detection}
[[`__I86__`] [V.0.0]]
[[`_M_IX86`] [V.0.0]]
[[`__i686__`] [6.0.0]]
[[`__i586__`] [5.0.0]]
[[`__i486__`] [4.0.0]]
[[`__i386__`] [3.0.0]]
]
*/
| `+__I86__+` | V.0.0
| `+_M_IX86+` | V.0.0
| `+__i686__+` | 6.0.0
| `+__i586__+` | 5.0.0
| `+__i486__+` | 4.0.0
| `+__i386__+` | 3.0.0
|===
*/ // end::reference[]
#define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -77,6 +78,11 @@ If available versions \[3-6\] are specifically detected.
# define BOOST_ARCH_X86_32_AVAILABLE
#endif
#if BOOST_ARCH_X86_32
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_X86_32_NAME "Intel x86-32"
#include <boost/predef/architecture/x86.h>

View File

@ -1,5 +1,5 @@
/*
Copyright Rene Rivera 2008-2015
Copyright Rene Rivera 2008-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)
@ -11,21 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_X86_64`]
/* tag::reference[]
= `BOOST_ARCH_X86_64`
[@http://en.wikipedia.org/wiki/Ia64 Intel IA-64] architecture.
https://en.wikipedia.org/wiki/X86-64[X86-64] architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__x86_64`] [__predef_detection__]]
[[`__x86_64__`] [__predef_detection__]]
[[`__amd64__`] [__predef_detection__]]
[[`__amd64`] [__predef_detection__]]
[[`_M_X64`] [__predef_detection__]]
]
*/
| `+__x86_64+` | {predef_detection}
| `+__x86_64__+` | {predef_detection}
| `+__amd64__+` | {predef_detection}
| `+__amd64+` | {predef_detection}
| `+_M_X64+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_ARCH_X86_64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -40,6 +41,11 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_X86_64_AVAILABLE
#endif
#if BOOST_ARCH_X86_64
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_X86_64_NAME "Intel x86-64"
#include <boost/predef/architecture/x86.h>

View File

@ -11,17 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_ARCH_Z`]
/* tag::reference[]
= `BOOST_ARCH_Z`
[@http://en.wikipedia.org/wiki/Z/Architecture z/Architecture] architecture.
http://en.wikipedia.org/wiki/Z/Architecture[z/Architecture] architecture.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__SYSC_ZARCH__`] [__predef_detection__]]
]
*/
| `+__SYSC_ZARCH__+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_ARCH_Z BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -34,6 +35,11 @@ http://www.boost.org/LICENSE_1_0.txt)
# define BOOST_ARCH_Z_AVAILABLE
#endif
#if BOOST_ARCH_Z
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_Z_NAME "z/Architecture"
#endif

View File

@ -11,22 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_BORLAND`]
/* tag::reference[]
= `BOOST_COMP_BORLAND`
[@http://en.wikipedia.org/wiki/C_plus_plus_builder Borland C++] compiler.
http://en.wikipedia.org/wiki/C_plus_plus_builder[Borland {CPP}] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__BORLANDC__`] [__predef_detection__]]
[[`__CODEGEARC__`] [__predef_detection__]]
| `+__BORLANDC__+` | {predef_detection}
| `+__CODEGEARC__+` | {predef_detection}
[[`__BORLANDC__`] [V.R.P]]
[[`__CODEGEARC__`] [V.R.P]]
]
*/
| `+__BORLANDC__+` | V.R.P
| `+__CODEGEARC__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_BORLAND BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_CLANG`]
/* tag::reference[]
= `BOOST_COMP_CLANG`
[@http://en.wikipedia.org/wiki/Clang Clang] compiler.
http://en.wikipedia.org/wiki/Clang[Clang] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__clang__`] [__predef_detection__]]
| `+__clang__+` | {predef_detection}
[[`__clang_major__`, `__clang_minor__`, `__clang_patchlevel__`] [V.R.P]]
]
*/
| `+__clang_major__+`, `+__clang_minor__+`, `+__clang_patchlevel__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_CLANG BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,20 +13,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#define BOOST_COMP_COMO BOOST_VERSION_NUMBER_NOT_AVAILABLE
/*`
[heading `BOOST_COMP_COMO`]
/* tag::reference[]
= `BOOST_COMP_COMO`
[@http://en.wikipedia.org/wiki/Comeau_C/C%2B%2B Comeau C++] compiler.
http://en.wikipedia.org/wiki/Comeau_C/C%2B%2B[Comeau {CPP}] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__COMO__`] [__predef_detection__]]
| `+__COMO__+` | {predef_detection}
[[`__COMO_VERSION__`] [V.R.P]]
]
*/
| `+__COMO_VERSION__+` | V.R.P
|===
*/ // end::reference[]
#if defined(__COMO__)
# if !defined(BOOST_COMP_COMO_DETECTION) && defined(__COMO_VERSION__)

View File

@ -11,22 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_DEC`]
/* tag::reference[]
= `BOOST_COMP_DEC`
[@http://www.openvms.compaq.com/openvms/brochures/deccplus/ Compaq C/C++] compiler.
http://www.openvms.compaq.com/openvms/brochures/deccplus/[Compaq C/{CPP}] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__DECCXX`] [__predef_detection__]]
[[`__DECC`] [__predef_detection__]]
| `+__DECCXX+` | {predef_detection}
| `+__DECC+` | {predef_detection}
[[`__DECCXX_VER`] [V.R.P]]
[[`__DECC_VER`] [V.R.P]]
]
*/
| `+__DECCXX_VER+` | V.R.P
| `+__DECC_VER+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_DEC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_DIAB`]
/* tag::reference[]
= `BOOST_COMP_DIAB`
[@http://www.windriver.com/products/development_suite/wind_river_compiler/ Diab C/C++] compiler.
http://www.windriver.com/products/development_suite/wind_river_compiler/[Diab C/{CPP}] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__DCC__`] [__predef_detection__]]
| `+__DCC__+` | {predef_detection}
[[`__VERSION_NUMBER__`] [V.R.P]]
]
*/
| `+__VERSION_NUMBER__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_DIAB BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_DMC`]
/* tag::reference[]
= `BOOST_COMP_DMC`
[@http://en.wikipedia.org/wiki/Digital_Mars Digital Mars] compiler.
http://en.wikipedia.org/wiki/Digital_Mars[Digital Mars] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__DMC__`] [__predef_detection__]]
| `+__DMC__+` | {predef_detection}
[[`__DMC__`] [V.R.P]]
]
*/
| `+__DMC__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_DMC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_SYSC`]
/* tag::reference[]
= `BOOST_COMP_SYSC`
[@http://www.dignus.com/dcxx/ Dignus Systems/C++] compiler.
http://www.dignus.com/dcxx/[Dignus Systems/{CPP}] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__SYSC__`] [__predef_detection__]]
| `+__SYSC__+` | {predef_detection}
[[`__SYSC_VER__`] [V.R.P]]
]
*/
| `+__SYSC_VER__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_SYSC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_EDG`]
/* tag::reference[]
= `BOOST_COMP_EDG`
[@http://en.wikipedia.org/wiki/Edison_Design_Group EDG C++ Frontend] compiler.
http://en.wikipedia.org/wiki/Edison_Design_Group[EDG {CPP} Frontend] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__EDG__`] [__predef_detection__]]
| `+__EDG__+` | {predef_detection}
[[`__EDG_VERSION__`] [V.R.0]]
]
*/
| `+__EDG_VERSION__+` | V.R.0
|===
*/ // end::reference[]
#define BOOST_COMP_EDG BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_PATH`]
/* tag::reference[]
= `BOOST_COMP_PATH`
[@http://en.wikipedia.org/wiki/PathScale EKOpath] compiler.
http://en.wikipedia.org/wiki/PathScale[EKOpath] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__PATHCC__`] [__predef_detection__]]
| `+__PATHCC__+` | {predef_detection}
[[`__PATHCC__`, `__PATHCC_MINOR__`, `__PATHCC_PATCHLEVEL__`] [V.R.P]]
]
*/
| `+__PATHCC__+`, `+__PATHCC_MINOR__+`, `+__PATHCC_PATCHLEVEL__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_PATH BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -15,21 +15,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_GNUC`]
/* tag::reference[]
= `BOOST_COMP_GNUC`
[@http://en.wikipedia.org/wiki/GNU_Compiler_Collection Gnu GCC C/C++] compiler.
http://en.wikipedia.org/wiki/GNU_Compiler_Collection[Gnu GCC C/{CPP}] compiler.
Version number available as major, minor, and patch (if available).
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__GNUC__`] [__predef_detection__]]
| `+__GNUC__+` | {predef_detection}
[[`__GNUC__`, `__GNUC_MINOR__`, `__GNUC_PATCHLEVEL__`] [V.R.P]]
[[`__GNUC__`, `__GNUC_MINOR__`] [V.R.0]]
]
*/
| `+__GNUC__+`, `+__GNUC_MINOR__+`, `+__GNUC_PATCHLEVEL__+` | V.R.P
| `+__GNUC__+`, `+__GNUC_MINOR__+` | V.R.0
|===
*/ // end::reference[]
#define BOOST_COMP_GNUC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,17 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_GCCXML`]
/* tag::reference[]
= `BOOST_COMP_GCCXML`
[@http://www.gccxml.org/ GCC XML] compiler.
http://www.gccxml.org/[GCC XML] compiler.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__GCCXML__`] [__predef_detection__]]
]
*/
| `+__GCCXML__+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_COMP_GCCXML BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,22 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_GHS`]
/* tag::reference[]
= `BOOST_COMP_GHS`
[@http://en.wikipedia.org/wiki/Green_Hills_Software Green Hills C/C++] compiler.
http://en.wikipedia.org/wiki/Green_Hills_Software[Green Hills C/{CPP}] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__ghs`] [__predef_detection__]]
[[`__ghs__`] [__predef_detection__]]
| `+__ghs+` | {predef_detection}
| `+__ghs__+` | {predef_detection}
[[`__GHS_VERSION_NUMBER__`] [V.R.P]]
[[`__ghs`] [V.R.P]]
]
*/
| `+__GHS_VERSION_NUMBER__+` | V.R.P
| `+__ghs+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_GHS BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_HPACC`]
/* tag::reference[]
= `BOOST_COMP_HPACC`
HP aC++ compiler.
HP a{CPP} compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__HP_aCC`] [__predef_detection__]]
| `+__HP_aCC+` | {predef_detection}
[[`__HP_aCC`] [V.R.P]]
]
*/
| `+__HP_aCC+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_HPACC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_IAR`]
/* tag::reference[]
= `BOOST_COMP_IAR`
IAR C/C++ compiler.
IAR C/{CPP} compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__IAR_SYSTEMS_ICC__`] [__predef_detection__]]
| `+__IAR_SYSTEMS_ICC__+` | {predef_detection}
[[`__VER__`] [V.R.P]]
]
*/
| `+__VER__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_IAR BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,25 +11,26 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_IBM`]
/* tag::reference[]
= `BOOST_COMP_IBM`
[@http://en.wikipedia.org/wiki/VisualAge IBM XL C/C++] compiler.
http://en.wikipedia.org/wiki/VisualAge[IBM XL C/{CPP}] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__IBMCPP__`] [__predef_detection__]]
[[`__xlC__`] [__predef_detection__]]
[[`__xlc__`] [__predef_detection__]]
| `+__IBMCPP__+` | {predef_detection}
| `+__xlC__+` | {predef_detection}
| `+__xlc__+` | {predef_detection}
[[`__COMPILER_VER__`] [V.R.P]]
[[`__xlC__`] [V.R.P]]
[[`__xlc__`] [V.R.P]]
[[`__IBMCPP__`] [V.R.P]]
]
*/
| `+__COMPILER_VER__+` | V.R.P
| `+__xlC__+` | V.R.P
| `+__xlc__+` | V.R.P
| `+__IBMCPP__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_IBM BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,33 +11,34 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_INTEL`]
/* tag::reference[]
= `BOOST_COMP_INTEL`
[@http://en.wikipedia.org/wiki/Intel_C%2B%2B Intel C/C++] compiler.
http://en.wikipedia.org/wiki/Intel_C%2B%2B[Intel C/{CPP}] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__INTEL_COMPILER`] [__predef_detection__]]
[[`__ICL`] [__predef_detection__]]
[[`__ICC`] [__predef_detection__]]
[[`__ECC`] [__predef_detection__]]
| `+__INTEL_COMPILER+` | {predef_detection}
| `+__ICL+` | {predef_detection}
| `+__ICC+` | {predef_detection}
| `+__ECC+` | {predef_detection}
[[`__INTEL_COMPILER`] [V.R]]
[[`__INTEL_COMPILER` and `__INTEL_COMPILER_UPDATE`] [V.R.P]]
]
*/
| `+__INTEL_COMPILER+` | V.R
| `+__INTEL_COMPILER+` and `+__INTEL_COMPILER_UPDATE+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_INTEL BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || \
defined(__ECC)
/*`
[note Because of an Intel mistake in the release version numbering when
`__INTEL_COMPILER` is `9999` it is detected as version 12.1.0.]
*/
/* tag::reference[]
NOTE: Because of an Intel mistake in the release version numbering when
`__INTEL_COMPILER` is `9999` it is detected as version 12.1.0.
*/ // end::reference[]
# if !defined(BOOST_COMP_INTEL_DETECTION) && defined(__INTEL_COMPILER) && (__INTEL_COMPILER == 9999)
# define BOOST_COMP_INTEL_DETECTION BOOST_VERSION_NUMBER(12,1,0)
# endif

View File

@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_KCC`]
/* tag::reference[]
= `BOOST_COMP_KCC`
Kai C++ compiler.
Kai {CPP} compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__KCC`] [__predef_detection__]]
| `+__KCC+` | {predef_detection}
[[`__KCC_VERSION`] [V.R.P]]
]
*/
| `+__KCC_VERSION+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_KCC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -15,17 +15,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_LLVM`]
/* tag::reference[]
= `BOOST_COMP_LLVM`
[@http://en.wikipedia.org/wiki/LLVM LLVM] compiler.
http://en.wikipedia.org/wiki/LLVM[LLVM] compiler.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__llvm__`] [__predef_detection__]]
]
*/
| `+__llvm__+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_COMP_LLVM BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,17 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_HIGHC`]
/* tag::reference[]
= `BOOST_COMP_HIGHC`
MetaWare High C/C++ compiler.
MetaWare High C/{CPP} compiler.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__HIGHC__`] [__predef_detection__]]
]
*/
| `+__HIGHC__+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_COMP_HIGHC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,24 +11,25 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_MWERKS`]
/* tag::reference[]
= `BOOST_COMP_MWERKS`
[@http://en.wikipedia.org/wiki/CodeWarrior Metrowerks CodeWarrior] compiler.
http://en.wikipedia.org/wiki/CodeWarrior[Metrowerks CodeWarrior] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__MWERKS__`] [__predef_detection__]]
[[`__CWCC__`] [__predef_detection__]]
| `+__MWERKS__+` | {predef_detection}
| `+__CWCC__+` | {predef_detection}
[[`__CWCC__`] [V.R.P]]
[[`__MWERKS__`] [V.R.P >= 4.2.0]]
[[`__MWERKS__`] [9.R.0]]
[[`__MWERKS__`] [8.R.0]]
]
*/
| `+__CWCC__+` | V.R.P
| `+__MWERKS__+` | V.R.P >= 4.2.0
| `+__MWERKS__+` | 9.R.0
| `+__MWERKS__+` | 8.R.0
|===
*/ // end::reference[]
#define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,17 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_MRI`]
/* tag::reference[]
= `BOOST_COMP_MRI`
[@http://www.mentor.com/microtec/ Microtec C/C++] compiler.
http://www.mentor.com/microtec/[Microtec C/{CPP}] compiler.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`_MRI`] [__predef_detection__]]
]
*/
| `+_MRI+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_COMP_MRI BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,22 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_MPW`]
/* tag::reference[]
= `BOOST_COMP_MPW`
[@http://en.wikipedia.org/wiki/Macintosh_Programmer%27s_Workshop MPW C++] compiler.
http://en.wikipedia.org/wiki/Macintosh_Programmer%27s_Workshop[MPW {CPP}] compiler.
Version number available as major, and minor.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__MRC__`] [__predef_detection__]]
[[`MPW_C`] [__predef_detection__]]
[[`MPW_CPLUS`] [__predef_detection__]]
| `+__MRC__+` | {predef_detection}
| `MPW_C` | {predef_detection}
| `MPW_CPLUS` | {predef_detection}
[[`__MRC__`] [V.R.0]]
]
*/
| `+__MRC__+` | V.R.0
|===
*/ // end::reference[]
#define BOOST_COMP_MPW BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_NVCC`]
/* tag::reference[]
= `BOOST_COMP_NVCC`
[@https://en.wikipedia.org/wiki/NVIDIA_CUDA_Compiler NVCC] compiler.
https://en.wikipedia.org/wiki/NVIDIA_CUDA_Compiler[NVCC] compiler.
Version number available as major, minor, and patch beginning with version 7.5.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__NVCC__`] [__predef_detection__]]
| `+__NVCC__+` | {predef_detection}
[[`__CUDACC_VER_MAJOR__`, `__CUDACC_VER_MINOR__`, `__CUDACC_VER_BUILD__`] [V.R.P]]
]
*/
| `+__CUDACC_VER_MAJOR__+`, `+__CUDACC_VER_MINOR__+`, `+__CUDACC_VER_BUILD__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_NVCC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_PALM`]
/* tag::reference[]
= `BOOST_COMP_PALM`
Palm C/C++ compiler.
Palm C/{CPP} compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`_PACC_VER`] [__predef_detection__]]
| `+_PACC_VER+` | {predef_detection}
[[`_PACC_VER`] [V.R.P]]
]
*/
| `+_PACC_VER+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_PALM BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,19 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_PGI`]
/* tag::reference[]
= `BOOST_COMP_PGI`
[@http://en.wikipedia.org/wiki/The_Portland_Group Portland Group C/C++] compiler.
http://en.wikipedia.org/wiki/The_Portland_Group[Portland Group C/{CPP}] compiler.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__PGI`] [__predef_detection__]]
| `+__PGI+` | {predef_detection}
[[`__PGIC__`, `__PGIC_MINOR__`, `__PGIC_PATCHLEVEL__`] [V.R.P]]
]
*/
| `+__PGIC__+`, `+__PGIC_MINOR__+`, `+__PGIC_PATCHLEVEL__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_PGI BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,22 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_SGI`]
/* tag::reference[]
= `BOOST_COMP_SGI`
[@http://en.wikipedia.org/wiki/MIPSpro SGI MIPSpro] compiler.
http://en.wikipedia.org/wiki/MIPSpro[SGI MIPSpro] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__sgi`] [__predef_detection__]]
[[`sgi`] [__predef_detection__]]
| `+__sgi+` | {predef_detection}
| `sgi` | {predef_detection}
[[`_SGI_COMPILER_VERSION`] [V.R.P]]
[[`_COMPILER_VERSION`] [V.R.P]]
]
*/
| `+_SGI_COMPILER_VERSION+` | V.R.P
| `+_COMPILER_VERSION+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_SGI BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,24 +11,25 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_SUNPRO`]
/* tag::reference[]
= `BOOST_COMP_SUNPRO`
[@http://en.wikipedia.org/wiki/Oracle_Solaris_Studio Oracle Solaris Studio] compiler.
http://en.wikipedia.org/wiki/Oracle_Solaris_Studio[Oracle Solaris Studio] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__SUNPRO_CC`] [__predef_detection__]]
[[`__SUNPRO_C`] [__predef_detection__]]
| `+__SUNPRO_CC+` | {predef_detection}
| `+__SUNPRO_C+` | {predef_detection}
[[`__SUNPRO_CC`] [V.R.P]]
[[`__SUNPRO_C`] [V.R.P]]
[[`__SUNPRO_CC`] [VV.RR.P]]
[[`__SUNPRO_C`] [VV.RR.P]]
]
*/
| `+__SUNPRO_CC+` | V.R.P
| `+__SUNPRO_C+` | V.R.P
| `+__SUNPRO_CC+` | VV.RR.P
| `+__SUNPRO_C+` | VV.RR.P
|===
*/ // end::reference[]
#define BOOST_COMP_SUNPRO BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,17 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_TENDRA`]
/* tag::reference[]
= `BOOST_COMP_TENDRA`
[@http://en.wikipedia.org/wiki/TenDRA_Compiler TenDRA C/C++] compiler.
http://en.wikipedia.org/wiki/TenDRA_Compiler[TenDRA C/{CPP}] compiler.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__TenDRA__`] [__predef_detection__]]
]
*/
| `+__TenDRA__+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_COMP_TENDRA BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -15,25 +15,26 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_MSVC`]
/* tag::reference[]
= `BOOST_COMP_MSVC`
[@http://en.wikipedia.org/wiki/Visual_studio Microsoft Visual C/C++] compiler.
http://en.wikipedia.org/wiki/Visual_studio[Microsoft Visual C/{CPP}] compiler.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`_MSC_VER`] [__predef_detection__]]
| `+_MSC_VER+` | {predef_detection}
[[`_MSC_FULL_VER`] [V.R.P]]
[[`_MSC_VER`] [V.R.0]]
]
| `+_MSC_FULL_VER+` | V.R.P
| `+_MSC_VER+` | V.R.0
|===
[note Release of Visual Studio after 2015 will no longer be identified
NOTE: Release of Visual Studio after 2015 will no longer be identified
by Boost Predef as the marketing version number. Instead we use the
compiler version number directly, i.e. the _MSC_VER number.]
*/
compiler version number directly, i.e. the _MSC_VER number.
*/ // end::reference[]
#define BOOST_COMP_MSVC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_COMP_WATCOM`]
/* tag::reference[]
= `BOOST_COMP_WATCOM`
[@http://en.wikipedia.org/wiki/Watcom Watcom C++] compiler.
http://en.wikipedia.org/wiki/Watcom[Watcom {CPP}] compiler.
Version number available as major, and minor.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__WATCOMC__`] [__predef_detection__]]
| `+__WATCOMC__+` | {predef_detection}
[[`__WATCOMC__`] [V.R.P]]
]
*/
| `+__WATCOMC__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_WATCOM BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -1,28 +0,0 @@
/*
Copyright Rene Rivera 2013-2018
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)
*/
#ifndef BOOST_PREDEF_DETAIL_ENDIAN_COMPAT_H
#define BOOST_PREDEF_DETAIL_ENDIAN_COMPAT_H
#pragma message("The use of BOOST_*_ENDIAN and BOOST_BYTE_ORDER is deprecated. Please include <boost/predef/other/endian.h> and use BOOST_ENDIAN_*_BYTE instead")
#include <boost/predef/other/endian.h>
#if BOOST_ENDIAN_BIG_BYTE
# define BOOST_BIG_ENDIAN
# define BOOST_BYTE_ORDER 4321
#endif
#if BOOST_ENDIAN_LITTLE_BYTE
# define BOOST_LITTLE_ENDIAN
# define BOOST_BYTE_ORDER 1234
#endif
#if BOOST_ENDIAN_LITTLE_WORD
# define BOOST_PDP_ENDIAN
# define BOOST_BYTE_ORDER 2134
#endif
#endif

View File

@ -16,55 +16,104 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
/*`
[section Using the `BOOST_HW_SIMD_*` predefs]
[include ../doc/hardware_simd.qbk]
[endsect]
/* tag::reference[]
= Using the `BOOST_HW_SIMD_*` predefs
[/ --------------------------- ]
SIMD predefs depend on compiler options. For example, you will have to add the
option `-msse3` to clang or gcc to enable SSE3. SIMD predefs are also inclusive.
This means that if SSE3 is enabled, then every other extensions with a lower
version number will implicitly be enabled and detected. However, some extensions
are CPU specific, they may not be detected nor enabled when an upper version is
enabled.
[section `BOOST_HW_SIMD_*`]
NOTE: SSE(1) and SSE2 are automatically enabled by default when using x86-64
architecture.
[heading `BOOST_HW_SIMD`]
To check if any SIMD extension has been enabled, you can use:
The SIMD extension detected for a specific architectures.
Version number depends on the detected extension.
[source]
----
#include <boost/predef/hardware/simd.h>
#include <iostream>
[table
[[__predef_symbol__] [__predef_version__]]
int main()
{
#if defined(BOOST_HW_SIMD_AVAILABLE)
std::cout << "SIMD detected!" << std::endl;
#endif
return 0;
}
----
[[`BOOST_HW_SIMD_X86_AVAILABLE`] [__predef_detection__]]
[[`BOOST_HW_SIMD_X86_AMD_AVAILABLE`] [__predef_detection__]]
[[`BOOST_HW_SIMD_ARM_AVAILABLE`] [__predef_detection__]]
[[`BOOST_HW_SIMD_PPC_AVAILABLE`] [__predef_detection__]]
]
When writing SIMD specific code, you may want to check if a particular extension
has been detected. To do so you have to use the right architecture predef and
compare it. Those predef are of the form `BOOST_HW_SIMD_"ARCH"` (where `"ARCH"`
is either `ARM`, `PPC`, or `X86`). For example, if you compile code for x86
architecture, you will have to use `BOOST_HW_SIMD_X86`. Its value will be the
version number of the most recent SIMD extension detected for the architecture.
[include ../include/boost/predef/hardware/simd/x86.h]
[include ../include/boost/predef/hardware/simd/x86_amd.h]
[include ../include/boost/predef/hardware/simd/arm.h]
[include ../include/boost/predef/hardware/simd/ppc.h]
To check if an extension has been enabled:
[endsect]
[source]
----
#include <boost/predef/hardware/simd.h>
#include <iostream>
[/ --------------------------- ]
int main()
{
#if BOOST_HW_SIMD_X86 >= BOOST_HW_SIMD_X86_SSE3_VERSION
std::cout << "This is SSE3!" << std::endl;
#endif
return 0;
}
----
[section `BOOST_HW_SIMD_X86_*_VERSION`]
[include ../include/boost/predef/hardware/simd/x86/versions.h]
[endsect]
NOTE: The *_VERSION* defines that map version number to actual real
identifiers. This way it is easier to write comparisons without messing up with
version numbers.
[section `BOOST_HW_SIMD_X86_AMD_*_VERSION`]
[include ../include/boost/predef/hardware/simd/x86_amd/versions.h]
[endsect]
To *"strictly"* check the most recent detected extension:
[section `BOOST_HW_SIMD_ARM_*_VERSION`]
[include ../include/boost/predef/hardware/simd/arm/versions.h]
[endsect]
[source]
----
#include <boost/predef/hardware/simd.h>
#include <iostream>
[section `BOOST_HW_SIMD_PPC_*_VERSION`]
[include ../include/boost/predef/hardware/simd/ppc/versions.h]
[endsect]
int main()
{
#if BOOST_HW_SIMD_X86 == BOOST_HW_SIMD_X86_SSE3_VERSION
std::cout << "This is SSE3 and this is the most recent enabled extension!"
<< std::endl;
#endif
return 0;
}
----
*/
Because of the version systems of predefs and of the inclusive property of SIMD
extensions macros, you can easily check for ranges of supported extensions:
[source]
----
#include <boost/predef/hardware/simd.h>
#include <iostream>
int main()
{
#if BOOST_HW_SIMD_X86 >= BOOST_HW_SIMD_X86_SSE2_VERSION &&\
BOOST_HW_SIMD_X86 <= BOOST_HW_SIMD_X86_SSSE3_VERSION
std::cout << "This is SSE2, SSE3 and SSSE3!" << std::endl;
#endif
return 0;
}
----
NOTE: Unlike gcc and clang, Visual Studio does not allow you to specify precisely
the SSE variants you want to use, the only detections that will take place are
SSE, SSE2, AVX and AVX2. For more informations,
see [@https://msdn.microsoft.com/en-us/library/b0084kay.aspx here].
*/ // end::reference[]
// We check if SIMD extension of multiples architectures have been detected,
// if yes, then this is an error!

View File

@ -12,31 +12,33 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/hardware/simd/arm/versions.h>
/*`
[heading `BOOST_HW_SIMD_ARM`]
/* tag::reference[]
= `BOOST_HW_SIMD_ARM`
The SIMD extension for ARM (*if detected*).
Version number depends on the most recent detected extension.
The SIMD extension for ARM (*if detected*).
Version number depends on the most recent detected extension.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__ARM_NEON__`] [__predef_detection__]]
[[`__aarch64__`] [__predef_detection__]]
[[`_M_ARM`] [__predef_detection__]]
[[`_M_ARM64`] [__predef_detection__]]
]
| `+__ARM_NEON__+` | {predef_detection}
| `+__aarch64__+` | {predef_detection}
| `+_M_ARM+` | {predef_detection}
| `+_M_ARM64+` | {predef_detection}
|===
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__ARM_NEON__`] [BOOST_HW_SIMD_ARM_NEON_VERSION]]
[[`__aarch64__`] [BOOST_HW_SIMD_ARM_NEON_VERSION]]
[[`_M_ARM`] [BOOST_HW_SIMD_ARM_NEON_VERSION]]
[[`_M_ARM64`] [BOOST_HW_SIMD_ARM_NEON_VERSION]]
]
| `+__ARM_NEON__+` | BOOST_HW_SIMD_ARM_NEON_VERSION
| `+__aarch64__+` | BOOST_HW_SIMD_ARM_NEON_VERSION
| `+_M_ARM+` | BOOST_HW_SIMD_ARM_NEON_VERSION
| `+_M_ARM64+` | BOOST_HW_SIMD_ARM_NEON_VERSION
|===
*/
*/ // end::reference[]
#define BOOST_HW_SIMD_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,22 +11,28 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
/*`
Those defines represent ARM SIMD extensions versions.
/* tag::reference[]
= `BOOST_HW_SIMD_ARM_*_VERSION`
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_ARM`.]
*/
Those defines represent ARM SIMD extensions versions.
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_ARM`.
*/ // end::reference[]
// ---------------------------------
/*`
[heading `BOOST_HW_SIMD_ARM_NEON_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_ARM_NEON_VERSION`
The [@https://en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_.28NEON.29 NEON]
ARM extension version number.
The https://en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_.28NEON.29[NEON]
ARM extension version number.
Version number is: *1.0.0*.
*/
Version number is: *1.0.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_ARM_NEON_VERSION BOOST_VERSION_NUMBER(1, 0, 0)
/* tag::reference[]
*/ // end::reference[]
#endif

View File

@ -12,35 +12,37 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/hardware/simd/ppc/versions.h>
/*`
[heading `BOOST_HW_SIMD_PPC`]
/* tag::reference[]
= `BOOST_HW_SIMD_PPC`
The SIMD extension for PowerPC (*if detected*).
Version number depends on the most recent detected extension.
The SIMD extension for PowerPC (*if detected*).
Version number depends on the most recent detected extension.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__VECTOR4DOUBLE__`] [__predef_detection__]]
| `+__VECTOR4DOUBLE__+` | {predef_detection}
[[`__ALTIVEC__`] [__predef_detection__]]
[[`__VEC__`] [__predef_detection__]]
| `+__ALTIVEC__+` | {predef_detection}
| `+__VEC__+` | {predef_detection}
[[`__VSX__`] [__predef_detection__]]
]
| `+__VSX__+` | {predef_detection}
|===
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__VECTOR4DOUBLE__`] [BOOST_HW_SIMD_PPC_QPX_VERSION]]
| `+__VECTOR4DOUBLE__+` | BOOST_HW_SIMD_PPC_QPX_VERSION
[[`__ALTIVEC__`] [BOOST_HW_SIMD_PPC_VMX_VERSION]]
[[`__VEC__`] [BOOST_HW_SIMD_PPC_VMX_VERSION]]
| `+__ALTIVEC__+` | BOOST_HW_SIMD_PPC_VMX_VERSION
| `+__VEC__+` | BOOST_HW_SIMD_PPC_VMX_VERSION
[[`__VSX__`] [BOOST_HW_SIMD_PPC_VSX_VERSION]]
]
| `+__VSX__+` | BOOST_HW_SIMD_PPC_VSX_VERSION
|===
*/
*/ // end::reference[]
#define BOOST_HW_SIMD_PPC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,41 +11,47 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
/*`
Those defines represent Power PC SIMD extensions versions.
/* tag::reference[]
= `BOOST_HW_SIMD_PPC_*_VERSION`
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_PPC`.]
*/
Those defines represent Power PC SIMD extensions versions.
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_PPC`.
*/ // end::reference[]
// ---------------------------------
/*`
[heading `BOOST_HW_SIMD_PPC_VMX_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_PPC_VMX_VERSION`
The [@https://en.wikipedia.org/wiki/AltiVec#VMX128 VMX] powerpc extension
version number.
The https://en.wikipedia.org/wiki/AltiVec#VMX128[VMX] powerpc extension
version number.
Version number is: *1.0.0*.
*/
Version number is: *1.0.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_PPC_VMX_VERSION BOOST_VERSION_NUMBER(1, 0, 0)
/*`
[heading `BOOST_HW_SIMD_PPC_VSX_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_PPC_VSX_VERSION`
The [@https://en.wikipedia.org/wiki/AltiVec#VSX VSX] powerpc extension version
number.
The https://en.wikipedia.org/wiki/AltiVec#VSX[VSX] powerpc extension version
number.
Version number is: *1.1.0*.
*/
Version number is: *1.1.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_PPC_VSX_VERSION BOOST_VERSION_NUMBER(1, 1, 0)
/*`
[heading `BOOST_HW_SIMD_PPC_QPX_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_PPC_QPX_VERSION`
The QPX powerpc extension version number.
The QPX powerpc extension version number.
Version number is: *2.0.0*.
*/
Version number is: *2.0.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_PPC_QPX_VERSION BOOST_VERSION_NUMBER(2, 0, 0)
/* tag::reference[]
*/ // end::reference[]
#endif

View File

@ -12,65 +12,67 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/hardware/simd/x86/versions.h>
/*`
[heading `BOOST_HW_SIMD_X86`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86`
The SIMD extension for x86 (*if detected*).
Version number depends on the most recent detected extension.
The SIMD extension for x86 (*if detected*).
Version number depends on the most recent detected extension.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__SSE__`] [__predef_detection__]]
[[`_M_X64`] [__predef_detection__]]
[[`_M_IX86_FP >= 1`] [__predef_detection__]]
| `+__SSE__+` | {predef_detection}
| `+_M_X64+` | {predef_detection}
| `_M_IX86_FP >= 1` | {predef_detection}
[[`__SSE2__`] [__predef_detection__]]
[[`_M_X64`] [__predef_detection__]]
[[`_M_IX86_FP >= 2`] [__predef_detection__]]
| `+__SSE2__+` | {predef_detection}
| `+_M_X64+` | {predef_detection}
| `_M_IX86_FP >= 2` | {predef_detection}
[[`__SSE3__`] [__predef_detection__]]
| `+__SSE3__+` | {predef_detection}
[[`__SSSE3__`] [__predef_detection__]]
| `+__SSSE3__+` | {predef_detection}
[[`__SSE4_1__`] [__predef_detection__]]
| `+__SSE4_1__+` | {predef_detection}
[[`__SSE4_2__`] [__predef_detection__]]
| `+__SSE4_2__+` | {predef_detection}
[[`__AVX__`] [__predef_detection__]]
| `+__AVX__+` | {predef_detection}
[[`__FMA__`] [__predef_detection__]]
| `+__FMA__+` | {predef_detection}
[[`__AVX2__`] [__predef_detection__]]
]
| `+__AVX2__+` | {predef_detection}
|===
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__SSE__`] [BOOST_HW_SIMD_X86_SSE_VERSION]]
[[`_M_X64`] [BOOST_HW_SIMD_X86_SSE_VERSION]]
[[`_M_IX86_FP >= 1`] [BOOST_HW_SIMD_X86_SSE_VERSION]]
| `+__SSE__+` | BOOST_HW_SIMD_X86_SSE_VERSION
| `+_M_X64+` | BOOST_HW_SIMD_X86_SSE_VERSION
| `_M_IX86_FP >= 1` | BOOST_HW_SIMD_X86_SSE_VERSION
[[`__SSE2__`] [BOOST_HW_SIMD_X86_SSE2_VERSION]]
[[`_M_X64`] [BOOST_HW_SIMD_X86_SSE2_VERSION]]
[[`_M_IX86_FP >= 2`] [BOOST_HW_SIMD_X86_SSE2_VERSION]]
| `+__SSE2__+` | BOOST_HW_SIMD_X86_SSE2_VERSION
| `+_M_X64+` | BOOST_HW_SIMD_X86_SSE2_VERSION
| `_M_IX86_FP >= 2` | BOOST_HW_SIMD_X86_SSE2_VERSION
[[`__SSE3__`] [BOOST_HW_SIMD_X86_SSE3_VERSION]]
| `+__SSE3__+` | BOOST_HW_SIMD_X86_SSE3_VERSION
[[`__SSSE3__`] [BOOST_HW_SIMD_X86_SSSE3_VERSION]]
| `+__SSSE3__+` | BOOST_HW_SIMD_X86_SSSE3_VERSION
[[`__SSE4_1__`] [BOOST_HW_SIMD_X86_SSE4_1_VERSION]]
| `+__SSE4_1__+` | BOOST_HW_SIMD_X86_SSE4_1_VERSION
[[`__SSE4_2__`] [BOOST_HW_SIMD_X86_SSE4_2_VERSION]]
| `+__SSE4_2__+` | BOOST_HW_SIMD_X86_SSE4_2_VERSION
[[`__AVX__`] [BOOST_HW_SIMD_X86_AVX_VERSION]]
| `+__AVX__+` | BOOST_HW_SIMD_X86_AVX_VERSION
[[`__FMA__`] [BOOST_HW_SIMD_X86_FMA3_VERSION]]
| `+__FMA__+` | BOOST_HW_SIMD_X86_FMA3_VERSION
[[`__AVX2__`] [BOOST_HW_SIMD_X86_AVX2_VERSION]]
]
| `+__AVX2__+` | BOOST_HW_SIMD_X86_AVX2_VERSION
|===
*/
*/ // end::reference[]
#define BOOST_HW_SIMD_X86 BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,119 +11,125 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
/*`
Those defines represent x86 SIMD extensions versions.
/* tag::reference[]
= `BOOST_HW_SIMD_X86_*_VERSION`
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_X86`.]
*/
Those defines represent x86 SIMD extensions versions.
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_X86`.
*/ // end::reference[]
// ---------------------------------
/*`
[heading `BOOST_HW_SIMD_X86_MMX_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86_MMX_VERSION`
The [@https://en.wikipedia.org/wiki/MMX_(instruction_set) MMX] x86 extension
version number.
The https://en.wikipedia.org/wiki/MMX_(instruction_set)[MMX] x86 extension
version number.
Version number is: *0.99.0*.
*/
Version number is: *0.99.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_X86_MMX_VERSION BOOST_VERSION_NUMBER(0, 99, 0)
/*`
[heading `BOOST_HW_SIMD_X86_SSE_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSE_VERSION`
The [@https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions SSE] x86 extension
version number.
The https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions[SSE] x86 extension
version number.
Version number is: *1.0.0*.
*/
Version number is: *1.0.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_X86_SSE_VERSION BOOST_VERSION_NUMBER(1, 0, 0)
/*`
[heading `BOOST_HW_SIMD_X86_SSE2_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSE2_VERSION`
The [@https://en.wikipedia.org/wiki/SSE2 SSE2] x86 extension version number.
The https://en.wikipedia.org/wiki/SSE2[SSE2] x86 extension version number.
Version number is: *2.0.0*.
*/
Version number is: *2.0.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_X86_SSE2_VERSION BOOST_VERSION_NUMBER(2, 0, 0)
/*`
[heading `BOOST_HW_SIMD_X86_SSE3_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSE3_VERSION`
The [@https://en.wikipedia.org/wiki/SSE3 SSE3] x86 extension version number.
The https://en.wikipedia.org/wiki/SSE3[SSE3] x86 extension version number.
Version number is: *3.0.0*.
*/
Version number is: *3.0.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_X86_SSE3_VERSION BOOST_VERSION_NUMBER(3, 0, 0)
/*`
[heading `BOOST_HW_SIMD_X86_SSSE3_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSSE3_VERSION`
The [@https://en.wikipedia.org/wiki/SSSE3 SSSE3] x86 extension version number.
The https://en.wikipedia.org/wiki/SSSE3[SSSE3] x86 extension version number.
Version number is: *3.1.0*.
*/
Version number is: *3.1.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_X86_SSSE3_VERSION BOOST_VERSION_NUMBER(3, 1, 0)
/*`
[heading `BOOST_HW_SIMD_X86_SSE4_1_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSE4_1_VERSION`
The [@https://en.wikipedia.org/wiki/SSE4#SSE4.1 SSE4_1] x86 extension version
number.
The https://en.wikipedia.org/wiki/SSE4#SSE4.1[SSE4_1] x86 extension version
number.
Version number is: *4.1.0*.
*/
Version number is: *4.1.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_X86_SSE4_1_VERSION BOOST_VERSION_NUMBER(4, 1, 0)
/*`
[heading `BOOST_HW_SIMD_X86_SSE4_2_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSE4_2_VERSION`
The [@https://en.wikipedia.org/wiki/SSE4##SSE4.2 SSE4_2] x86 extension version
number.
The https://en.wikipedia.org/wiki/SSE4##SSE4.2[SSE4_2] x86 extension version
number.
Version number is: *4.2.0*.
*/
Version number is: *4.2.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_X86_SSE4_2_VERSION BOOST_VERSION_NUMBER(4, 2, 0)
/*`
[heading `BOOST_HW_SIMD_X86_AVX_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AVX_VERSION`
The [@https://en.wikipedia.org/wiki/Advanced_Vector_Extensions AVX] x86
extension version number.
The https://en.wikipedia.org/wiki/Advanced_Vector_Extensions[AVX] x86
extension version number.
Version number is: *5.0.0*.
*/
Version number is: *5.0.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_X86_AVX_VERSION BOOST_VERSION_NUMBER(5, 0, 0)
/*`
[heading `BOOST_HW_SIMD_X86_FMA3_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86_FMA3_VERSION`
The [@https://en.wikipedia.org/wiki/FMA_instruction_set FMA3] x86 extension
version number.
The https://en.wikipedia.org/wiki/FMA_instruction_set[FMA3] x86 extension
version number.
Version number is: *5.2.0*.
*/
Version number is: *5.2.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_X86_FMA3_VERSION BOOST_VERSION_NUMBER(5, 2, 0)
/*`
[heading `BOOST_HW_SIMD_X86_AVX2_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AVX2_VERSION`
The [@https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2 AVX2]
x86 extension version number.
The https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2[AVX2]
x86 extension version number.
Version number is: *5.3.0*.
*/
Version number is: *5.3.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_X86_AVX2_VERSION BOOST_VERSION_NUMBER(5, 3, 0)
/*`
[heading `BOOST_HW_SIMD_X86_MIC_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86_MIC_VERSION`
The [@https://en.wikipedia.org/wiki/Xeon_Phi MIC] (Xeon Phi) x86 extension
version number.
The https://en.wikipedia.org/wiki/Xeon_Phi[MIC] (Xeon Phi) x86 extension
version number.
Version number is: *9.0.0*.
*/
Version number is: *9.0.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_X86_MIC_VERSION BOOST_VERSION_NUMBER(9, 0, 0)
/* tag::reference[]
*/ // end::reference[]
#endif

View File

@ -12,42 +12,44 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/hardware/simd/x86_amd/versions.h>
/*`
[heading `BOOST_HW_SIMD_X86_AMD`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AMD`
The SIMD extension for x86 (AMD) (*if detected*).
Version number depends on the most recent detected extension.
The SIMD extension for x86 (AMD) (*if detected*).
Version number depends on the most recent detected extension.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__SSE4A__`] [__predef_detection__]]
| `+__SSE4A__+` | {predef_detection}
[[`__FMA4__`] [__predef_detection__]]
| `+__FMA4__+` | {predef_detection}
[[`__XOP__`] [__predef_detection__]]
| `+__XOP__+` | {predef_detection}
[[`BOOST_HW_SIMD_X86`] [__predef_detection__]]
]
| `BOOST_HW_SIMD_X86` | {predef_detection}
|===
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__SSE4A__`] [BOOST_HW_SIMD_X86_SSE4A_VERSION]]
| `+__SSE4A__+` | BOOST_HW_SIMD_X86_SSE4A_VERSION
[[`__FMA4__`] [BOOST_HW_SIMD_X86_FMA4_VERSION]]
| `+__FMA4__+` | BOOST_HW_SIMD_X86_FMA4_VERSION
[[`__XOP__`] [BOOST_HW_SIMD_X86_XOP_VERSION]]
| `+__XOP__+` | BOOST_HW_SIMD_X86_XOP_VERSION
[[`BOOST_HW_SIMD_X86`] [BOOST_HW_SIMD_X86]]
]
| `BOOST_HW_SIMD_X86` | BOOST_HW_SIMD_X86
|===
[note This predef includes every other x86 SIMD extensions and also has other
more specific extensions (FMA4, XOP, SSE4a). You should use this predef
instead of `BOOST_HW_SIMD_X86` to test if those specific extensions have
been detected.]
NOTE: This predef includes every other x86 SIMD extensions and also has other
more specific extensions (FMA4, XOP, SSE4a). You should use this predef
instead of `BOOST_HW_SIMD_X86` to test if those specific extensions have
been detected.
*/
*/ // end::reference[]
#define BOOST_HW_SIMD_X86_AMD BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,41 +11,46 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
/*`
Those defines represent x86 (AMD specific) SIMD extensions versions.
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AMD_*_VERSION`
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_X86_AMD`.]
*/
Those defines represent x86 (AMD specific) SIMD extensions versions.
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_X86_AMD`.
*/ // end::reference[]
// ---------------------------------
/*`
[heading `BOOST_HW_SIMD_X86_AMD_SSE4A_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AMD_SSE4A_VERSION`
[@https://en.wikipedia.org/wiki/SSE4##SSE4A SSE4A] x86 extension (AMD specific).
https://en.wikipedia.org/wiki/SSE4##SSE4A[SSE4A] x86 extension (AMD specific).
Version number is: *4.0.0*.
*/
Version number is: *4.0.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_X86_AMD_SSE4A_VERSION BOOST_VERSION_NUMBER(4, 0, 0)
/*`
[heading `BOOST_HW_SIMD_X86_AMD_FMA4_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AMD_FMA4_VERSION`
[@https://en.wikipedia.org/wiki/FMA_instruction_set#FMA4_instruction_set FMA4] x86 extension (AMD specific).
https://en.wikipedia.org/wiki/FMA_instruction_set#FMA4_instruction_set[FMA4] x86 extension (AMD specific).
Version number is: *5.1.0*.
*/
Version number is: *5.1.0*.
*/ // end::reference[]
#define BOOST_HW_SIMD_X86_AMD_FMA4_VERSION BOOST_VERSION_NUMBER(5, 1, 0)
/*`
[heading `BOOST_HW_SIMD_X86_AMD_XOP_VERSION`]
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AMD_XOP_VERSION`
[@https://en.wikipedia.org/wiki/XOP_instruction_set XOP] x86 extension (AMD specific).
https://en.wikipedia.org/wiki/XOP_instruction_set[XOP] x86 extension (AMD specific).
Version number is: *5.1.1*.
*/
Version number is: *5.1.1*.
*/ // end::reference[]
#define BOOST_HW_SIMD_X86_AMD_XOP_VERSION BOOST_VERSION_NUMBER(5, 1, 1)
/* tag::reference[]
*/ // end::reference[]
#endif

View File

@ -11,21 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LANG_CUDA`]
/* tag::reference[]
= `BOOST_LANG_CUDA`
[@https://en.wikipedia.org/wiki/CUDA CUDA C/C++] language.
https://en.wikipedia.org/wiki/CUDA[CUDA C/{CPP}] language.
If available, the version is detected as VV.RR.P.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__CUDACC__`] [__predef_detection__]]
[[`__CUDA__`] [__predef_detection__]]
| `+__CUDACC__+` | {predef_detection}
| `+__CUDA__+` | {predef_detection}
[[`CUDA_VERSION`] [VV.RR.P]]
]
*/
| `CUDA_VERSION` | VV.RR.P
|===
*/ // end::reference[]
#define BOOST_LANG_CUDA BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,17 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LANG_OBJC`]
/* tag::reference[]
= `BOOST_LANG_OBJC`
[@http://en.wikipedia.org/wiki/Objective-C Objective-C] language.
http://en.wikipedia.org/wiki/Objective-C[Objective-C] language.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__OBJC__`] [__predef_detection__]]
]
*/
| `+__OBJC__+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_LANG_OBJC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LANG_STDC`]
/* tag::reference[]
= `BOOST_LANG_STDC`
[@http://en.wikipedia.org/wiki/C_(programming_language) Standard C] language.
If available, the year of the standard is detected as YYYY.MM.1 from the Epoc date.
http://en.wikipedia.org/wiki/C_(programming_language)[Standard C] language.
If available, the year of the standard is detected as YYYY.MM.1 from the Epoch date.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__STDC__`] [__predef_detection__]]
| `+__STDC__+` | {predef_detection}
[[`__STDC_VERSION__`] [V.R.P]]
]
*/
| `+__STDC_VERSION__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_LANG_STDC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,29 +11,34 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LANG_STDCPP`]
/* tag::reference[]
= `BOOST_LANG_STDCPP`
[@http://en.wikipedia.org/wiki/C%2B%2B Standard C++] language.
If available, the year of the standard is detected as YYYY.MM.1 from the Epoc date.
Because of the way the C++ standardization process works the
http://en.wikipedia.org/wiki/C%2B%2B[Standard {CPP}] language.
If available, the year of the standard is detected as YYYY.MM.1 from the Epoch date.
Because of the way the {CPP} standardization process works the
defined version year will not be the commonly known year of the standard.
Specifically the defined versions are:
[table Detected Version Number vs. C++ Standard Year
[[Detected Version Number] [Standard Year] [C++ Standard]]
[[27.11.1] [1998] [ISO/IEC 14882:1998]]
[[41.12.1] [2011] [ISO/IEC 14882:2011]]
]
.Detected Version Number vs. {CPP} Standard Year
[options="header"]
|===
| Detected Version Number | Standard Year | {CPP} Standard
| 27.11.1 | 1998 | ISO/IEC 14882:1998
| 41.3.1 | 2011 | ISO/IEC 14882:2011
| 44.2.1 | 2014 | ISO/IEC 14882:2014
| 47.3.1 | 2017 | ISO/IEC 14882:2017
|===
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__cplusplus`] [__predef_detection__]]
| `+__cplusplus+` | {predef_detection}
[[`__cplusplus`] [YYYY.MM.1]]
]
*/
| `+__cplusplus+` | YYYY.MM.1
|===
*/ // end::reference[]
#define BOOST_LANG_STDCPP BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -52,20 +57,21 @@ Specifically the defined versions are:
#define BOOST_LANG_STDCPP_NAME "Standard C++"
/*`
[heading `BOOST_LANG_STDCPPCLI`]
/* tag::reference[]
= `BOOST_LANG_STDCPPCLI`
[@http://en.wikipedia.org/wiki/C%2B%2B/CLI Standard C++/CLI] language.
If available, the year of the standard is detected as YYYY.MM.1 from the Epoc date.
http://en.wikipedia.org/wiki/C%2B%2B/CLI[Standard {CPP}/CLI] language.
If available, the year of the standard is detected as YYYY.MM.1 from the Epoch date.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__cplusplus_cli`] [__predef_detection__]]
| `+__cplusplus_cli+` | {predef_detection}
[[`__cplusplus_cli`] [YYYY.MM.1]]
]
*/
| `+__cplusplus_cli+` | YYYY.MM.1
|===
*/ // end::reference[]
#define BOOST_LANG_STDCPPCLI BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -84,17 +90,18 @@ If available, the year of the standard is detected as YYYY.MM.1 from the Epoc da
#define BOOST_LANG_STDCPPCLI_NAME "Standard C++/CLI"
/*`
[heading `BOOST_LANG_STDECPP`]
/* tag::reference[]
= `BOOST_LANG_STDECPP`
[@http://en.wikipedia.org/wiki/Embedded_C%2B%2B Standard Embedded C++] language.
http://en.wikipedia.org/wiki/Embedded_C%2B%2B[Standard Embedded {CPP}] language.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__embedded_cplusplus`] [__predef_detection__]]
]
*/
| `+__embedded_cplusplus+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_LANG_STDECPP BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -18,20 +18,21 @@
#include <stddef.h>
#endif
/*`
[heading `BOOST_LIB_C_CLOUDABI`]
/* tag::reference[]
= `BOOST_LIB_C_CLOUDABI`
[@https://github.com/NuxiNL/cloudlibc cloudlibc] - CloudABI's standard C library.
https://github.com/NuxiNL/cloudlibc[cloudlibc] - CloudABI's standard C library.
Version number available as major, and minor.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__cloudlibc__`] [__predef_detection__]]
| `+__cloudlibc__+` | {predef_detection}
[[`__cloudlibc_major__`, `__cloudlibc_minor__`] [V.R.0]]
]
*/
| `+__cloudlibc_major__+`, `+__cloudlibc_minor__+` | V.R.0
|===
*/ // end::reference[]
#define BOOST_LIB_C_CLOUDABI BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -19,22 +19,23 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <cstddef>
#endif
/*`
[heading `BOOST_LIB_C_GNU`]
/* tag::reference[]
= `BOOST_LIB_C_GNU`
[@http://en.wikipedia.org/wiki/Glibc GNU glibc] Standard C library.
http://en.wikipedia.org/wiki/Glibc[GNU glibc] Standard C library.
Version number available as major, and minor.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__GLIBC__`] [__predef_detection__]]
[[`__GNU_LIBRARY__`] [__predef_detection__]]
| `+__GLIBC__+` | {predef_detection}
| `+__GNU_LIBRARY__+` | {predef_detection}
[[`__GLIBC__`, `__GLIBC_MINOR__`] [V.R.0]]
[[`__GNU_LIBRARY__`, `__GNU_LIBRARY_MINOR__`] [V.R.0]]
]
*/
| `+__GLIBC__+`, `+__GLIBC_MINOR__+` | V.R.0
| `+__GNU_LIBRARY__+`, `+__GNU_LIBRARY_MINOR__+` | V.R.0
|===
*/ // end::reference[]
#define BOOST_LIB_C_GNU BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,19 +13,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LIB_C_UC`]
/* tag::reference[]
= `BOOST_LIB_C_UC`
[@http://en.wikipedia.org/wiki/Uclibc uClibc] Standard C library.
http://en.wikipedia.org/wiki/Uclibc[uClibc] Standard C library.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__UCLIBC__`] [__predef_detection__]]
| `+__UCLIBC__+` | {predef_detection}
[[`__UCLIBC_MAJOR__`, `__UCLIBC_MINOR__`, `__UCLIBC_SUBLEVEL__`] [V.R.P]]
]
*/
| `+__UCLIBC_MAJOR__+`, `+__UCLIBC_MINOR__+`, `+__UCLIBC_SUBLEVEL__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_LIB_C_UC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,20 +13,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LIB_C_VMS`]
/* tag::reference[]
= `BOOST_LIB_C_VMS`
VMS libc Standard C library.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__CRTL_VER`] [__predef_detection__]]
| `+__CRTL_VER+` | {predef_detection}
[[`__CRTL_VER`] [V.R.P]]
]
*/
| `+__CRTL_VER+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_LIB_C_VMS BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,21 +13,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LIB_C_ZOS`]
/* tag::reference[]
= `BOOST_LIB_C_ZOS`
z/OS libc Standard C library.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__LIBREL__`] [__predef_detection__]]
| `+__LIBREL__+` | {predef_detection}
[[`__LIBREL__`] [V.R.P]]
[[`__TARGET_LIB__`] [V.R.P]]
]
*/
| `+__LIBREL__+` | V.R.P
| `+__TARGET_LIB__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_LIB_C_ZOS BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,25 +13,26 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LIB_STD_CXX`]
/* tag::reference[]
= `BOOST_LIB_STD_CXX`
[@http://libcxx.llvm.org/ libc++] C++ Standard Library.
http://libcxx.llvm.org/[libc++] {CPP} Standard Library.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`_LIBCPP_VERSION`] [__predef_detection__]]
| `+_LIBCPP_VERSION+` | {predef_detection}
[[`_LIBCPP_VERSION`] [V.0.P]]
]
*/
| `+_LIBCPP_VERSION+` | V.0.P
|===
*/ // end::reference[]
#define BOOST_LIB_STD_CXX BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(_LIBCPP_VERSION)
# undef BOOST_LIB_STD_CXX
# define BOOST_LIB_STD_CXX BOOST_PREDEF_MAKE_10_VPPP(_LIBCPP_VERSION)
# define BOOST_LIB_STD_CXX BOOST_PREDEF_MAKE_10_VVPPP(_LIBCPP_VERSION)
#endif
#if BOOST_LIB_STD_CXX

View File

@ -13,21 +13,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LIB_STD_DINKUMWARE`]
/* tag::reference[]
= `BOOST_LIB_STD_DINKUMWARE`
[@http://en.wikipedia.org/wiki/Dinkumware Dinkumware] Standard C++ Library.
http://en.wikipedia.org/wiki/Dinkumware[Dinkumware] Standard {CPP} Library.
If available version number as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`_YVALS`, `__IBMCPP__`] [__predef_detection__]]
[[`_CPPLIB_VER`] [__predef_detection__]]
| `+_YVALS+`, `+__IBMCPP__+` | {predef_detection}
| `+_CPPLIB_VER+` | {predef_detection}
[[`_CPPLIB_VER`] [V.R.0]]
]
*/
| `+_CPPLIB_VER+` | V.R.0
|===
*/ // end::reference[]
#define BOOST_LIB_STD_DINKUMWARE BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,20 +13,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LIB_STD_COMO`]
/* tag::reference[]
= `BOOST_LIB_STD_COMO`
[@http://www.comeaucomputing.com/libcomo/ Comeau Computing] Standard C++ Library.
http://www.comeaucomputing.com/libcomo/[Comeau Computing] Standard {CPP} Library.
Version number available as major.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__LIBCOMO__`] [__predef_detection__]]
| `+__LIBCOMO__+` | {predef_detection}
[[`__LIBCOMO_VERSION__`] [V.0.0]]
]
*/
| `+__LIBCOMO_VERSION__+` | V.0.0
|===
*/ // end::reference[]
#define BOOST_LIB_STD_COMO BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,18 +13,19 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LIB_STD_MSIPL`]
/* tag::reference[]
= `BOOST_LIB_STD_MSIPL`
[@http://modena.us/ Modena Software Lib++] Standard C++ Library.
http://modena.us/[Modena Software Lib++] Standard {CPP} Library.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`MSIPL_COMPILE_H`] [__predef_detection__]]
[[`__MSIPL_COMPILE_H`] [__predef_detection__]]
]
*/
| `MSIPL_COMPILE_H` | {predef_detection}
| `+__MSIPL_COMPILE_H+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_LIB_STD_MSIPL BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,22 +13,23 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LIB_STD_MSL`]
/* tag::reference[]
= `BOOST_LIB_STD_MSL`
[@http://www.freescale.com/ Metrowerks] Standard C++ Library.
http://www.freescale.com/[Metrowerks] Standard {CPP} Library.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__MSL_CPP__`] [__predef_detection__]]
[[`__MSL__`] [__predef_detection__]]
| `+__MSL_CPP__+` | {predef_detection}
| `+__MSL__+` | {predef_detection}
[[`__MSL_CPP__`] [V.R.P]]
[[`__MSL__`] [V.R.P]]
]
*/
| `+__MSL_CPP__+` | V.R.P
| `+__MSL__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_LIB_STD_MSL BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,21 +13,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LIB_STD_RW`]
/* tag::reference[]
= `BOOST_LIB_STD_RW`
[@http://stdcxx.apache.org/ Roguewave] Standard C++ library.
http://stdcxx.apache.org/[Roguewave] Standard {CPP} library.
If available version number as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__STD_RWCOMPILER_H__`] [__predef_detection__]]
[[`_RWSTD_VER`] [__predef_detection__]]
| `+__STD_RWCOMPILER_H__+` | {predef_detection}
| `+_RWSTD_VER+` | {predef_detection}
[[`_RWSTD_VER`] [V.R.P]]
]
*/
| `+_RWSTD_VER+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_LIB_STD_RW BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,20 +13,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LIB_STD_SGI`]
/* tag::reference[]
= `BOOST_LIB_STD_SGI`
[@http://www.sgi.com/tech/stl/ SGI] Standard C++ library.
http://www.sgi.com/tech/stl/[SGI] Standard {CPP} library.
If available version number as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__STL_CONFIG_H`] [__predef_detection__]]
| `+__STL_CONFIG_H+` | {predef_detection}
[[`__SGI_STL`] [V.R.P]]
]
*/
| `+__SGI_STL+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_LIB_STD_SGI BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,22 +13,23 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LIB_STD_GNU`]
/* tag::reference[]
= `BOOST_LIB_STD_GNU`
[@http://gcc.gnu.org/libstdc++/ GNU libstdc++] Standard C++ library.
https://gcc.gnu.org/onlinedocs/libstdc%2b%2b/[GNU libstdc++] Standard {CPP} library.
Version number available as year (from 1970), month, and day.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__GLIBCXX__`] [__predef_detection__]]
[[`__GLIBCPP__`] [__predef_detection__]]
| `+__GLIBCXX__+` | {predef_detection}
| `+__GLIBCPP__+` | {predef_detection}
[[`__GLIBCXX__`] [V.R.P]]
[[`__GLIBCPP__`] [V.R.P]]
]
*/
| `+__GLIBCXX__+` | V.R.P
| `+__GLIBCPP__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_LIB_STD_GNU BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,23 +13,24 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LIB_STD_STLPORT`]
/* tag::reference[]
= `BOOST_LIB_STD_STLPORT`
[@http://sourceforge.net/projects/stlport/ STLport Standard C++] library.
http://sourceforge.net/projects/stlport/[STLport Standard {CPP}] library.
Version number available as major, minor, and patch.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__SGI_STL_PORT`] [__predef_detection__]]
[[`_STLPORT_VERSION`] [__predef_detection__]]
| `+__SGI_STL_PORT+` | {predef_detection}
| `+_STLPORT_VERSION+` | {predef_detection}
[[`_STLPORT_MAJOR`, `_STLPORT_MINOR`, `_STLPORT_PATCHLEVEL`] [V.R.P]]
[[`_STLPORT_VERSION`] [V.R.P]]
[[`__SGI_STL_PORT`] [V.R.P]]
]
*/
| `+_STLPORT_MAJOR+`, `+_STLPORT_MINOR+`, `+_STLPORT_PATCHLEVEL+` | V.R.P
| `+_STLPORT_VERSION+` | V.R.P
| `+__SGI_STL_PORT+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_LIB_STD_STLPORT BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,17 +13,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/*`
[heading `BOOST_LIB_STD_IBM`]
/* tag::reference[]
= `BOOST_LIB_STD_IBM`
[@http://www.ibm.com/software/awdtools/xlcpp/ IBM VACPP Standard C++] library.
http://www.ibm.com/software/awdtools/xlcpp/[IBM VACPP Standard {CPP}] library.
[table
[[__predef_symbol__] [__predef_version__]]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[[`__IBMCPP__`] [__predef_detection__]]
]
*/
| `+__IBMCPP__+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_LIB_STD_IBM BOOST_VERSION_NUMBER_NOT_AVAILABLE

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