diff --git a/.appveyor.yml b/.appveyor.yml index 69c53a0..49b0a32 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -94,14 +94,14 @@ environment: APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 ADDPATH: C:\cygwin\bin; B2_ADDRESS_MODEL: 32 - B2_CXXSTD: 03,11,14,1z + B2_CXXSTD: 11,14,1z B2_TOOLSET: gcc - FLAVOR: cygwin (64-bit) APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 ADDPATH: C:\cygwin64\bin; B2_ADDRESS_MODEL: 64 - B2_CXXSTD: 03,11,14,1z + B2_CXXSTD: 11,14,1z B2_TOOLSET: gcc # (Currently) the images up to 2017 use an older Cygwin @@ -110,28 +110,28 @@ environment: APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 ADDPATH: C:\cygwin64\bin; B2_ADDRESS_MODEL: 64 - B2_CXXSTD: 03,11,14,1z + B2_CXXSTD: 11,14,1z B2_TOOLSET: gcc - FLAVOR: mingw32 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 B2_ADDRESS_MODEL: 32 ADDPATH: C:\mingw\bin; - B2_CXXSTD: 03,11,14,1z + B2_CXXSTD: 11,14,1z B2_TOOLSET: gcc - FLAVOR: mingw64 (32-bit) APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 ADDPATH: C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin; B2_ADDRESS_MODEL: 32 - B2_CXXSTD: 03,11,14,17,2a + B2_CXXSTD: 11,14,17,2a B2_TOOLSET: gcc - FLAVOR: mingw64 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 ADDPATH: C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin; B2_ADDRESS_MODEL: 64 - B2_CXXSTD: 03,11,14,17,2a + B2_CXXSTD: 11,14,17,2a B2_TOOLSET: gcc - FLAVOR: CodeCov (VS 2019) diff --git a/.drone.star b/.drone.star index 6aa911d..3584683 100644 --- a/.drone.star +++ b/.drone.star @@ -22,87 +22,87 @@ def job( def main(ctx): return [ - job(compiler='clang-3.5', cxxstd='03,11', os='ubuntu-16.04'), - job(compiler='clang-3.6', cxxstd='03,11,14', os='ubuntu-16.04'), - job(compiler='clang-3.8', cxxstd='03,11,14', os='ubuntu-16.04'), - job(compiler='clang-3.9', cxxstd='03,11,14', os='ubuntu-18.04'), - job(compiler='clang-4.0', cxxstd='03,11,14', os='ubuntu-18.04'), - job(compiler='clang-5.0', cxxstd='03,11,14,1z', os='ubuntu-18.04'), - job(compiler='clang-6.0', cxxstd='03,11,14,17', os='ubuntu-18.04'), - job(compiler='clang-7', cxxstd='03,11,14,17', os='ubuntu-18.04'), - job(compiler='clang-8', cxxstd='03,11,14,17,2a', os='ubuntu-18.04'), - job(compiler='clang-9', cxxstd='03,11,14,17,2a', os='ubuntu-18.04'), - job(compiler='clang-10', cxxstd='03,11,14,17,2a', os='ubuntu-18.04'), - job(compiler='clang-11', cxxstd='03,11,14,17,2a', os='ubuntu-22.04'), - job(compiler='clang-12', cxxstd='03,11,14,17,20', os='ubuntu-22.04'), - job(compiler='clang-13', cxxstd='03,11,14,17,20,2b', os='ubuntu-22.04'), - job(compiler='clang-14', cxxstd='03,11,14,17,20,2b', os='ubuntu-22.04'), - job(compiler='clang-15', cxxstd='03,11,14,17,20,2b', os='ubuntu-22.04', add_llvm=True), + job(compiler='clang-3.5', cxxstd='11', os='ubuntu-16.04'), + job(compiler='clang-3.6', cxxstd='11,14', os='ubuntu-16.04'), + job(compiler='clang-3.8', cxxstd='11,14', os='ubuntu-16.04'), + job(compiler='clang-3.9', cxxstd='11,14', os='ubuntu-18.04'), + job(compiler='clang-4.0', cxxstd='11,14', os='ubuntu-18.04'), + job(compiler='clang-5.0', cxxstd='11,14,1z', os='ubuntu-18.04'), + job(compiler='clang-6.0', cxxstd='11,14,17', os='ubuntu-18.04'), + job(compiler='clang-7', cxxstd='11,14,17', os='ubuntu-18.04'), + job(compiler='clang-8', cxxstd='11,14,17,2a', os='ubuntu-18.04'), + job(compiler='clang-9', cxxstd='11,14,17,2a', os='ubuntu-18.04'), + job(compiler='clang-10', cxxstd='11,14,17,2a', os='ubuntu-18.04'), + job(compiler='clang-11', cxxstd='11,14,17,2a', os='ubuntu-22.04'), + job(compiler='clang-12', cxxstd='11,14,17,20', os='ubuntu-22.04'), + job(compiler='clang-13', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'), + job(compiler='clang-14', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'), + job(compiler='clang-15', cxxstd='11,14,17,20,2b', os='ubuntu-22.04', add_llvm=True), - job(compiler='gcc-4.7', cxxstd='03,11', os='ubuntu-16.04'), - job(compiler='gcc-4.8', cxxstd='03,11', os='ubuntu-16.04'), - job(compiler='gcc-4.9', cxxstd='03,11', os='ubuntu-16.04'), - job(compiler='gcc-5', cxxstd='03,11,14,1z', os='ubuntu-18.04'), - job(compiler='gcc-6', cxxstd='03,11,14,1z', os='ubuntu-18.04'), - job(compiler='gcc-7', cxxstd='03,11,14,1z', os='ubuntu-18.04'), - job(compiler='gcc-8', cxxstd='03,11,14,17,2a', os='ubuntu-18.04'), - job(compiler='gcc-9', cxxstd='03,11,14,17,2a', os='ubuntu-18.04'), - job(compiler='gcc-10', cxxstd='03,11,14,17,20', os='ubuntu-22.04'), - job(compiler='gcc-11', cxxstd='03,11,14,17,20,2b', os='ubuntu-22.04'), - job(compiler='gcc-12', cxxstd='03,11,14,17,20,2b', os='ubuntu-22.04'), + job(compiler='gcc-4.7', cxxstd='11', os='ubuntu-16.04'), + job(compiler='gcc-4.8', cxxstd='11', os='ubuntu-16.04'), + job(compiler='gcc-4.9', cxxstd='11', os='ubuntu-16.04'), + job(compiler='gcc-5', cxxstd='11,14,1z', os='ubuntu-18.04'), + job(compiler='gcc-6', cxxstd='11,14,1z', os='ubuntu-18.04'), + job(compiler='gcc-7', cxxstd='11,14,1z', os='ubuntu-18.04'), + job(compiler='gcc-8', cxxstd='11,14,17,2a', os='ubuntu-18.04'), + job(compiler='gcc-9', cxxstd='11,14,17,2a', os='ubuntu-18.04'), + job(compiler='gcc-10', cxxstd='11,14,17,20', os='ubuntu-22.04'), + job(compiler='gcc-11', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'), + job(compiler='gcc-12', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'), job(name='Coverage', buildtype='codecov', - compiler='gcc-8', cxxstd='03,11,14,17,2a', os='ubuntu-18.04'), + compiler='gcc-8', cxxstd='11,14,17,2a', os='ubuntu-18.04'), job(name='Coverity Scan', buildtype='coverity', compiler='clang', cxxstd=None, os='ubuntu-18.04', packages=''), # Sanitizers job(name='ASAN', asan=True, - compiler='gcc-12', cxxstd='03,11,14,17,20', os='ubuntu-22.04'), + compiler='gcc-12', cxxstd='11,14,17,20', os='ubuntu-22.04'), job(name='UBSAN', ubsan=True, - compiler='gcc-12', cxxstd='03,11,14,17,20', os='ubuntu-22.04'), + compiler='gcc-12', cxxstd='11,14,17,20', os='ubuntu-22.04'), job(name='TSAN', tsan=True, - compiler='gcc-12', cxxstd='03,11,14,17,20', os='ubuntu-22.04'), + compiler='gcc-12', cxxstd='11,14,17,20', os='ubuntu-22.04'), job(name='Clang 14 w/ sanitizers', asan=True, ubsan=True, - compiler='clang-14', cxxstd='03,11,14,17,20', os='ubuntu-22.04'), + compiler='clang-14', cxxstd='11,14,17,20', os='ubuntu-22.04'), job(name='Clang 11 libc++ w/ sanitizers', asan=True, ubsan=True, # libc++-11 is the latest working with ASAN: https://github.com/llvm/llvm-project/issues/59432 - compiler='clang-11', cxxstd='03,11,14,17,20', os='ubuntu-20.04', stdlib='libc++', install='libc++-11-dev libc++abi-11-dev'), + compiler='clang-11', cxxstd='11,14,17,20', os='ubuntu-20.04', stdlib='libc++', install='libc++-11-dev libc++abi-11-dev'), job(name='Valgrind', valgrind=True, - compiler='clang-6.0', cxxstd='03,11,14,1z', os='ubuntu-18.04', install='libc6-dbg libc++-dev libstdc++-8-dev'), + compiler='clang-6.0', cxxstd='11,14,1z', os='ubuntu-18.04', install='libc6-dbg libc++-dev libstdc++-8-dev'), # libc++ - job(compiler='clang-6.0', cxxstd='03,11,14,17,2a', os='ubuntu-18.04', stdlib='libc++', install='libc++-dev libc++abi-dev'), - job(compiler='clang-7', cxxstd='03,11,14,17,2a', os='ubuntu-20.04', stdlib='libc++', install='libc++-7-dev libc++abi-7-dev'), - job(compiler='clang-8', cxxstd='03,11,14,17,2a', os='ubuntu-20.04', stdlib='libc++', install='libc++-8-dev libc++abi-8-dev'), - job(compiler='clang-9', cxxstd='03,11,14,17,2a', os='ubuntu-20.04', stdlib='libc++', install='libc++-9-dev libc++abi-9-dev'), - job(compiler='clang-10', cxxstd='03,11,14,17,20', os='ubuntu-20.04', stdlib='libc++', install='libc++-10-dev libc++abi-10-dev'), - job(compiler='clang-11', cxxstd='03,11,14,17,20', os='ubuntu-20.04', stdlib='libc++', install='libc++-11-dev libc++abi-11-dev'), - job(compiler='clang-12', cxxstd='03,11,14,17,20', os='ubuntu-22.04', stdlib='libc++', install='libc++-12-dev libc++abi-12-dev libunwind-12-dev'), - job(compiler='clang-13', cxxstd='03,11,14,17,20', os='ubuntu-22.04', stdlib='libc++', install='libc++-13-dev libc++abi-13-dev'), - job(compiler='clang-14', cxxstd='03,11,14,17,20', os='ubuntu-22.04', stdlib='libc++', install='libc++-14-dev libc++abi-14-dev'), - job(compiler='clang-15', cxxstd='03,11,14,17,20', os='ubuntu-22.04', stdlib='libc++', install='libc++-15-dev libc++abi-15-dev', add_llvm=True), + job(compiler='clang-6.0', cxxstd='11,14,17,2a', os='ubuntu-18.04', stdlib='libc++', install='libc++-dev libc++abi-dev'), + job(compiler='clang-7', cxxstd='11,14,17,2a', os='ubuntu-20.04', stdlib='libc++', install='libc++-7-dev libc++abi-7-dev'), + job(compiler='clang-8', cxxstd='11,14,17,2a', os='ubuntu-20.04', stdlib='libc++', install='libc++-8-dev libc++abi-8-dev'), + job(compiler='clang-9', cxxstd='11,14,17,2a', os='ubuntu-20.04', stdlib='libc++', install='libc++-9-dev libc++abi-9-dev'), + job(compiler='clang-10', cxxstd='11,14,17,20', os='ubuntu-20.04', stdlib='libc++', install='libc++-10-dev libc++abi-10-dev'), + job(compiler='clang-11', cxxstd='11,14,17,20', os='ubuntu-20.04', stdlib='libc++', install='libc++-11-dev libc++abi-11-dev'), + job(compiler='clang-12', cxxstd='11,14,17,20', os='ubuntu-22.04', stdlib='libc++', install='libc++-12-dev libc++abi-12-dev libunwind-12-dev'), + job(compiler='clang-13', cxxstd='11,14,17,20', os='ubuntu-22.04', stdlib='libc++', install='libc++-13-dev libc++abi-13-dev'), + job(compiler='clang-14', cxxstd='11,14,17,20', os='ubuntu-22.04', stdlib='libc++', install='libc++-14-dev libc++abi-14-dev'), + job(compiler='clang-15', cxxstd='11,14,17,20', os='ubuntu-22.04', stdlib='libc++', install='libc++-15-dev libc++abi-15-dev', add_llvm=True), # FreeBSD - job(compiler='clang-10', cxxstd='03,11,14,17,20', os='freebsd-13.1'), - job(compiler='clang-15', cxxstd='03,11,14,17,20', os='freebsd-13.1'), - job(compiler='gcc-11', cxxstd='03,11,14,17,20', os='freebsd-13.1', linkflags='-Wl,-rpath=/usr/local/lib/gcc11'), + job(compiler='clang-10', cxxstd='11,14,17,20', os='freebsd-13.1'), + job(compiler='clang-15', cxxstd='11,14,17,20', os='freebsd-13.1'), + job(compiler='gcc-11', cxxstd='11,14,17,20', os='freebsd-13.1', linkflags='-Wl,-rpath=/usr/local/lib/gcc11'), # OSX - job(compiler='clang', cxxstd='03,11,14,17,2a', os='osx-xcode-10.1'), - job(compiler='clang', cxxstd='03,11,14,17,2a', os='osx-xcode-10.3'), - job(compiler='clang', cxxstd='03,11,14,17,2a', os='osx-xcode-11.1'), - job(compiler='clang', cxxstd='03,11,14,17,2a', os='osx-xcode-11.7'), - job(compiler='clang', cxxstd='03,11,14,17,2a', os='osx-xcode-12'), - job(compiler='clang', cxxstd='03,11,14,17,20', os='osx-xcode-12.5.1'), - job(compiler='clang', cxxstd='03,11,14,17,20', os='osx-xcode-13.0'), - job(compiler='clang', cxxstd='03,11,14,17,20', os='osx-xcode-13.4.1'), - job(compiler='clang', cxxstd='03,11,14,17,20,2b', os='osx-xcode-14.0'), - job(compiler='clang', cxxstd='03,11,14,17,20,2b', os='osx-xcode-14.3.1'), - job(compiler='clang', cxxstd='03,11,14,17,20,2b', os='osx-xcode-15.0.1'), + job(compiler='clang', cxxstd='11,14,17,2a', os='osx-xcode-10.1'), + job(compiler='clang', cxxstd='11,14,17,2a', os='osx-xcode-10.3'), + job(compiler='clang', cxxstd='11,14,17,2a', os='osx-xcode-11.1'), + job(compiler='clang', cxxstd='11,14,17,2a', os='osx-xcode-11.7'), + job(compiler='clang', cxxstd='11,14,17,2a', os='osx-xcode-12'), + job(compiler='clang', cxxstd='11,14,17,20', os='osx-xcode-12.5.1'), + job(compiler='clang', cxxstd='11,14,17,20', os='osx-xcode-13.0'), + job(compiler='clang', cxxstd='11,14,17,20', os='osx-xcode-13.4.1'), + job(compiler='clang', cxxstd='11,14,17,20,2b', os='osx-xcode-14.0'), + job(compiler='clang', cxxstd='11,14,17,20,2b', os='osx-xcode-14.3.1'), + job(compiler='clang', cxxstd='11,14,17,20,2b', os='osx-xcode-15.0.1'), # ARM64 - job(compiler='clang-12', cxxstd='03,11,14,17,20', os='ubuntu-20.04', arch='arm64', add_llvm=True), - job(compiler='gcc-11', cxxstd='03,11,14,17,20', os='ubuntu-20.04', arch='arm64'), + job(compiler='clang-12', cxxstd='11,14,17,20', os='ubuntu-20.04', arch='arm64', add_llvm=True), + job(compiler='gcc-11', cxxstd='11,14,17,20', os='ubuntu-20.04', arch='arm64'), # S390x - job(compiler='clang-12', cxxstd='03,11,14,17,20', os='ubuntu-20.04', arch='s390x', add_llvm=True), - job(compiler='gcc-11', cxxstd='03,11,14,17,20', os='ubuntu-20.04', arch='s390x'), + job(compiler='clang-12', cxxstd='11,14,17,20', os='ubuntu-20.04', arch='s390x', add_llvm=True), + job(compiler='gcc-11', cxxstd='11,14,17,20', os='ubuntu-20.04', arch='s390x'), # Windows job(compiler='msvc-14.0', cxxstd=None, os='windows', env={'B2_DONT_EMBED_MANIFEST': 1}), job(compiler='msvc-14.1', cxxstd=None, os='windows'), diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 47b0a53..e992d1f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,66 +44,66 @@ jobs: include: # Linux, gcc - { compiler: gcc-4.4, cxxstd: '98,0x', os: ubuntu-latest, container: 'ubuntu:16.04' } - - { compiler: gcc-4.6, cxxstd: '03,0x', os: ubuntu-latest, container: 'ubuntu:16.04' } - - { compiler: gcc-4.7, cxxstd: '03,11', os: ubuntu-latest, container: 'ubuntu:16.04' } - - { compiler: gcc-4.8, cxxstd: '03,11', os: ubuntu-latest, container: 'ubuntu:16.04' } - - { compiler: gcc-4.9, cxxstd: '03,11', os: ubuntu-latest, container: 'ubuntu:16.04' } - - { compiler: gcc-5, cxxstd: '03,11,14,1z', os: ubuntu-latest, container: 'ubuntu:18.04' } - - { compiler: gcc-6, cxxstd: '03,11,14,17', os: ubuntu-latest, container: 'ubuntu:18.04' } - - { compiler: gcc-7, cxxstd: '03,11,14,17', os: ubuntu-20.04 } - - { compiler: gcc-8, cxxstd: '03,11,14,17,2a', os: ubuntu-20.04 } - - { compiler: gcc-9, cxxstd: '03,11,14,17,2a', os: ubuntu-20.04 } - - { compiler: gcc-10, cxxstd: '03,11,14,17,20', os: ubuntu-22.04 } - - { compiler: gcc-11, cxxstd: '03,11,14,17,20', os: ubuntu-22.04 } - - { compiler: gcc-12, cxxstd: '03,11,14,17,20', os: ubuntu-22.04 } + - { compiler: gcc-4.6, cxxstd: '0x', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: gcc-4.7, cxxstd: '11', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: gcc-4.8, cxxstd: '11', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: gcc-4.9, cxxstd: '11', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: gcc-5, cxxstd: '11,14,1z', os: ubuntu-latest, container: 'ubuntu:18.04' } + - { compiler: gcc-6, cxxstd: '11,14,17', os: ubuntu-latest, container: 'ubuntu:18.04' } + - { compiler: gcc-7, cxxstd: '11,14,17', os: ubuntu-20.04 } + - { compiler: gcc-8, cxxstd: '11,14,17,2a', os: ubuntu-20.04 } + - { compiler: gcc-9, cxxstd: '11,14,17,2a', os: ubuntu-20.04 } + - { compiler: gcc-10, cxxstd: '11,14,17,20', os: ubuntu-22.04 } + - { compiler: gcc-11, cxxstd: '11,14,17,20', os: ubuntu-22.04 } + - { compiler: gcc-12, cxxstd: '11,14,17,20', os: ubuntu-22.04 } - { compiler: gcc-13, cxxstd: '11,14,17,20,2b', os: ubuntu-24.04 } - { compiler: gcc-14, cxxstd: '11,14,17,20,2b', os: ubuntu-24.04 } - { name: GCC w/ sanitizers, sanitize: yes, - compiler: gcc-13, cxxstd: '03,11,14,17,20', os: ubuntu-24.04 } + compiler: gcc-13, cxxstd: '11,14,17,20', os: ubuntu-24.04 } - { name: Collect coverage, coverage: yes, - compiler: gcc-13, cxxstd: '03,2b', os: ubuntu-24.04, install: 'g++-13-multilib', address-model: '32,64' } + compiler: gcc-13, cxxstd: '2b', os: ubuntu-24.04, install: 'g++-13-multilib', address-model: '32,64' } # Linux, clang - - { compiler: clang-3.5, cxxstd: '03,11', os: ubuntu-latest, container: 'ubuntu:16.04' } - - { compiler: clang-3.6, cxxstd: '03,11,14', os: ubuntu-latest, container: 'ubuntu:16.04' } - - { compiler: clang-3.7, cxxstd: '03,11,14', os: ubuntu-latest, container: 'ubuntu:16.04' } - - { compiler: clang-3.8, cxxstd: '03,11,14', os: ubuntu-latest, container: 'ubuntu:16.04' } - - { compiler: clang-3.9, cxxstd: '03,11,14', os: ubuntu-latest, container: 'ubuntu:18.04' } - - { compiler: clang-4.0, cxxstd: '03,11,14', os: ubuntu-latest, container: 'ubuntu:18.04' } - - { compiler: clang-5.0, cxxstd: '03,11,14,1z', os: ubuntu-latest, container: 'ubuntu:18.04' } - - { compiler: clang-6.0, cxxstd: '03,11,14,17', os: ubuntu-20.04 } - - { compiler: clang-7, cxxstd: '03,11,14,17', os: ubuntu-20.04 } + - { compiler: clang-3.5, cxxstd: '11', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: clang-3.6, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: clang-3.7, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: clang-3.8, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:16.04' } + - { compiler: clang-3.9, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:18.04' } + - { compiler: clang-4.0, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:18.04' } + - { compiler: clang-5.0, cxxstd: '11,14,1z', os: ubuntu-latest, container: 'ubuntu:18.04' } + - { compiler: clang-6.0, cxxstd: '11,14,17', os: ubuntu-20.04 } + - { compiler: clang-7, cxxstd: '11,14,17', os: ubuntu-20.04 } # Note: clang-8 does not fully support C++20, so it is not compatible with some libstdc++ versions in this mode - - { compiler: clang-8, cxxstd: '03,11,14,17,2a', os: ubuntu-20.04 , install: 'clang-8 g++-7', gcc_toolchain: 7 } - - { compiler: clang-9, cxxstd: '03,11,14,17,2a', os: ubuntu-20.04 } - - { compiler: clang-10, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 } - - { compiler: clang-11, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 } - - { compiler: clang-12, cxxstd: '03,11,14,17,20', os: ubuntu-20.04 } + - { compiler: clang-8, cxxstd: '11,14,17,2a', os: ubuntu-20.04 , install: 'clang-8 g++-7', gcc_toolchain: 7 } + - { compiler: clang-9, cxxstd: '11,14,17,2a', os: ubuntu-20.04 } + - { compiler: clang-10, cxxstd: '11,14,17,20', os: ubuntu-20.04 } + - { compiler: clang-11, cxxstd: '11,14,17,20', os: ubuntu-20.04 } + - { compiler: clang-12, cxxstd: '11,14,17,20', os: ubuntu-20.04 } # Clang isn't compatible with libstdc++-13, so use the slightly older one - - { compiler: clang-13, cxxstd: '03,11,14,17,20', os: ubuntu-22.04, install: 'clang-13 g++-12', gcc_toolchain: 12 } - - { compiler: clang-14, cxxstd: '03,11,14,17,20', os: ubuntu-22.04, install: 'clang-14 g++-12', gcc_toolchain: 12 } - - { compiler: clang-15, cxxstd: '03,11,14,17,20', os: ubuntu-22.04, install: 'clang-15 g++-12', gcc_toolchain: 12 } + - { compiler: clang-13, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-13 g++-12', gcc_toolchain: 12 } + - { compiler: clang-14, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-14 g++-12', gcc_toolchain: 12 } + - { compiler: clang-15, cxxstd: '11,14,17,20', os: ubuntu-22.04, install: 'clang-15 g++-12', gcc_toolchain: 12 } - { compiler: clang-16, cxxstd: '11,14,17,20,2b', os: ubuntu-24.04 } # https://github.com/llvm/llvm-project/issues/59827: disabled 2b/23 for clang-17 with libstdc++13 in 24.04 - { compiler: clang-17, cxxstd: '11,14,17,20', os: ubuntu-24.04 } - { compiler: clang-18, cxxstd: '11,14,17,20,23,2c', os: ubuntu-24.04 } # libc++ - - { compiler: clang-6.0, cxxstd: '03,11,14', os: ubuntu-latest, container: 'ubuntu:18.04', stdlib: libc++, install: 'clang-6.0 libc++-dev libc++abi-dev' } - - { compiler: clang-7, cxxstd: '03,11,14,17', os: ubuntu-20.04, stdlib: libc++, install: 'clang-7 libc++-7-dev libc++abi-7-dev' } + - { compiler: clang-6.0, cxxstd: '11,14', os: ubuntu-latest, container: 'ubuntu:18.04', stdlib: libc++, install: 'clang-6.0 libc++-dev libc++abi-dev' } + - { compiler: clang-7, cxxstd: '11,14,17', os: ubuntu-20.04, stdlib: libc++, install: 'clang-7 libc++-7-dev libc++abi-7-dev' } - { name: Clang w/ sanitizers, sanitize: yes, - compiler: clang-12, cxxstd: '03,11,14,17,20', os: ubuntu-20.04, stdlib: libc++, install: 'clang-12 libc++-12-dev libc++abi-12-dev' } + compiler: clang-12, cxxstd: '11,14,17,20', os: ubuntu-20.04, stdlib: libc++, install: 'clang-12 libc++-12-dev libc++abi-12-dev' } - { name: MacOS w/ clang and sanitizers, - compiler: clang, cxxstd: '03,11,14,17,20,2b', os: macos-13, sanitize: yes } - - { compiler: clang, cxxstd: '03,11,14,17,20,2b', os: macos-14 } - - { compiler: clang, cxxstd: '03,11,14,17,20,2b', os: macos-15 } + compiler: clang, cxxstd: '11,14,17,20,2b', os: macos-13, sanitize: yes } + - { compiler: clang, cxxstd: '11,14,17,20,2b', os: macos-14 } + - { compiler: clang, cxxstd: '11,14,17,20,2b', os: macos-15 } # Coverity Scan # requires two github secrets in repo to activate; see ci/github/coverity.sh # does not run on pull requests, only on pushes into develop and master - { name: Coverity, coverity: yes, - compiler: clang-12, cxxstd: '03,20', os: ubuntu-20.04, ccache: no } + compiler: clang-12, cxxstd: '20', os: ubuntu-20.04, ccache: no } # multiarch (bigendian testing) - does not support coverage yet - { name: Big-endian, multiarch: yes, @@ -285,7 +285,7 @@ jobs: - { name: Collect coverage, coverage: yes, toolset: msvc-14.3, cxxstd: 'latest', addrmd: '64', os: windows-2022 } - { toolset: clang-win, cxxstd: '14,17,latest', addrmd: '32,64', os: windows-2022 } - - { toolset: gcc, cxxstd: '03,11,14,17,2a', addrmd: '64', os: windows-2019 } + - { toolset: gcc, cxxstd: '11,14,17,2a', addrmd: '64', os: windows-2019 } runs-on: ${{matrix.os}} @@ -342,8 +342,8 @@ jobs: fail-fast: false matrix: include: - - { sys: MINGW32, compiler: gcc, cxxstd: '03,11,17,20' } - - { sys: MINGW64, compiler: gcc, cxxstd: '03,11,17,20' } + - { sys: MINGW32, compiler: gcc, cxxstd: '11,17,20' } + - { sys: MINGW64, compiler: gcc, cxxstd: '11,17,20' } runs-on: windows-latest diff --git a/README.md b/README.md index 600cfa0..b7bc9c9 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ This can be done easily via the GitHub website (check the "branches" link at the ## Defaults, Builds and Services -By default the builds target multiple different C++ versions (from C++03 to C++20), and this can be customized. +By default the builds target multiple different C++ versions (from C++11 to C++20), and this can be customized. To see what kind of coverage these builds provide, see some build results as follows or click the badges above: - AppVeyor : https://ci.appveyor.com/project/Flamefire/boost-ci/branch/master @@ -132,73 +132,73 @@ To see what kind of coverage these builds provide, see some build results as fol Without any customization the scripts can provide the following services (example only, see the actual CI scripts for current configurations): -| CI | description | toolset | cxxflags/std | address-model | variant | -| :-------- | :---------------------- | :---------- | :---------------------------- | :------------ | :-------------- | -| Appveyor | MSVC 2019 C++2a Strict | `msvc-14.2` | `2a`, `-permissive-` | `64` | `release` | -| Appveyor | MSVC 2017 C++2a Strict | `msvc-14.1` | `2a`, `-permissive-` | `64` | `release` | -| Appveyor | MSVC 2017 C++17 | `msvc-14.1` | `17` | `64` | `debug` | -| Appveyor | MSVC 2017 C++17 | `clang-win` | `11` | `64` | `release` | -| Appveyor | MSVC 2017 C++14 Default | `msvc-14.1` | default (14) | `32,64` | `release` | -| Appveyor | MSVC 2015 C++14 Default | `msvc-14.0` | default (14) | `32,64` | `debug` | -| Appveyor | MSVC 2013 | `msvc-12.0` | default (most of 11) | default | `release` | -| Appveyor | MSVC 2012 | `msvc-11.0` | default (some of 11) | default | `release` | -| Appveyor | MSVC 2010 | `msvc-10.0` | default (some of 0x) | default | `release` | -| Appveyor | cygwin | `gcc` | `03,11` | `32` | `debug` | -| Appveyor | cygwin64 | `gcc` | `11,17` | `64` | `release` | -| Appveyor | mingw | `gcc` | `03,11` | `32` | `debug` | -| Appveyor | mingw64 | `gcc` | `11,17` | `64` | `release` | -| Azure P. | gcc 4.8 | `gcc-4.8` | `03,11` | default | `debug,release` | -| Azure P. | gcc 4.9 | `gcc-4.9` | `03,11` | default | `debug,release` | -| Azure P. | gcc 5 | `gcc-5` | `11` | default | `debug,release` | -| Azure P. | gcc 6 | `gcc-6` | `11,14` | default | `debug,release` | -| Azure P. | gcc 7 | `gcc-7` | `11,14,17` | default | `debug,release` | -| Azure P. | gcc 8 | `gcc-8` | `14,17,2a` | default | `debug,release` | -| Azure P. | clang-3.5 | `clang-3.5` | `03,11` | default | `debug,release` | -| Azure P. | clang-3.6 | `clang-3.6` | `03,11` | default | `debug,release` | -| Azure P. | clang-3.7 | `clang-3.7` | `03,11` | default | `debug,release` | -| Azure P. | clang-3.8 | `clang-3.8` | `03,11,14` | default | `debug,release` | -| Azure P. | clang-3.9 | `clang-3.8` | `03,11,14` | default | `debug,release` | -| Azure P. | clang-4.0 | `clang-4.0` | `11,14,17` | default | `debug,release` | -| Azure P. | clang-5.0 | `clang-5.0` | `11,14,17` | default | `debug,release` | -| Azure P. | clang-6.0 | `clang-6.0` | `14,17,2a` | default | `debug,release` | -| Azure P. | clang-6.0-libc++ | `clang-6.0` | `03,11,14,17,2a`, `libc++` | default | `debug,release` | -| Azure P. | clang-7 | `clang-7` | `14,17,2a` | default | `debug,release` | -| Azure P. | clang-8 | `clang-8` | `14,17,2a` | default | `debug,release` | -| Azure P. | MSVC 2019 C++2a Strict | `msvc-14.2` | `2a`, `-permissive-` | `64` | `debug,release` | -| Azure P. | MSVC 2017 C++2a Strict | `msvc-14.1` | `2a`, `-permissive-` | `64` | `debug,release` | -| Azure P. | MSVC 2017 C++17 | `msvc-14.1` | `17` | `32,64` | `debug,release` | -| Azure P. | MSVC 2017 C++14 Default | `msvc-14.1` | default (14) | `32,64` | `debug,release` | -| Azure P. | MSVC 2015 C++14 Default | `msvc-14.0` | default (14) | `32,64` | `debug,release` | -| Azure P. | Xcode 10.1 | `clang` | `14,17,2a` | default | `debug,release` | -| Azure P. | Xcode 10.0 | `clang` | `14,17,2a` | default | `debug,release` | -| Azure P. | Xcode 9.4.1 | `clang` | `11,14,17` | default | `debug,release` | -| Azure P. | Xcode 9.4 | `clang` | `11,14,17` | default | `debug,release` | -| Azure P. | Xcode 9.3.1 | `clang` | `11,14` | default | `debug,release` | -| Azure P. | Xcode 9.3 | `clang` | `11,14` | default | `debug,release` | -| Azure P. | Xcode 9.2 | `clang` | `11,14` | default | `debug,release` | -| Azure P. | Xcode 9.1 | `clang` | `03,11` | default | `debug,release` | -| Azure P. | Xcode 9.0.1 | `clang` | `03,11` | default | `debug,release` | -| Azure P. | Xcode 9.0 | `clang` | `03,11` | default | `debug,release` | -| Azure P. | Xcode 8.3.3 | `clang` | `03,11` | default | `debug,release` | -| Travis CI | gcc 4.8 | `gcc-4.8` | `03,11` | default | `release` | -| Travis CI | gcc 4.9 | `gcc-4.9` | `03,11` | default | `release` | -| Travis CI | gcc 5 | `gcc-5` | `03,11` | default | `release` | -| Travis CI | gcc 6 | `gcc-6` | `11,14` | default | `release` | -| Travis CI | gcc 7 | `gcc-7` | `14,17` | default | `release` | -| Travis CI | gcc 8 | `gcc-8` | `17,2a` | default | `release` | -| Travis CI | gcc 9 | `gcc-9` | `17,2a` | default | `release` | -| Travis CI | clang-3.8 | `clang-3.8` | `03,11` | default | `release` | -| Travis CI | clang-4.0 | `clang-4.0` | `11,14` | default | `release` | -| Travis CI | clang-5.0 | `clang-5.0` | `11,14` | default | `release` | -| Travis CI | clang-6.0 | `clang-6.0` | `14,17` | default | `release` | -| Travis CI | clang-6.0-libc++ | `clang-6.0` | `03,11,14`, `libc++` | default | `release` | -| Travis CI | clang-7 | `clang-7` | `17,2a` | default | `release` | -| Travis CI | clang-8 | `clang-8` | `17,2a` | default | `release` | -| Travis CI | osx (clang) | `clang` | `03,11,17` | default | `release` | -| Travis CI | big-endian | `gcc` | default | default | `debug` | -| Travis CI | codecov.io | `gcc-8` | default | default | `debug` | -| Travis CI | covscan | `clang` | default | default | `debug` | -| Travis CI | asan | `gcc-8` | `03,11,14` | default | `debug` | -| Travis CI | tsan | `gcc-8` | `03,11,14` | default | `debug` | -| Travis CI | ubsan | `gcc-8` | `03,11,14` | default | `debug` | -| Travis CI | valgrind | `clang-6.0` | `03,11,14` | default | `debug` | +| CI | description | toolset | cxxflags/std | address-model | variant | +| :-------- | :---------------------- | :---------- | :--------------------------| :------------ | :-------------- | +| Appveyor | MSVC 2019 C++2a Strict | `msvc-14.2` | `2a`, `-permissive-` | `64` | `release` | +| Appveyor | MSVC 2017 C++2a Strict | `msvc-14.1` | `2a`, `-permissive-` | `64` | `release` | +| Appveyor | MSVC 2017 C++17 | `msvc-14.1` | `17` | `64` | `debug` | +| Appveyor | MSVC 2017 C++17 | `clang-win` | `11` | `64` | `release` | +| Appveyor | MSVC 2017 C++14 Default | `msvc-14.1` | default (14) | `32,64` | `release` | +| Appveyor | MSVC 2015 C++14 Default | `msvc-14.0` | default (14) | `32,64` | `debug` | +| Appveyor | MSVC 2013 | `msvc-12.0` | default (most of 11) | default | `release` | +| Appveyor | MSVC 2012 | `msvc-11.0` | default (some of 11) | default | `release` | +| Appveyor | MSVC 2010 | `msvc-10.0` | default (some of 0x) | default | `release` | +| Appveyor | cygwin | `gcc` | `11` | `32` | `debug` | +| Appveyor | cygwin64 | `gcc` | `11,17` | `64` | `release` | +| Appveyor | mingw | `gcc` | `11` | `32` | `debug` | +| Appveyor | mingw64 | `gcc` | `11,17` | `64` | `release` | +| Azure P. | gcc 4.8 | `gcc-4.8` | `11` | default | `debug,release` | +| Azure P. | gcc 4.9 | `gcc-4.9` | `11` | default | `debug,release` | +| Azure P. | gcc 5 | `gcc-5` | `11` | default | `debug,release` | +| Azure P. | gcc 6 | `gcc-6` | `11,14` | default | `debug,release` | +| Azure P. | gcc 7 | `gcc-7` | `11,14,17` | default | `debug,release` | +| Azure P. | gcc 8 | `gcc-8` | `14,17,2a` | default | `debug,release` | +| Azure P. | clang-3.5 | `clang-3.5` | `11` | default | `debug,release` | +| Azure P. | clang-3.6 | `clang-3.6` | `11` | default | `debug,release` | +| Azure P. | clang-3.7 | `clang-3.7` | `11` | default | `debug,release` | +| Azure P. | clang-3.8 | `clang-3.8` | `11,14` | default | `debug,release` | +| Azure P. | clang-3.9 | `clang-3.8` | `11,14` | default | `debug,release` | +| Azure P. | clang-4.0 | `clang-4.0` | `11,14,17` | default | `debug,release` | +| Azure P. | clang-5.0 | `clang-5.0` | `11,14,17` | default | `debug,release` | +| Azure P. | clang-6.0 | `clang-6.0` | `14,17,2a` | default | `debug,release` | +| Azure P. | clang-6.0-libc++ | `clang-6.0` | `11,14,17,2a`, `libc++` | default | `debug,release` | +| Azure P. | clang-7 | `clang-7` | `14,17,2a` | default | `debug,release` | +| Azure P. | clang-8 | `clang-8` | `14,17,2a` | default | `debug,release` | +| Azure P. | MSVC 2019 C++2a Strict | `msvc-14.2` | `2a`, `-permissive-` | `64` | `debug,release` | +| Azure P. | MSVC 2017 C++2a Strict | `msvc-14.1` | `2a`, `-permissive-` | `64` | `debug,release` | +| Azure P. | MSVC 2017 C++17 | `msvc-14.1` | `17` | `32,64` | `debug,release` | +| Azure P. | MSVC 2017 C++14 Default | `msvc-14.1` | default (14) | `32,64` | `debug,release` | +| Azure P. | MSVC 2015 C++14 Default | `msvc-14.0` | default (14) | `32,64` | `debug,release` | +| Azure P. | Xcode 10.1 | `clang` | `14,17,2a` | default | `debug,release` | +| Azure P. | Xcode 10.0 | `clang` | `14,17,2a` | default | `debug,release` | +| Azure P. | Xcode 9.4.1 | `clang` | `11,14,17` | default | `debug,release` | +| Azure P. | Xcode 9.4 | `clang` | `11,14,17` | default | `debug,release` | +| Azure P. | Xcode 9.3.1 | `clang` | `11,14` | default | `debug,release` | +| Azure P. | Xcode 9.3 | `clang` | `11,14` | default | `debug,release` | +| Azure P. | Xcode 9.2 | `clang` | `11,14` | default | `debug,release` | +| Azure P. | Xcode 9.1 | `clang` | `11` | default | `debug,release` | +| Azure P. | Xcode 9.0.1 | `clang` | `11` | default | `debug,release` | +| Azure P. | Xcode 9.0 | `clang` | `11` | default | `debug,release` | +| Azure P. | Xcode 8.3.3 | `clang` | `11` | default | `debug,release` | +| Travis CI | gcc 4.8 | `gcc-4.8` | `11` | default | `release` | +| Travis CI | gcc 4.9 | `gcc-4.9` | `11` | default | `release` | +| Travis CI | gcc 5 | `gcc-5` | `11` | default | `release` | +| Travis CI | gcc 6 | `gcc-6` | `11,14` | default | `release` | +| Travis CI | gcc 7 | `gcc-7` | `14,17` | default | `release` | +| Travis CI | gcc 8 | `gcc-8` | `17,2a` | default | `release` | +| Travis CI | gcc 9 | `gcc-9` | `17,2a` | default | `release` | +| Travis CI | clang-3.8 | `clang-3.8` | `11` | default | `release` | +| Travis CI | clang-4.0 | `clang-4.0` | `11,14` | default | `release` | +| Travis CI | clang-5.0 | `clang-5.0` | `11,14` | default | `release` | +| Travis CI | clang-6.0 | `clang-6.0` | `14,17` | default | `release` | +| Travis CI | clang-6.0-libc++ | `clang-6.0` | `11,14`, `libc++` | default | `release` | +| Travis CI | clang-7 | `clang-7` | `17,2a` | default | `release` | +| Travis CI | clang-8 | `clang-8` | `17,2a` | default | `release` | +| Travis CI | osx (clang) | `clang` | `11,17` | default | `release` | +| Travis CI | big-endian | `gcc` | default | default | `debug` | +| Travis CI | codecov.io | `gcc-8` | default | default | `debug` | +| Travis CI | covscan | `clang` | default | default | `debug` | +| Travis CI | asan | `gcc-8` | `11,14` | default | `debug` | +| Travis CI | tsan | `gcc-8` | `11,14` | default | `debug` | +| Travis CI | ubsan | `gcc-8` | `11,14` | default | `debug` | +| Travis CI | valgrind | `clang-6.0` | `11,14` | default | `debug` | diff --git a/README.template.md b/README.template.md index 72936bd..8c33b16 100644 --- a/README.template.md +++ b/README.template.md @@ -6,7 +6,7 @@ Distributed under the [Boost Software License, Version 1.0](http://www.boost.org ### Properties -* C++03 +* C++11 * Header-Only ### Build Status diff --git a/meta/libraries.json b/meta/libraries.json index 0b51b53..bb2f7b9 100644 --- a/meta/libraries.json +++ b/meta/libraries.json @@ -12,5 +12,5 @@ "category": [ "CI" ], - "cxxstd": "03" + "cxxstd": "11" }