Compare commits

..

3 Commits

Author SHA1 Message Date
29b3dcc4d7 Update dependencies 2017-06-24 04:09:13 +03:00
086d82f074 Update Jamfile to generate dependencies 2017-06-24 03:44:29 +03:00
7b6bf3089f Add cmake files 2017-06-24 00:37:22 +03:00
156 changed files with 2357 additions and 10983 deletions

8
.gitignore vendored
View File

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

11
.project Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Boost Predef</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

119
.travis.yml Normal file
View File

@ -0,0 +1,119 @@
# 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.
# 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
# For now the CI scripts only support the two main branches available
# on the boost super-project.
branches:
only:
- master
- develop
# 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 Trausty 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:
- 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 CXXFLAGS=-std=c++03
- env: TOOLSET=clang-4.0 CXXFLAGS=-std=c++11
- env: TOOLSET=clang-4.0 CXXFLAGS=-std=c++14
- env: TOOLSET=clang-4.0 CXXFLAGS=-std=c++1z
- 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 CXXFLAGS=-std=c++03
- env: TOOLSET=gcc-7 CXXFLAGS=-std=c++11
- env: TOOLSET=gcc-7 CXXFLAGS=-std=c++14
- env: TOOLSET=gcc-7 CXXFLAGS=-std=c++1z
- env: TOOLSET=gcc-7 CXXFLAGS=-std=gnu++03
- env: TOOLSET=gcc-7 CXXFLAGS=-std=gnu++11
- env: TOOLSET=gcc-7 CXXFLAGS=-std=gnu++14
- env: TOOLSET=gcc-7 CXXFLAGS=-std=gnu++1z
- 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 CXXFLAGS=-std=c++03
os: osx
osx_image: xcode8.3
- env: TOOLSET=xcode-8.3 CXXFLAGS=-std=c++11
os: osx
osx_image: xcode8.3
- env: TOOLSET=xcode-8.3 CXXFLAGS=-std=c++14
os: osx
osx_image: xcode8.3
- env: TOOLSET=xcode-8.3 CXXFLAGS=-std=c++1z
os: osx
osx_image: xcode8.3
# These are the standard steps to bootstrap the Boost CI scripts
# and to forward the actions to the scripts.
before_install:
# Fetch the scripts to do the actual building/testing.
- |
wget "https://raw.githubusercontent.com/boostorg/regression/develop/ci/src/ci_boost_common.py" -P ..
wget "https://raw.githubusercontent.com/boostorg/regression/develop/ci/src/ci_boost_library_test.py" -P ..
install: python "${TRAVIS_BUILD_DIR}/../ci_boost_library_test.py" install
before_script: python "${TRAVIS_BUILD_DIR}/../ci_boost_library_test.py" before_script
script: python "${TRAVIS_BUILD_DIR}/../ci_boost_library_test.py" script
before_cache: python "${TRAVIS_BUILD_DIR}/../ci_boost_library_test.py" before_cache
after_success: python "${TRAVIS_BUILD_DIR}/../ci_boost_library_test.py" after_success
after_failure: python "${TRAVIS_BUILD_DIR}/../ci_boost_library_test.py" after_failure
after_script: python "${TRAVIS_BUILD_DIR}/../ci_boost_library_test.py" after_script
cache:
directories:
- $HOME/boostorg/boost

View File

@ -1,38 +1,8 @@
# Copyright Mike Dev 2018
# Copyright Rene Rivera 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
cmake_minimum_required(VERSION 3.5)
# NOTE:
# CMake support for Boost.Predef is currently experimental at best and the
# interface is likely to change in the future
#
# This file provides minimal cmake support (no unit-tests,
# no installation) for integration into a "host" cmake project
# via the "add_subdirectory( <path-to-boost-predef> )" command.
#
# Other cmake targets can then use the public target name
# "Boost::predef" in order to express their dependency
# on this library. I.e:
#
# target_link_libraries( <my-exe/lib> PUBLIC Boost::predef )
include(cmake/BoostVersion.cmake)
set(BOOST_PROJECT_NAME predef)
# Only need the basic minimum of project, add_library, and
# target_include_directories commands.
cmake_minimum_required( VERSION 3.0 )
project(boost_${BOOST_PROJECT_NAME} VERSION ${BOOST_VERSION} LANGUAGES CXX)
# 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 )
# Simple INTERFACE, and header only, library target.
add_library( boost_predef INTERFACE )
# The only usage requirement is include dir for consumers.
target_include_directories( boost_predef INTERFACE include )
# Add an alias to be compatible with consumers that may have used the
# FindBoost script.
add_library( Boost::predef ALIAS boost_predef )
include(cmake/default.cmake)

93
appveyor.yml Normal file
View File

@ -0,0 +1,93 @@
# 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
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-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: mingw-5
platform: 32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- TOOLSET: mingw64-6
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
# These are the standard steps to bootstrap the Boost CI scripts
# and to forward the actions to the scripts.
init:
# Fetch the scripts to do the actual building/testing.
- cd %APPVEYOR_BUILD_FOLDER%/..
- appveyor DownloadFile "https://raw.githubusercontent.com/boostorg/regression/develop/ci/src/ci_boost_common.py"
- appveyor DownloadFile "https://raw.githubusercontent.com/boostorg/regression/develop/ci/src/ci_boost_library_test.py"
- cd %APPVEYOR_BUILD_FOLDER%
install: python ../ci_boost_library_test.py install
before_build: python ../ci_boost_library_test.py before_build
build_script: python ../ci_boost_library_test.py build_script
after_build: python ../ci_boost_library_test.py after_build
before_test: python ../ci_boost_library_test.py before_test
test_script: python ../ci_boost_library_test.py test_script
after_test: python ../ci_boost_library_test.py after_test
on_success: python ../ci_boost_library_test.py on_success
on_failure: python ../ci_boost_library_test.py on_failure
on_finish: python ../ci_boost_library_test.py on_finish

View File

@ -1,333 +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 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 9 (GNU):
TOOLSET: gcc
CXX: g++-9
PACKAGES: g++-9
B2_ARGS: 'cxxstd=03,11,14,17,2a cxxstd-dialect=gnu'
VM_IMAGE: 'ubuntu-18.04'
GCC 9 (ISO):
TOOLSET: gcc
CXX: g++-9
PACKAGES: g++-9
B2_ARGS: 'cxxstd=03,11,14,17,2a cxxstd-dialect=iso'
VM_IMAGE: 'ubuntu-18.04'
GCC 9:
TOOLSET: gcc
CXX: g++-9
PACKAGES: g++-9
VM_IMAGE: 'ubuntu-18.04'
GCC 8:
TOOLSET: gcc
CXX: g++-8
PACKAGES: g++-8
VM_IMAGE: 'ubuntu-18.04'
GCC 7:
TOOLSET: gcc
CXX: g++-7
PACKAGES: g++-7
VM_IMAGE: 'ubuntu-18.04'
GCC 6:
TOOLSET: gcc
CXX: g++-6
PACKAGES: g++-6
VM_IMAGE: 'ubuntu-18.04'
GCC 5:
TOOLSET: gcc
CXX: g++-5
PACKAGES: g++-5
VM_IMAGE: 'ubuntu-18.04'
GCC 4.9:
TOOLSET: gcc
CXX: g++-4.9
PACKAGES: g++-4.9
VM_IMAGE: 'ubuntu-16.04'
GCC 4.8:
TOOLSET: gcc
CXX: g++-4.8
PACKAGES: g++-4.8
VM_IMAGE: 'ubuntu-16.04'
GCC 4.7:
TOOLSET: gcc
CXX: g++-4.7
PACKAGES: g++-4.7
VM_IMAGE: 'ubuntu-16.04'
Clang 9:
TOOLSET: clang
CXX: clang++-9
PACKAGES: clang-9
LLVM_REPO: llvm-toolchain-xenial-9
VM_IMAGE: 'ubuntu-18.04'
Clang 8:
TOOLSET: clang
CXX: clang++-8
PACKAGES: clang-8
LLVM_REPO: llvm-toolchain-xenial-8
VM_IMAGE: 'ubuntu-18.04'
Clang 7:
TOOLSET: clang
CXX: clang++-7
PACKAGES: clang-7
LLVM_REPO: llvm-toolchain-xenial-7
VM_IMAGE: 'ubuntu-18.04'
Clang 6:
TOOLSET: clang
CXX: clang++-6.0
PACKAGES: clang-6.0
LLVM_REPO: llvm-toolchain-xenial-6.0
VM_IMAGE: 'ubuntu-18.04'
Clang 5:
TOOLSET: clang
CXX: clang++-5.0
PACKAGES: clang-5.0
LLVM_REPO: llvm-toolchain-xenial-5.0
VM_IMAGE: 'ubuntu-18.04'
Clang 4:
TOOLSET: clang
CXX: clang++-4.0
PACKAGES: clang-4.0
LLVM_REPO: llvm-toolchain-xenial-4.0
VM_IMAGE: 'ubuntu-18.04'
Clang 3.9:
TOOLSET: clang
CXX: clang++-3.9
PACKAGES: clang-3.9
VM_IMAGE: 'ubuntu-18.04'
Clang 3.8:
TOOLSET: clang
CXX: clang++-3.8
PACKAGES: clang-3.8
VM_IMAGE: 'ubuntu-16.04'
Clang 3.7:
TOOLSET: clang
CXX: clang++-3.7
PACKAGES: clang-3.7
VM_IMAGE: 'ubuntu-16.04'
Clang 3.6:
TOOLSET: clang
CXX: clang++-3.6
PACKAGES: clang-3.6
VM_IMAGE: 'ubuntu-16.04'
Clang 3.5:
TOOLSET: clang
CXX: clang++-3.5
PACKAGES: clang-3.5
VM_IMAGE: 'ubuntu-16.04'
pool:
vmImage: $(VM_IMAGE)
steps:
- bash: |
set -e
uname -a
sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
if test -n "${LLVM_REPO}" ; then
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo -E apt-add-repository "deb http://apt.llvm.org/xenial/ ${LLVM_REPO} main"
fi
sudo -E apt-get update
sudo -E apt-get -yq --no-install-suggests --no-install-recommends install ${PACKAGES}
displayName: 'Install CXX'
- bash: |
set -e
pushd ${HOME}
wget -nv https://github.com/boostorg/build/archive/master.tar.gz
tar -zxf master.tar.gz
cd build-master
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 --debug-configuration -a toolset=${TOOLSET} ${B2_ARGS}
popd
displayName: Test
- job: 'macOS'
strategy:
matrix:
Xcode 11.4:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_11.4_beta.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.3:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_11.3.app
VM_IMAGE: 'macOS-10.15'
Xcode 11.2:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_11.2.app
VM_IMAGE: 'macOS-10.15'
Xcode 11.1:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_11.1.app
VM_IMAGE: 'macOS-10.15'
Xcode 11.0:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_11.app
VM_IMAGE: 'macOS-10.15'
Xcode 10.2.1:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_10.2.1.app
VM_IMAGE: 'macOS-10.14'
Xcode 10.2:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_10.2.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/master.tar.gz
tar -zxf master.tar.gz
cd build-master
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 --debug-configuration -a toolset=${TOOLSET} ${B2_ARGS}
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/master.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-master
cmd.exe /c bootstrap.bat
displayName: Install B2
- script: |
set BOOST_BUILD_PATH=%BUILD_SOURCESDIRECTORY%/../build-master
cd %BUILD_SOURCESDIRECTORY%/test
%BUILD_SOURCESDIRECTORY%/../build-master/b2.exe --debug-configuration -a toolset=%TOOLSET% %B2_ARGS%
displayName: Test

View File

@ -1,43 +1,6 @@
# Copyright Rene Rivera 2014-2019
# Copyright Rene Rivera 2014
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
#|
This B2 project provides support for using the Predef library externally as
a standalone project or by embedding in your B2 project tree. To use
externally you would need a `use-project` declaration and to use the
project as a dependency where needed:
----
use-project /hash-predef : /path/to/hash-predef/root ;
exe my_thing : main.cpp : <dependency>/hash-predef ;
----
To use in your project tree you would only need to place the Predef tree
in a subdirectory and reference the project location as a dependency where
needed.
----
exe my_thin : main.cpp : <dependency>libs/hash-predef ;
----
|#
import project ;
path-constant BOOST_PREDEF_ROOT : . ;
path-constant BOOST_PREDEF_INCLUDE : include ;
constant PREDEF_DIST : boost ;
project /boost/predef
: usage-requirements
<include>$(BOOST_PREDEF_INCLUDE) ;
if [ project.is-jamroot-module $(__name__) ]
{
local attributes = [ project.attributes $(__name__) ] ;
$(attributes).set "build-dir" : .bin ;
}
alias libs ;

1
cmake/BoostVersion.cmake Normal file
View File

@ -0,0 +1 @@
set(BOOST_VERSION 1.65.0)

20
cmake/Jamfile Normal file
View File

@ -0,0 +1,20 @@
# Update cmake files
install BoostVersion_ : ../../../BoostVersion.cmake : <location>. ;
install default_ : ../../../cmake/default.cmake : <location>. ;
# Update dependencies
import path ;
path-constant LIBDIR : .. ;
actions boostdep-cmake
{
"$(LIBDIR)/../../dist/bin/boostdep" --cmake $(LIBDIR:B) > $(1)
}
make dependencies.cmake : : @boostdep-cmake ;
always dependencies.cmake ;
install dependencies_ : dependencies.cmake : <location>. ;

103
cmake/default.cmake Normal file
View File

@ -0,0 +1,103 @@
#
# Default CMakeLists.txt contents for a Boost library
#
# sources.cmake defines ${PROJECT_NAME}_SOURCES
include(cmake/sources.cmake)
if("${${PROJECT_NAME}_SOURCES}" STREQUAL "")
# if no sources, this is a header-only library
add_library(boost_${BOOST_PROJECT_NAME} INTERFACE)
# include directory
target_include_directories(${PROJECT_NAME} INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)
else()
# a library that requires building
add_library(${PROJECT_NAME} ${${PROJECT_NAME}_SOURCES})
# include directory
target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)
endif()
# add namespaced alias
add_library(boost::${BOOST_PROJECT_NAME} ALIAS ${PROJECT_NAME})
# set imported target name to the unqualified name, it will be namespaced
set_property(TARGET ${PROJECT_NAME} PROPERTY EXPORT_NAME ${BOOST_PROJECT_NAME})
# link to dependencies
include(CMakeFindDependencyMacro)
function(boost_declare_dependency package type target)
target_link_libraries(${PROJECT_NAME} ${type} ${target})
if(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
find_dependency(${package} ${PROJECT_VERSION} EXACT)
endif()
endfunction()
include(cmake/dependencies.cmake)
# target installation
install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-targets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
INCLUDES DESTINATION include
)
# header installation
install(DIRECTORY include/ DESTINATION include)
# export target info to ${PROJECT_NAME}-targets.cmake, used by -config.cmake
install(EXPORT ${PROJECT_NAME}-targets
FILE ${PROJECT_NAME}-targets.cmake
NAMESPACE boost::
DESTINATION lib/cmake/${PROJECT_NAME}-${PROJECT_VERSION}
)
# install -dependencies.cmake, used by -config.cmake
install(FILES cmake/dependencies.cmake
DESTINATION lib/cmake/${PROJECT_NAME}-${PROJECT_VERSION}
RENAME ${PROJECT_NAME}-dependencies.cmake
)
# write ${PROJECT_NAME}-config.cmake
file(WRITE "${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" "
include(\${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}-targets.cmake)
include(CMakeFindDependencyMacro)
function(boost_declare_dependency package type target)
find_dependency(\${package} ${PROJECT_VERSION} EXACT)
endfunction()
include(\${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}-dependencies.cmake)
")
include(CMakePackageConfigHelpers)
# write ${PROJECT_NAME}-config-version.cmake
write_basic_package_version_file("${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake"
VERSION ${PROJECT_VERSION}
COMPATIBILITY AnyNewerVersion
)
# install -config, -config-version
install(FILES
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake"
DESTINATION lib/cmake/${PROJECT_NAME}-${PROJECT_VERSION}
)

2
cmake/dependencies.cmake Normal file
View File

@ -0,0 +1,2 @@
# Generated file. Do not edit.

0
cmake/sources.cmake Normal file
View File

1
doc/.gitignore vendored Normal file
View File

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

View File

@ -1,38 +1,100 @@
#|
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)
|#
# 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)
import asciidoctor ;
import modules ;
using quickbook ;
using boostbook ;
import path ;
project predefdoc ;
if ! $(BOOST_ROOT)
{
BOOST_ROOT = [ modules.peek : BOOST_ROOT ] ;
}
path-constant PYGMENTS_DIR : . ;
if $(BOOST_PREDEF_ROOT)
{
path-constant BOOST_PREDEF_INCLUDE_ROOT : $(BOOST_PREDEF_ROOT)/include ;
}
else
{
path-constant BOOST_PREDEF_INCLUDE_ROOT : $(BOOST_ROOT) ;
}
doc-dir = [ MATCH "--doc-dir=(.*)" : [ modules.peek : ARGV ] ] ;
doc-dir ?= . ;
local BOOST_PREDEF_HEADERS = [ path.glob-tree $(BOOST_PREDEF_INCLUDE_ROOT)/boost/predef : *.h ] ;
local headers = [ glob-tree-ex $(BOOST_PREDEF_INCLUDE) : *.h ] ;
# Intermediate targets..
html index : predef.adoc :
# Quickbok to boostbook target.
xml predef
:
<flags>--require=$(PYGMENTS_DIR)/pygments_init.rb
<flags>--trace
<flags>--verbose
<dependency>$(PYGMENTS_DIR)/pygments_init.rb
<dependency>$(headers)
predef.qbk
:
<dependency>$(BOOST_PREDEF_INCLUDE_ROOT)/boost/predef.h
<dependency>$(BOOST_PREDEF_HEADERS)
;
explicit index ;
explicit predef ;
install html : index : <location>$(doc-dir) ;
explicit html ;
# 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 ;
alias boostdoc ;
# 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 ;
explicit boostdoc ;
alias boostrelease : html ;
# 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 ;
explicit boostrelease ;
###############################################################################

89
doc/hardware_simd.qbk Normal file
View File

@ -0,0 +1,89 @@
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,55 +1,15 @@
////
Copyright 2014-2020 Rene Rivera
[/
Copyright 2014-2016 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)
////
]
= History
[section History]
== 1.11
[heading 1.6]
* 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
`TARGET_OS_SIMULATOR`.
* Add `BOOST_PLAT_ANDROID` to resolve conflict between Linux and Android
OS predefs. The `BOOST_OS_ANDROID` predef is now deprecated and will be
removed in a future release.
* Add support for consuming Predef as a CMake project.
* Add support for consuming Predef as a standalone B2 project.
== 1.9
* Fixes for `BOOST_COMP_NVCC*` predefs. (from Benjamin Worpitz)
* Add specific version information for Cygwin OS predef. (from James E. King III)
== 1.8
* Add support for __ARM_ARCH macro. (from Tim Blechmann)
* Add detection for PTX architecture. (from Benjamin Worpitz)
* Add nvcc compiler detection. (from Benjamin Worpitz)
* Add support for detecting CUDA. (from Benjamin Worpitz)
* Remove reference to obsolete BOOST_ARCH_AMD64. (from Peter Kolbus)
== 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)
== 1.6
* Fix Intel C/{CPP} version 9999 detection to be 12.1.0.
* Fix Intel C/C++ 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)
@ -57,21 +17,21 @@ http://www.boost.org/LICENSE_1_0.txt)
Baratov)
* Fix MinGW incorrect header guard. (from Ruslan Baratov)
== 1.5
[heading 1.5]
* Fix Intel C/{CPP} compiler version specification.
* Fix Intel C/C++ 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.
== 1.4.1
[heading 1.4.1]
* Small fixes for some redefinition errors, and mispelled macros.
* Slightly rearrangement of structure to comply with current library requirements.
== 1.4
[heading 1.4]
* Add detection of SIMD hardware. With the addition of the `BOOST_HW_*`
category (from Charly Chevalier).
@ -80,16 +40,16 @@ http://www.boost.org/LICENSE_1_0.txt)
* Fix test warnings.
* Fix typos on `AVAILABLE` macros for Windows Platform. (from Vemund Handeland)
== 1.3
[heading 1.3]
* Fix many problems with `predef_check` functionality.
* Update SunPro detection to accommodate latest version of compiler from Oracle.
* Update SunPro detection to accomodate 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).
== 1.2
[heading 1.2]
* Account for skip in Visual Studio product version vs. compiler version.
This supports version of VS 2015 an onward.
@ -99,7 +59,7 @@ http://www.boost.org/LICENSE_1_0.txt)
* Add `predef_check` program and BBv2 integration for build configuration
checks.
== 1.1
[heading 1.1]
* Addition of `BOOST_PLAT_*` platform definitions for MinGW and
Windows platform variants.
@ -111,7 +71,9 @@ 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).
(except for sub-categories).]
[endsect]

File diff suppressed because it is too large Load Diff

View File

@ -1,45 +0,0 @@
/*
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;
}

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -0,0 +1,11 @@
// 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

@ -19,9 +19,7 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/architecture/mips.h>
#include <boost/predef/architecture/parisc.h>
#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>

View File

@ -11,23 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_ALPHA`
/*`
[heading `BOOST_ARCH_ALPHA`]
http://en.wikipedia.org/wiki/DEC_Alpha[DEC Alpha] architecture.
[@http://en.wikipedia.org/wiki/DEC_Alpha DEC Alpha] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
| `+__alpha__+` | {predef_detection}
| `+__alpha+` | {predef_detection}
| `+_M_ALPHA+` | {predef_detection}
[table
[[__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
|===
*/ // end::reference[]
[[`__alpha_ev4__`] [4.0.0]]
[[`__alpha_ev5__`] [5.0.0]]
[[`__alpha_ev6__`] [6.0.0]]
]
*/
#define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -1,5 +1,5 @@
/*
Copyright Rene Rivera 2008-2019
Copyright Rene Rivera 2008-2015
Copyright Franz Detro 2014
Copyright (c) Microsoft Corporation 2014
Distributed under the Boost Software License, Version 1.0.
@ -13,77 +13,38 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_ARM`
/*`
[heading `BOOST_ARCH_ARM`]
http://en.wikipedia.org/wiki/ARM_architecture[ARM] architecture.
[@http://en.wikipedia.org/wiki/ARM_architecture ARM] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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__`] [__predef_detection__]]
[[`__arm64`] [__predef_detection__]]
[[`__thumb__`] [__predef_detection__]]
[[`__TARGET_ARCH_ARM`] [__predef_detection__]]
[[`__TARGET_ARCH_THUMB`] [__predef_detection__]]
[[`_M_ARM`] [__predef_detection__]]
[[`_M_ARM64`] [__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
|===
*/ // end::reference[]
[[`__arm64`] [8.0.0]]
[[`__TARGET_ARCH_ARM`] [V.0.0]]
[[`__TARGET_ARCH_THUMB`] [V.0.0]]
[[`_M_ARM`] [V.0.0]]
[[`_M_ARM64`] [8.0.0]]
]
*/
#define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if \
defined(__ARM_ARCH) || defined(__TARGET_ARCH_ARM) || \
defined(__TARGET_ARCH_THUMB) || defined(_M_ARM) || \
defined(__arm__) || defined(__arm64) || defined(__thumb__) || \
defined(_M_ARM64) || defined(__aarch64__) || defined(__AARCH64EL__) || \
defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \
defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || \
defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || \
defined(__ARM_ARCH_6KZ__) || defined(__ARM_ARCH_6T2__) || \
defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_5TEJ__) || \
defined(__ARM_ARCH_4T__) || defined(__ARM_ARCH_4__)
#if defined(__arm__) || defined(__arm64) || defined(__thumb__) || \
defined(__TARGET_ARCH_ARM) || defined(__TARGET_ARCH_THUMB) || \
defined(_M_ARM) || defined(_M_ARM64)
# undef BOOST_ARCH_ARM
# if !defined(BOOST_ARCH_ARM) && defined(__ARM_ARCH)
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__ARM_ARCH,0,0)
# if !defined(BOOST_ARCH_ARM) && defined(__arm64)
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(8,0,0)
# endif
# if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_ARM)
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_ARM,0,0)
@ -91,31 +52,11 @@ http://en.wikipedia.org/wiki/ARM_architecture[ARM] architecture.
# if !defined(BOOST_ARCH_ARM) && defined(__TARGET_ARCH_THUMB)
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(__TARGET_ARCH_THUMB,0,0)
# endif
# if !defined(BOOST_ARCH_ARM) && defined(_M_ARM)
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(_M_ARM,0,0)
# endif
# if !defined(BOOST_ARCH_ARM) && ( \
defined(__arm64) || defined(_M_ARM64) || defined(__aarch64__) || \
defined(__AARCH64EL__) )
# if !defined(BOOST_ARCH_ARM) && defined(_M_ARM64)
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(8,0,0)
# endif
# if !defined(BOOST_ARCH_ARM) && ( \
defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \
defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) )
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(7,0,0)
# endif
# if !defined(BOOST_ARCH_ARM) && ( \
defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || \
defined(__ARM_ARCH_6KZ__) || defined(__ARM_ARCH_6T2__) )
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(6,0,0)
# endif
# if !defined(BOOST_ARCH_ARM) && ( \
defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_5TEJ__) )
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(5,0,0)
# endif
# if !defined(BOOST_ARCH_ARM) && ( \
defined(__ARM_ARCH_4T__) || defined(__ARM_ARCH_4__) )
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(4,0,0)
# if !defined(BOOST_ARCH_ARM) && defined(_M_ARM)
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER(_M_ARM,0,0)
# endif
# if !defined(BOOST_ARCH_ARM)
# define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_AVAILABLE

View File

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

View File

@ -11,24 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_CONVEX`
/*`
[heading `BOOST_ARCH_CONVEX`]
http://en.wikipedia.org/wiki/Convex_Computer[Convex Computer] architecture.
[@http://en.wikipedia.org/wiki/Convex_Computer Convex Computer] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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
|===
*/ // end::reference[]
[[`__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]]
]
*/
#define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

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

View File

@ -11,38 +11,37 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_M68K`
/*`
[heading `BOOST_ARCH_M68K`]
http://en.wikipedia.org/wiki/M68k[Motorola 68k] architecture.
[@http://en.wikipedia.org/wiki/M68k Motorola 68k] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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
|===
*/ // end::reference[]
[[`__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]]
]
*/
#define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,31 +11,30 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_MIPS`
/*`
[heading `BOOST_ARCH_MIPS`]
http://en.wikipedia.org/wiki/MIPS_architecture[MIPS] architecture.
[@http://en.wikipedia.org/wiki/MIPS_architecture MIPS] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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
|===
*/ // end::reference[]
[[`__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]]
]
*/
#define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,29 +11,28 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_PARISC`
/*`
[heading `BOOST_ARCH_PARISK`]
http://en.wikipedia.org/wiki/PA-RISC_family[HP/PA RISC] architecture.
[@http://en.wikipedia.org/wiki/PA-RISC_family HP/PA RISC] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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
|===
*/ // end::reference[]
[[`_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]]
]
*/
#define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,33 +11,32 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_PPC`
/*`
[heading `BOOST_ARCH_PPC`]
http://en.wikipedia.org/wiki/PowerPC[PowerPC] architecture.
[@http://en.wikipedia.org/wiki/PowerPC PowerPC] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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__]]
[[`__POWERPC__`] [__predef_detection__]]
[[`__ppc__`] [__predef_detection__]]
[[`_M_PPC`] [__predef_detection__]]
[[`_ARCH_PPC`] [__predef_detection__]]
[[`__PPCGECKO__`] [__predef_detection__]]
[[`__PPCBROADWAY__`] [__predef_detection__]]
[[`_XENON`] [__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
|===
*/ // end::reference[]
[[`__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]]
]
*/
#define BOOST_ARCH_PPC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -1,45 +0,0 @@
/*
Copyright Benjamin Worpitz 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_ARCHITECTURE_PTX_H
#define BOOST_PREDEF_ARCHITECTURE_PTX_H
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_PTX`
https://en.wikipedia.org/wiki/Parallel_Thread_Execution[PTX] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
| `+__CUDA_ARCH__+` | {predef_detection}
| `+__CUDA_ARCH__+` | V.R.0
|===
*/ // end::reference[]
#define BOOST_ARCH_PTX BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__CUDA_ARCH__)
# undef BOOST_ARCH_PTX
# define BOOST_ARCH_PTX BOOST_PREDEF_MAKE_10_VR0(__CUDA_ARCH__)
#endif
#if BOOST_ARCH_PTX
# define BOOST_ARCH_PTX_AVAILABLE
#endif
#define BOOST_ARCH_PTX_NAME "PTX"
#endif
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_PTX,BOOST_ARCH_PTX_NAME)

View File

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

View File

@ -1,43 +0,0 @@
/*
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
#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,22 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_RS6000`
/*`
[heading `BOOST_ARCH_RS6000`]
http://en.wikipedia.org/wiki/RS/6000[RS/6000] architecture.
[@http://en.wikipedia.org/wiki/RS/6000 RS/6000] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__THW_RS6000+` | {predef_detection}
| `+_IBMR2+` | {predef_detection}
| `+_POWER+` | {predef_detection}
| `+_ARCH_PWR+` | {predef_detection}
| `+_ARCH_PWR2+` | {predef_detection}
|===
*/ // end::reference[]
[[`__THW_RS6000`] [__predef_detection__]]
[[`_IBMR2`] [__predef_detection__]]
[[`_POWER`] [__predef_detection__]]
[[`_ARCH_PWR`] [__predef_detection__]]
[[`_ARCH_PWR2`] [__predef_detection__]]
]
*/
#define BOOST_ARCH_RS6000 BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,22 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_SPARC`
/*`
[heading `BOOST_ARCH_SPARC`]
http://en.wikipedia.org/wiki/SPARC[SPARC] architecture.
[@http://en.wikipedia.org/wiki/SPARC SPARC] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__sparc__+` | {predef_detection}
| `+__sparc+` | {predef_detection}
[[`__sparc__`] [__predef_detection__]]
[[`__sparc`] [__predef_detection__]]
| `+__sparcv9+` | 9.0.0
| `+__sparcv8+` | 8.0.0
|===
*/ // end::reference[]
[[`__sparcv9`] [9.0.0]]
[[`__sparcv8`] [8.0.0]]
]
*/
#define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,26 +11,25 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_SH`
/*`
[heading `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.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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
|===
*/ // end::reference[]
[[`__SH5__`] [5.0.0]]
[[`__SH4__`] [4.0.0]]
[[`__sh3__`] [3.0.0]]
[[`__SH3__`] [3.0.0]]
[[`__sh2__`] [2.0.0]]
[[`__sh1__`] [1.0.0]]
]
*/
#define BOOST_ARCH_SH BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

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

View File

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

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
/* tag::reference[]
= `BOOST_ARCH_X86`
/*`
[heading `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,36 +11,35 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_X86_32`
/*`
[heading `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.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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
|===
*/ // end::reference[]
[[`__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]]
]
*/
#define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,22 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_X86_64`
/*`
[heading `BOOST_ARCH_X86_64`]
http://en.wikipedia.org/wiki/Ia64[Intel IA-64] architecture.
[@http://en.wikipedia.org/wiki/Ia64 Intel IA-64] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__x86_64+` | {predef_detection}
| `+__x86_64__+` | {predef_detection}
| `+__amd64__+` | {predef_detection}
| `+__amd64+` | {predef_detection}
| `+_M_X64+` | {predef_detection}
|===
*/ // end::reference[]
[[`__x86_64`] [__predef_detection__]]
[[`__x86_64__`] [__predef_detection__]]
[[`__amd64__`] [__predef_detection__]]
[[`__amd64`] [__predef_detection__]]
[[`_M_X64`] [__predef_detection__]]
]
*/
#define BOOST_ARCH_X86_64 BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

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

View File

@ -32,7 +32,6 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/compiler/metrowerks.h>
#include <boost/predef/compiler/microtec.h>
#include <boost/predef/compiler/mpw.h>
#include <boost/predef/compiler/nvcc.h>
#include <boost/predef/compiler/palm.h>
#include <boost/predef/compiler/pgi.h>
#include <boost/predef/compiler/sgi_mipspro.h>

View File

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

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_CLANG`
/*`
[heading `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.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__clang__+` | {predef_detection}
[[`__clang__`] [__predef_detection__]]
| `+__clang_major__+`, `+__clang_minor__+`, `+__clang_patchlevel__+` | V.R.P
|===
*/ // end::reference[]
[[`__clang_major__`, `__clang_minor__`, `__clang_patchlevel__`] [V.R.P]]
]
*/
#define BOOST_COMP_CLANG BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

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

View File

@ -11,23 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_DEC`
/*`
[heading `BOOST_COMP_DEC`]
http://www.openvms.compaq.com/openvms/brochures/deccplus/[Compaq C/{CPP}] compiler.
[@http://www.openvms.compaq.com/openvms/brochures/deccplus/ Compaq C/C++] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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
|===
*/ // end::reference[]
[[`__DECCXX_VER`] [V.R.P]]
[[`__DECC_VER`] [V.R.P]]
]
*/
#define BOOST_COMP_DEC BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -39,7 +38,7 @@ Version number available as major, minor, and patch.
# define BOOST_COMP_DEC_DETECTION BOOST_PREDEF_MAKE_10_VVRR0PP00(__DECC_VER)
# endif
# if !defined(BOOST_COMP_DEC_DETECTION)
# define BOOST_COMP_DEC_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
# define BOOST_COM_DEC_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif

View File

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

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_DMC`
/*`
[heading `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.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__DMC__+` | {predef_detection}
[[`__DMC__`] [__predef_detection__]]
| `+__DMC__+` | V.R.P
|===
*/ // end::reference[]
[[`__DMC__`] [V.R.P]]
]
*/
#define BOOST_COMP_DMC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

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

View File

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

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_PATH`
/*`
[heading `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.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__PATHCC__+` | {predef_detection}
[[`__PATHCC__`] [__predef_detection__]]
| `+__PATHCC__+`, `+__PATHCC_MINOR__+`, `+__PATHCC_PATCHLEVEL__+` | V.R.P
|===
*/ // end::reference[]
[[`__PATHCC__`, `__PATHCC_MINOR__`, `__PATHCC_PATCHLEVEL__`] [V.R.P]]
]
*/
#define BOOST_COMP_PATH BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -11,25 +11,24 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_MWERKS`
/*`
[heading `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.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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
|===
*/ // end::reference[]
[[`__CWCC__`] [V.R.P]]
[[`__MWERKS__`] [V.R.P >= 4.2.0]]
[[`__MWERKS__`] [9.R.0]]
[[`__MWERKS__`] [8.R.0]]
]
*/
#define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

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

View File

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

View File

@ -1,74 +0,0 @@
/*
Copyright Benjamin Worpitz 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_COMPILER_NVCC_H
#define BOOST_PREDEF_COMPILER_NVCC_H
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_NVCC`
https://en.wikipedia.org/wiki/NVIDIA_CUDA_Compiler[NVCC] compiler.
Version number available as major, minor, and patch beginning with version 7.5.
[options="header"]
|===
| {predef_symbol} | {predef_version}
| `+__NVCC__+` | {predef_detection}
| `+__CUDACC_VER_MAJOR__+`, `+__CUDACC_VER_MINOR__+`, `+__CUDACC_VER_BUILD__+` | V.R.P
|===
*/ // end::reference[]
#define BOOST_COMP_NVCC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__NVCC__)
# if !defined(__CUDACC_VER_MAJOR__) || !defined(__CUDACC_VER_MINOR__) || !defined(__CUDACC_VER_BUILD__)
# define BOOST_COMP_NVCC_DETECTION BOOST_VERSION_NUMBER_AVAILABLE
# else
# define BOOST_COMP_NVCC_DETECTION BOOST_VERSION_NUMBER(__CUDACC_VER_MAJOR__, __CUDACC_VER_MINOR__, __CUDACC_VER_BUILD__)
# endif
#endif
#ifdef BOOST_COMP_NVCC_DETECTION
/*
Always define BOOST_COMP_NVCC instead of BOOST_COMP_NVCC_EMULATED
The nvcc compilation process is somewhat special as can be read here:
https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#cuda-compilation-trajectory
The nvcc compiler precompiles the input two times. Once for the device code
being compiled by the cicc device compiler and once for the host code
compiled by the real host compiler. NVCC uses gcc/clang/msvc/...
depending on the host compiler being set on the command line.
Predef (as a preprocessor only lib) detects the one doing the preprocessing
as compiler and expects it to be the one doing the real compilation.
This is not true for NVCC which is only doing the preprocessing and which
is using another compiler for parts of its work. So for NVCC it should be
allowed to set BOOST_COMP_NVCC additionally to the already detected host
compiler because both is true: It is gcc/clang/... compiling the code, but it
is also NVCC doing the preprocessing and adding some other quirks you may
want to detect.
This behavior is similar to what boost config is doing in `select_compiler_config.hpp`.
There the NVCC detection is not handled as a real compiler (part of the
#if-#elif) but as additional option before the real compiler.
*/
# undef BOOST_COMP_NVCC
# define BOOST_COMP_NVCC BOOST_COMP_NVCC_DETECTION
# define BOOST_COMP_NVCC_AVAILABLE
# include <boost/predef/detail/comp_detected.h>
#endif
#define BOOST_COMP_NVCC_NAME "NVCC"
#endif
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_COMP_NVCC,BOOST_COMP_NVCC_NAME)

View File

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

View File

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

View File

@ -11,23 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_SGI`
/*`
[heading `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.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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
|===
*/ // end::reference[]
[[`_SGI_COMPILER_VERSION`] [V.R.P]]
[[`_COMPILER_VERSION`] [V.R.P]]
]
*/
#define BOOST_COMP_SGI BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,25 +11,24 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_SUNPRO`
/*`
[heading `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.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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
|===
*/ // end::reference[]
[[`__SUNPRO_CC`] [V.R.P]]
[[`__SUNPRO_C`] [V.R.P]]
[[`__SUNPRO_CC`] [VV.RR.P]]
[[`__SUNPRO_C`] [VV.RR.P]]
]
*/
#define BOOST_COMP_SUNPRO BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

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

View File

@ -15,26 +15,25 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_MSVC`
/*`
[heading `BOOST_COMP_MSVC`]
http://en.wikipedia.org/wiki/Visual_studio[Microsoft Visual C/{CPP}] compiler.
[@http://en.wikipedia.org/wiki/Visual_studio Microsoft Visual C/C++] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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.
*/ // end::reference[]
compiler version number directly, i.e. the _MSC_VER number.]
*/
#define BOOST_COMP_MSVC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

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

View File

@ -0,0 +1,26 @@
/*
Copyright Rene Rivera 2013
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
#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,104 +16,55 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
/* tag::reference[]
= Using the `BOOST_HW_SIMD_*` predefs
/*`
[section Using the `BOOST_HW_SIMD_*` predefs]
[include ../doc/hardware_simd.qbk]
[endsect]
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.
[section `BOOST_HW_SIMD_*`]
To check if any SIMD extension has been enabled, you can use:
[heading `BOOST_HW_SIMD`]
[source]
----
#include <boost/predef/hardware/simd.h>
#include <iostream>
The SIMD extension detected for a specific architectures.
Version number depends on the detected extension.
int main()
{
#if defined(BOOST_HW_SIMD_AVAILABLE)
std::cout << "SIMD detected!" << std::endl;
#endif
return 0;
}
----
[table
[[__predef_symbol__] [__predef_version__]]
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.
[[`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__]]
]
To check if an extension has been enabled:
[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]
[source]
----
#include <boost/predef/hardware/simd.h>
#include <iostream>
[endsect]
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.
[section `BOOST_HW_SIMD_X86_*_VERSION`]
[include ../include/boost/predef/hardware/simd/x86/versions.h]
[endsect]
To *"strictly"* check the most recent detected extension:
[section `BOOST_HW_SIMD_X86_AMD_*_VERSION`]
[include ../include/boost/predef/hardware/simd/x86_amd/versions.h]
[endsect]
[source]
----
#include <boost/predef/hardware/simd.h>
#include <iostream>
[section `BOOST_HW_SIMD_ARM_*_VERSION`]
[include ../include/boost/predef/hardware/simd/arm/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;
}
----
[section `BOOST_HW_SIMD_PPC_*_VERSION`]
[include ../include/boost/predef/hardware/simd/ppc/versions.h]
[endsect]
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,33 +12,31 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/hardware/simd/arm/versions.h>
/* tag::reference[]
= `BOOST_HW_SIMD_ARM`
/*`
[heading `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.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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__]]
]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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,28 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
/* tag::reference[]
= `BOOST_HW_SIMD_ARM_*_VERSION`
/*`
Those defines represent ARM SIMD extensions versions.
Those defines represent ARM SIMD extensions versions.
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_ARM`.
*/ // end::reference[]
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_ARM`.]
*/
// ---------------------------------
/* tag::reference[]
= `BOOST_HW_SIMD_ARM_NEON_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *1.0.0*.
*/
#define BOOST_HW_SIMD_ARM_NEON_VERSION BOOST_VERSION_NUMBER(1, 0, 0)
/* tag::reference[]
*/ // end::reference[]
#endif

View File

@ -12,37 +12,35 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/hardware/simd/ppc/versions.h>
/* tag::reference[]
= `BOOST_HW_SIMD_PPC`
/*`
[heading `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.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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__]]
]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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,47 +11,41 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
/* tag::reference[]
= `BOOST_HW_SIMD_PPC_*_VERSION`
/*`
Those defines represent Power PC SIMD extensions versions.
Those defines represent Power PC SIMD extensions versions.
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_PPC`.
*/ // end::reference[]
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_PPC`.]
*/
// ---------------------------------
/* tag::reference[]
= `BOOST_HW_SIMD_PPC_VMX_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *1.0.0*.
*/
#define BOOST_HW_SIMD_PPC_VMX_VERSION BOOST_VERSION_NUMBER(1, 0, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_PPC_VSX_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *1.1.0*.
*/
#define BOOST_HW_SIMD_PPC_VSX_VERSION BOOST_VERSION_NUMBER(1, 1, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_PPC_QPX_VERSION`
/*`
[heading `BOOST_HW_SIMD_PPC_QPX_VERSION`]
The QPX powerpc extension version number.
The QPX powerpc extension version number.
Version number is: *2.0.0*.
*/ // end::reference[]
Version number is: *2.0.0*.
*/
#define BOOST_HW_SIMD_PPC_QPX_VERSION BOOST_VERSION_NUMBER(2, 0, 0)
/* tag::reference[]
*/ // end::reference[]
#endif

View File

@ -12,67 +12,65 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/hardware/simd/x86/versions.h>
/* tag::reference[]
= `BOOST_HW_SIMD_X86`
/*`
[heading `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.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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__]]
]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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,125 +11,119 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
/* tag::reference[]
= `BOOST_HW_SIMD_X86_*_VERSION`
/*`
Those defines represent x86 SIMD extensions versions.
Those defines represent x86 SIMD extensions versions.
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_X86`.
*/ // end::reference[]
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_X86`.]
*/
// ---------------------------------
/* tag::reference[]
= `BOOST_HW_SIMD_X86_MMX_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *0.99.0*.
*/
#define BOOST_HW_SIMD_X86_MMX_VERSION BOOST_VERSION_NUMBER(0, 99, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSE_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *1.0.0*.
*/
#define BOOST_HW_SIMD_X86_SSE_VERSION BOOST_VERSION_NUMBER(1, 0, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSE2_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *2.0.0*.
*/
#define BOOST_HW_SIMD_X86_SSE2_VERSION BOOST_VERSION_NUMBER(2, 0, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSE3_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *3.0.0*.
*/
#define BOOST_HW_SIMD_X86_SSE3_VERSION BOOST_VERSION_NUMBER(3, 0, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSSE3_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *3.1.0*.
*/
#define BOOST_HW_SIMD_X86_SSSE3_VERSION BOOST_VERSION_NUMBER(3, 1, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSE4_1_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *4.1.0*.
*/
#define BOOST_HW_SIMD_X86_SSE4_1_VERSION BOOST_VERSION_NUMBER(4, 1, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSE4_2_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *4.2.0*.
*/
#define BOOST_HW_SIMD_X86_SSE4_2_VERSION BOOST_VERSION_NUMBER(4, 2, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AVX_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *5.0.0*.
*/
#define BOOST_HW_SIMD_X86_AVX_VERSION BOOST_VERSION_NUMBER(5, 0, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_FMA3_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *5.2.0*.
*/
#define BOOST_HW_SIMD_X86_FMA3_VERSION BOOST_VERSION_NUMBER(5, 2, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AVX2_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *5.3.0*.
*/
#define BOOST_HW_SIMD_X86_AVX2_VERSION BOOST_VERSION_NUMBER(5, 3, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_MIC_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *9.0.0*.
*/
#define BOOST_HW_SIMD_X86_MIC_VERSION BOOST_VERSION_NUMBER(9, 0, 0)
/* tag::reference[]
*/ // end::reference[]
#endif

View File

@ -12,44 +12,42 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/hardware/simd/x86_amd/versions.h>
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AMD`
/*`
[heading `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.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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__]]
]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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,46 +11,41 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AMD_*_VERSION`
/*`
Those defines represent x86 (AMD specific) SIMD extensions versions.
Those defines represent x86 (AMD specific) SIMD extensions versions.
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_X86_AMD`.
*/ // end::reference[]
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_X86_AMD`.]
*/
// ---------------------------------
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AMD_SSE4A_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *4.0.0*.
*/
#define BOOST_HW_SIMD_X86_AMD_SSE4A_VERSION BOOST_VERSION_NUMBER(4, 0, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AMD_FMA4_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *5.1.0*.
*/
#define BOOST_HW_SIMD_X86_AMD_FMA4_VERSION BOOST_VERSION_NUMBER(5, 1, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AMD_XOP_VERSION`
/*`
[heading `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*.
*/ // end::reference[]
Version number is: *5.1.1*.
*/
#define BOOST_HW_SIMD_X86_AMD_XOP_VERSION BOOST_VERSION_NUMBER(5, 1, 1)
/* tag::reference[]
*/ // end::reference[]
#endif

View File

@ -13,6 +13,5 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/language/stdc.h>
#include <boost/predef/language/stdcpp.h>
#include <boost/predef/language/objc.h>
#include <boost/predef/language/cuda.h>
#endif

View File

@ -1,53 +0,0 @@
/*
Copyright Benjamin Worpitz 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_LANGUAGE_CUDA_H
#define BOOST_PREDEF_LANGUAGE_CUDA_H
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LANG_CUDA`
https://en.wikipedia.org/wiki/CUDA[CUDA C/{CPP}] language.
If available, the version is detected as VV.RR.P.
[options="header"]
|===
| {predef_symbol} | {predef_version}
| `+__CUDACC__+` | {predef_detection}
| `+__CUDA__+` | {predef_detection}
| `CUDA_VERSION` | VV.RR.P
|===
*/ // end::reference[]
#define BOOST_LANG_CUDA BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__CUDACC__) || defined(__CUDA__)
# undef BOOST_LANG_CUDA
# include <cuda.h>
# if defined(CUDA_VERSION)
# define BOOST_LANG_CUDA BOOST_PREDEF_MAKE_10_VVRRP(CUDA_VERSION)
# else
# define BOOST_LANG_CUDA BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#if BOOST_LANG_CUDA
# define BOOST_LANG_CUDA_AVAILABLE
#endif
#define BOOST_LANG_CUDA_NAME "CUDA C/C++"
#endif
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_LANG_CUDA,BOOST_LANG_CUDA_NAME)

View File

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

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LANG_STDC`
/*`
[heading `BOOST_LANG_STDC`]
http://en.wikipedia.org/wiki/C_(programming_language)[Standard C] language.
[@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.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__STDC__+` | {predef_detection}
[[`__STDC__`] [__predef_detection__]]
| `+__STDC_VERSION__+` | V.R.P
|===
*/ // end::reference[]
[[`__STDC_VERSION__`] [V.R.P]]
]
*/
#define BOOST_LANG_STDC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,34 +11,29 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LANG_STDCPP`
/*`
[heading `BOOST_LANG_STDCPP`]
http://en.wikipedia.org/wiki/C%2B%2B[Standard {CPP}] language.
[@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 {CPP} standardization process works the
Because of the way the C++ standardization process works the
defined version year will not be the commonly known year of the standard.
Specifically the defined versions are:
.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 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]]
]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__cplusplus+` | {predef_detection}
[[`__cplusplus`] [__predef_detection__]]
| `+__cplusplus+` | YYYY.MM.1
|===
*/ // end::reference[]
[[`__cplusplus`] [YYYY.MM.1]]
]
*/
#define BOOST_LANG_STDCPP BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -57,21 +52,20 @@ Specifically the defined versions are:
#define BOOST_LANG_STDCPP_NAME "Standard C++"
/* tag::reference[]
= `BOOST_LANG_STDCPPCLI`
/*`
[heading `BOOST_LANG_STDCPPCLI`]
http://en.wikipedia.org/wiki/C%2B%2B/CLI[Standard {CPP}/CLI] language.
[@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.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__cplusplus_cli+` | {predef_detection}
[[`__cplusplus_cli`] [__predef_detection__]]
| `+__cplusplus_cli+` | YYYY.MM.1
|===
*/ // end::reference[]
[[`__cplusplus_cli`] [YYYY.MM.1]]
]
*/
#define BOOST_LANG_STDCPPCLI BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -90,18 +84,17 @@ 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"
/* tag::reference[]
= `BOOST_LANG_STDECPP`
/*`
[heading `BOOST_LANG_STDECPP`]
http://en.wikipedia.org/wiki/Embedded_C%2B%2B[Standard Embedded {CPP}] language.
[@http://en.wikipedia.org/wiki/Embedded_C%2B%2B Standard Embedded C++] language.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__embedded_cplusplus+` | {predef_detection}
|===
*/ // end::reference[]
[[`__embedded_cplusplus`] [__predef_detection__]]
]
*/
#define BOOST_LANG_STDECPP BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -12,7 +12,6 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/library/c/_prefix.h>
#include <boost/predef/library/c/cloudabi.h>
#include <boost/predef/library/c/gnu.h>
#include <boost/predef/library/c/uc.h>
#include <boost/predef/library/c/vms.h>

View File

@ -1,54 +0,0 @@
/*
* Copyright (C) 2017 James E. King III
*
* 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_LIBRARY_C_CLOUDABI_H
#define BOOST_PREDEF_LIBRARY_C_CLOUDABI_H
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
#include <boost/predef/library/c/_prefix.h>
#if defined(__CloudABI__)
#include <stddef.h>
#endif
/* tag::reference[]
= `BOOST_LIB_C_CLOUDABI`
https://github.com/NuxiNL/cloudlibc[cloudlibc] - CloudABI's standard C library.
Version number available as major, and minor.
[options="header"]
|===
| {predef_symbol} | {predef_version}
| `+__cloudlibc__+` | {predef_detection}
| `+__cloudlibc_major__+`, `+__cloudlibc_minor__+` | V.R.0
|===
*/ // end::reference[]
#define BOOST_LIB_C_CLOUDABI BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__cloudlibc__)
# undef BOOST_LIB_C_CLOUDABI
# define BOOST_LIB_C_CLOUDABI \
BOOST_VERSION_NUMBER(__cloudlibc_major__,__cloudlibc_minor__,0)
#endif
#if BOOST_LIB_C_CLOUDABI
# define BOOST_LIB_C_CLOUDABI_AVAILABLE
#endif
#define BOOST_LIB_C_CLOUDABI_NAME "cloudlibc"
#endif
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_LIB_C_CLOUDABI,BOOST_LIB_C_CLOUDABI_NAME)

View File

@ -19,23 +19,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <cstddef>
#endif
/* tag::reference[]
= `BOOST_LIB_C_GNU`
/*`
[heading `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.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__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
|===
*/ // end::reference[]
[[`__GLIBC__`, `__GLIBC_MINOR__`] [V.R.0]]
[[`__GNU_LIBRARY__`, `__GNU_LIBRARY_MINOR__`] [V.R.0]]
]
*/
#define BOOST_LIB_C_GNU BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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