forked from boostorg/utility
Compare commits
16 Commits
boost-1.83
...
feature/mi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
12c95c48cf | ||
|
|
e0ecf92764 | ||
|
|
bff26e4fa1 | ||
|
|
9abd1fc78d | ||
|
|
3829fcbef4 | ||
|
|
21d6434320 | ||
|
|
2ac19511c2 | ||
|
|
217f7346f6 | ||
|
|
85b5594f32 | ||
|
|
a95a4f6580 | ||
|
|
076f050e9a | ||
|
|
e06b6dd788 | ||
|
|
219ee9855d | ||
|
|
cea4262e62 | ||
|
|
52e3e64a34 | ||
|
|
eb721609af |
217
.github/workflows/ci.yml
vendored
217
.github/workflows/ci.yml
vendored
@@ -1,4 +1,4 @@
|
|||||||
# Copyright 2021-2022 Andrey Semashev
|
# Copyright 2021-2024 Andrey Semashev
|
||||||
#
|
#
|
||||||
# Distributed under the Boost Software License, Version 1.0.
|
# Distributed under the Boost Software License, Version 1.0.
|
||||||
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
|
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
|
||||||
@@ -33,87 +33,77 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
# Linux, gcc
|
# Linux, gcc
|
||||||
- toolset: gcc-4.4
|
|
||||||
cxxstd: "98,0x"
|
|
||||||
os: ubuntu-latest
|
|
||||||
container: ubuntu:16.04
|
|
||||||
install:
|
|
||||||
- g++-4.4
|
|
||||||
sources:
|
|
||||||
- "ppa:ubuntu-toolchain-r/test"
|
|
||||||
- toolset: gcc-4.6
|
|
||||||
cxxstd: "03,0x"
|
|
||||||
os: ubuntu-latest
|
|
||||||
container: ubuntu:16.04
|
|
||||||
install:
|
|
||||||
- g++-4.6
|
|
||||||
sources:
|
|
||||||
- "ppa:ubuntu-toolchain-r/test"
|
|
||||||
- toolset: gcc-4.7
|
- toolset: gcc-4.7
|
||||||
cxxstd: "03,11"
|
cxxstd: "11"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:16.04
|
container: ubuntu:16.04
|
||||||
install:
|
install:
|
||||||
- g++-4.7
|
- g++-4.7
|
||||||
- toolset: gcc-4.8
|
- toolset: gcc-4.8
|
||||||
cxxstd: "03,11"
|
cxxstd: "11"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:18.04
|
container: ubuntu:18.04
|
||||||
install:
|
install:
|
||||||
- g++-4.8
|
- g++-4.8
|
||||||
- toolset: gcc-4.9
|
- toolset: gcc-4.9
|
||||||
cxxstd: "03,11"
|
cxxstd: "11"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:16.04
|
container: ubuntu:16.04
|
||||||
install:
|
install:
|
||||||
- g++-4.9
|
- g++-4.9
|
||||||
- toolset: gcc-5
|
- toolset: gcc-5
|
||||||
cxxstd: "03,11,14,1z"
|
cxxstd: "11,14,1z"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:16.04
|
container: ubuntu:16.04
|
||||||
install:
|
install:
|
||||||
- g++-5
|
- g++-5
|
||||||
- toolset: gcc-6
|
- toolset: gcc-6
|
||||||
cxxstd: "03,11,14,1z"
|
cxxstd: "11,14,1z"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:18.04
|
container: ubuntu:18.04
|
||||||
install:
|
install:
|
||||||
- g++-6
|
- g++-6
|
||||||
- toolset: gcc-7
|
- toolset: gcc-7
|
||||||
cxxstd: "03,11,14,17"
|
cxxstd: "11,14,17"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:18.04
|
container: ubuntu:18.04
|
||||||
install:
|
install:
|
||||||
- g++-7
|
- g++-7
|
||||||
- toolset: gcc-8
|
- toolset: gcc-8
|
||||||
cxxstd: "03,11,14,17,2a"
|
cxxstd: "11,14,17,2a"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:18.04
|
container: ubuntu:18.04
|
||||||
install:
|
install:
|
||||||
- g++-8
|
- g++-8
|
||||||
- toolset: gcc-9
|
- toolset: gcc-9
|
||||||
cxxstd: "03,11,14,17,2a"
|
cxxstd: "11,14,17,2a"
|
||||||
os: ubuntu-20.04
|
os: ubuntu-20.04
|
||||||
install:
|
install:
|
||||||
- g++-9
|
- g++-9
|
||||||
- toolset: gcc-10
|
- toolset: gcc-10
|
||||||
cxxstd: "03,11,14,17,20"
|
cxxstd: "11,14,17,20"
|
||||||
os: ubuntu-20.04
|
os: ubuntu-20.04
|
||||||
install:
|
install:
|
||||||
- g++-10
|
- g++-10
|
||||||
- toolset: gcc-11
|
- toolset: gcc-11
|
||||||
cxxstd: "03,11,14,17,20,23"
|
cxxstd: "11,14,17,20,23"
|
||||||
os: ubuntu-22.04
|
os: ubuntu-22.04
|
||||||
install:
|
install:
|
||||||
- g++-11
|
- g++-11
|
||||||
- toolset: gcc-12
|
- toolset: gcc-12
|
||||||
cxxstd: "03,11,14,17,20,23"
|
cxxstd: "11,14,17,20,23"
|
||||||
os: ubuntu-22.04
|
os: ubuntu-22.04
|
||||||
install:
|
install:
|
||||||
- g++-12
|
- g++-12
|
||||||
|
- toolset: gcc-13
|
||||||
|
cxxstd: "11,14,17,20,23"
|
||||||
|
os: ubuntu-latest
|
||||||
|
container: ubuntu:23.04
|
||||||
|
install:
|
||||||
|
- g++-13
|
||||||
- name: UBSAN
|
- name: UBSAN
|
||||||
toolset: gcc-11
|
toolset: gcc-11
|
||||||
cxxstd: "03,11,14,17,20,23"
|
cxxstd: "11,14,17,20,23"
|
||||||
ubsan: 1
|
ubsan: 1
|
||||||
build_variant: debug
|
build_variant: debug
|
||||||
os: ubuntu-22.04
|
os: ubuntu-22.04
|
||||||
@@ -123,63 +113,63 @@ jobs:
|
|||||||
# Linux, clang
|
# Linux, clang
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-3.5
|
compiler: clang++-3.5
|
||||||
cxxstd: "03,11"
|
cxxstd: "11"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:16.04
|
container: ubuntu:16.04
|
||||||
install:
|
install:
|
||||||
- clang-3.5
|
- clang-3.5
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-3.6
|
compiler: clang++-3.6
|
||||||
cxxstd: "03,11,14"
|
cxxstd: "11,14"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:16.04
|
container: ubuntu:16.04
|
||||||
install:
|
install:
|
||||||
- clang-3.6
|
- clang-3.6
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-3.7
|
compiler: clang++-3.7
|
||||||
cxxstd: "03,11,14"
|
cxxstd: "11,14"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:16.04
|
container: ubuntu:16.04
|
||||||
install:
|
install:
|
||||||
- clang-3.7
|
- clang-3.7
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-3.8
|
compiler: clang++-3.8
|
||||||
cxxstd: "03,11,14"
|
cxxstd: "11,14"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:16.04
|
container: ubuntu:16.04
|
||||||
install:
|
install:
|
||||||
- clang-3.8
|
- clang-3.8
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-3.9
|
compiler: clang++-3.9
|
||||||
cxxstd: "03,11,14"
|
cxxstd: "11,14"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:18.04
|
container: ubuntu:18.04
|
||||||
install:
|
install:
|
||||||
- clang-3.9
|
- clang-3.9
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-4.0
|
compiler: clang++-4.0
|
||||||
cxxstd: "03,11,14"
|
cxxstd: "11,14"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:18.04
|
container: ubuntu:18.04
|
||||||
install:
|
install:
|
||||||
- clang-4.0
|
- clang-4.0
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-5.0
|
compiler: clang++-5.0
|
||||||
cxxstd: "03,11,14,1z"
|
cxxstd: "11,14,1z"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:18.04
|
container: ubuntu:18.04
|
||||||
install:
|
install:
|
||||||
- clang-5.0
|
- clang-5.0
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-6.0
|
compiler: clang++-6.0
|
||||||
cxxstd: "03,11,14,17"
|
cxxstd: "11,14,17"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:18.04
|
container: ubuntu:18.04
|
||||||
install:
|
install:
|
||||||
- clang-6.0
|
- clang-6.0
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-7
|
compiler: clang++-7
|
||||||
cxxstd: "03,11,14,17"
|
cxxstd: "11,14,17"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:18.04
|
container: ubuntu:18.04
|
||||||
install:
|
install:
|
||||||
@@ -187,7 +177,7 @@ jobs:
|
|||||||
# Note: clang-8 does not fully support C++20, so it is not compatible with libstdc++-8 in this mode
|
# Note: clang-8 does not fully support C++20, so it is not compatible with libstdc++-8 in this mode
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-8
|
compiler: clang++-8
|
||||||
cxxstd: "03,11,14,17,2a"
|
cxxstd: "11,14,17,2a"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
container: ubuntu:18.04
|
container: ubuntu:18.04
|
||||||
install:
|
install:
|
||||||
@@ -196,49 +186,57 @@ jobs:
|
|||||||
gcc_toolchain: 7
|
gcc_toolchain: 7
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-9
|
compiler: clang++-9
|
||||||
cxxstd: "03,11,14,17,2a"
|
cxxstd: "11,14,17,2a"
|
||||||
os: ubuntu-20.04
|
os: ubuntu-20.04
|
||||||
install:
|
install:
|
||||||
- clang-9
|
- clang-9
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-10
|
compiler: clang++-10
|
||||||
cxxstd: "03,11,14,17,20"
|
cxxstd: "11,14,17,20"
|
||||||
os: ubuntu-20.04
|
os: ubuntu-20.04
|
||||||
install:
|
install:
|
||||||
- clang-10
|
- clang-10
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-11
|
compiler: clang++-11
|
||||||
cxxstd: "03,11,14,17,20"
|
cxxstd: "11,14,17,20"
|
||||||
os: ubuntu-22.04
|
os: ubuntu-22.04
|
||||||
install:
|
install:
|
||||||
- clang-11
|
- clang-11
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-12
|
compiler: clang++-12
|
||||||
cxxstd: "03,11,14,17,20,2b"
|
cxxstd: "11,14,17,20,2b"
|
||||||
os: ubuntu-22.04
|
os: ubuntu-22.04
|
||||||
install:
|
install:
|
||||||
- clang-12
|
- clang-12
|
||||||
|
- g++-11
|
||||||
|
gcc_toolchain: 11
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-13
|
compiler: clang++-13
|
||||||
cxxstd: "03,11,14,17,20,2b"
|
cxxstd: "11,14,17,20,2b"
|
||||||
os: ubuntu-22.04
|
os: ubuntu-22.04
|
||||||
install:
|
install:
|
||||||
- clang-13
|
- clang-13
|
||||||
|
- g++-11
|
||||||
|
gcc_toolchain: 11
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-14
|
compiler: clang++-14
|
||||||
cxxstd: "03,11,14,17,20,2b"
|
cxxstd: "11,14,17,20,2b"
|
||||||
os: ubuntu-22.04
|
os: ubuntu-22.04
|
||||||
install:
|
install:
|
||||||
- clang-14
|
- clang-14
|
||||||
|
- g++-11
|
||||||
|
gcc_toolchain: 11
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-15
|
compiler: clang++-15
|
||||||
cxxstd: "03,11,14,17,20,2b"
|
cxxstd: "11,14,17,20,2b"
|
||||||
os: ubuntu-22.04
|
os: ubuntu-22.04
|
||||||
install:
|
install:
|
||||||
- clang-15
|
- clang-15
|
||||||
|
- g++-11
|
||||||
|
gcc_toolchain: 11
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-16
|
compiler: clang++-16
|
||||||
cxxstd: "03,11,14,17,20,2b"
|
cxxstd: "11,14,17,20,2b"
|
||||||
os: ubuntu-22.04
|
os: ubuntu-22.04
|
||||||
install:
|
install:
|
||||||
- clang-16
|
- clang-16
|
||||||
@@ -247,15 +245,25 @@ jobs:
|
|||||||
source_keys:
|
source_keys:
|
||||||
- "https://apt.llvm.org/llvm-snapshot.gpg.key"
|
- "https://apt.llvm.org/llvm-snapshot.gpg.key"
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-16
|
compiler: clang++-17
|
||||||
cxxstd: "03,11,14,17,20,2b"
|
cxxstd: "11,14,17,20,23"
|
||||||
os: ubuntu-22.04
|
os: ubuntu-22.04
|
||||||
install:
|
install:
|
||||||
- clang-16
|
- clang-17
|
||||||
- libc++-16-dev
|
|
||||||
- libc++abi-16-dev
|
|
||||||
sources:
|
sources:
|
||||||
- "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main"
|
- "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main"
|
||||||
|
source_keys:
|
||||||
|
- "https://apt.llvm.org/llvm-snapshot.gpg.key"
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-17
|
||||||
|
cxxstd: "11,14,17,20,23"
|
||||||
|
os: ubuntu-22.04
|
||||||
|
install:
|
||||||
|
- clang-17
|
||||||
|
- libc++-17-dev
|
||||||
|
- libc++abi-17-dev
|
||||||
|
sources:
|
||||||
|
- "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-17 main"
|
||||||
source_keys:
|
source_keys:
|
||||||
- "https://apt.llvm.org/llvm-snapshot.gpg.key"
|
- "https://apt.llvm.org/llvm-snapshot.gpg.key"
|
||||||
cxxflags: -stdlib=libc++
|
cxxflags: -stdlib=libc++
|
||||||
@@ -263,7 +271,7 @@ jobs:
|
|||||||
- name: UBSAN
|
- name: UBSAN
|
||||||
toolset: clang
|
toolset: clang
|
||||||
compiler: clang++-15
|
compiler: clang++-15
|
||||||
cxxstd: "03,11,14,17,20,2b"
|
cxxstd: "11,14,17,20,2b"
|
||||||
cxxflags: -stdlib=libc++
|
cxxflags: -stdlib=libc++
|
||||||
linkflags: -stdlib=libc++
|
linkflags: -stdlib=libc++
|
||||||
ubsan: 1
|
ubsan: 1
|
||||||
@@ -275,10 +283,10 @@ jobs:
|
|||||||
- libc++abi-15-dev
|
- libc++abi-15-dev
|
||||||
|
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
cxxstd: "03,11,14,17,2a"
|
cxxstd: "11,14,17,2a"
|
||||||
os: macos-11
|
os: macos-11
|
||||||
|
|
||||||
timeout-minutes: 60
|
timeout-minutes: 15
|
||||||
runs-on: ${{matrix.os}}
|
runs-on: ${{matrix.os}}
|
||||||
container: ${{matrix.container}}
|
container: ${{matrix.container}}
|
||||||
|
|
||||||
@@ -307,8 +315,6 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
git config --global pack.threads 0
|
git config --global pack.threads 0
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
if: matrix.install
|
if: matrix.install
|
||||||
run: |
|
run: |
|
||||||
@@ -423,11 +429,25 @@ jobs:
|
|||||||
then
|
then
|
||||||
DEPINST_ARGS+=("--git_args" "--jobs $GIT_FETCH_JOBS")
|
DEPINST_ARGS+=("--git_args" "--jobs $GIT_FETCH_JOBS")
|
||||||
fi
|
fi
|
||||||
|
mkdir -p snapshot
|
||||||
|
cd snapshot
|
||||||
|
echo "Downloading library snapshot: https://github.com/${GITHUB_REPOSITORY}/archive/${GITHUB_SHA}.tar.gz"
|
||||||
|
curl -L --retry "$NET_RETRY_COUNT" -o "${LIBRARY}-${GITHUB_SHA}.tar.gz" "https://github.com/${GITHUB_REPOSITORY}/archive/${GITHUB_SHA}.tar.gz"
|
||||||
|
tar -xf "${LIBRARY}-${GITHUB_SHA}.tar.gz"
|
||||||
|
if [ ! -d "${LIBRARY}-${GITHUB_SHA}" ]
|
||||||
|
then
|
||||||
|
echo "Library snapshot does not contain the library directory ${LIBRARY}-${GITHUB_SHA}:"
|
||||||
|
ls -la
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
rm -f "${LIBRARY}-${GITHUB_SHA}.tar.gz"
|
||||||
cd ..
|
cd ..
|
||||||
git clone -b "$BOOST_BRANCH" --depth 1 "https://github.com/boostorg/boost.git" "boost-root"
|
git clone -b "$BOOST_BRANCH" --depth 1 "https://github.com/boostorg/boost.git" "boost-root"
|
||||||
cd boost-root
|
cd boost-root
|
||||||
mkdir -p libs/$LIBRARY
|
mkdir -p libs
|
||||||
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
|
rm -rf "libs/$LIBRARY"
|
||||||
|
mv -f "../snapshot/${LIBRARY}-${GITHUB_SHA}" "libs/$LIBRARY"
|
||||||
|
rm -rf "../snapshot"
|
||||||
git submodule update --init tools/boostdep
|
git submodule update --init tools/boostdep
|
||||||
DEPINST_ARGS+=("$LIBRARY")
|
DEPINST_ARGS+=("$LIBRARY")
|
||||||
python tools/boostdep/depinst/depinst.py "${DEPINST_ARGS[@]}"
|
python tools/boostdep/depinst/depinst.py "${DEPINST_ARGS[@]}"
|
||||||
@@ -449,7 +469,7 @@ jobs:
|
|||||||
- name: Run tests
|
- name: Run tests
|
||||||
if: matrix.cmake_tests == ''
|
if: matrix.cmake_tests == ''
|
||||||
run: |
|
run: |
|
||||||
cd ../boost-root
|
cd boost-root
|
||||||
B2_ARGS=("-j" "$BUILD_JOBS" "toolset=${{matrix.toolset}}" "cxxstd=${{matrix.cxxstd}}")
|
B2_ARGS=("-j" "$BUILD_JOBS" "toolset=${{matrix.toolset}}" "cxxstd=${{matrix.cxxstd}}")
|
||||||
if [ -n "${{matrix.build_variant}}" ]
|
if [ -n "${{matrix.build_variant}}" ]
|
||||||
then
|
then
|
||||||
@@ -476,3 +496,78 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
B2_ARGS+=("libs/$LIBRARY/test")
|
B2_ARGS+=("libs/$LIBRARY/test")
|
||||||
./b2 "${B2_ARGS[@]}"
|
./b2 "${B2_ARGS[@]}"
|
||||||
|
|
||||||
|
windows:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- toolset: msvc-14.0
|
||||||
|
cxxstd: "14"
|
||||||
|
addrmd: 32,64
|
||||||
|
os: windows-2019
|
||||||
|
- toolset: msvc-14.2
|
||||||
|
cxxstd: "14,17,20,latest"
|
||||||
|
addrmd: 32,64
|
||||||
|
os: windows-2019
|
||||||
|
- toolset: msvc-14.3
|
||||||
|
cxxstd: "14,17,20,latest"
|
||||||
|
addrmd: 32,64
|
||||||
|
os: windows-2022
|
||||||
|
- toolset: clang-win
|
||||||
|
cxxstd: "14,17,latest"
|
||||||
|
addrmd: 32,64
|
||||||
|
os: windows-2022
|
||||||
|
- toolset: gcc
|
||||||
|
cxxstd: "11,14,17,2a"
|
||||||
|
addrmd: 64
|
||||||
|
os: windows-2019
|
||||||
|
|
||||||
|
timeout-minutes: 15
|
||||||
|
runs-on: ${{matrix.os}}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Setup Boost
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
|
||||||
|
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
|
||||||
|
echo LIBRARY: %LIBRARY%
|
||||||
|
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
|
||||||
|
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
|
||||||
|
echo GITHUB_REF: %GITHUB_REF%
|
||||||
|
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
|
||||||
|
set BOOST_BRANCH=develop
|
||||||
|
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
|
||||||
|
echo BOOST_BRANCH: %BOOST_BRANCH%
|
||||||
|
mkdir snapshot
|
||||||
|
cd snapshot
|
||||||
|
echo Downloading library snapshot: https://github.com/%GITHUB_REPOSITORY%/archive/%GITHUB_SHA%.zip
|
||||||
|
curl -L --retry %NET_RETRY_COUNT% -o "%LIBRARY%-%GITHUB_SHA%.zip" "https://github.com/%GITHUB_REPOSITORY%/archive/%GITHUB_SHA%.zip"
|
||||||
|
tar -xf "%LIBRARY%-%GITHUB_SHA%.zip"
|
||||||
|
if not exist "%LIBRARY%-%GITHUB_SHA%\" (
|
||||||
|
echo Library snapshot does not contain the library directory %LIBRARY%-%GITHUB_SHA%:
|
||||||
|
dir
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
del /f "%LIBRARY%-%GITHUB_SHA%.zip"
|
||||||
|
cd ..
|
||||||
|
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
|
||||||
|
cd boost-root
|
||||||
|
if not exist "libs\" mkdir libs
|
||||||
|
if exist "libs\%LIBRARY%\" rmdir /s /q "libs\%LIBRARY%"
|
||||||
|
move /Y "..\snapshot\%LIBRARY%-%GITHUB_SHA%" "libs\%LIBRARY%"
|
||||||
|
rmdir /s /q "..\snapshot"
|
||||||
|
git submodule update --init tools/boostdep
|
||||||
|
python tools/boostdep/depinst/depinst.py --git_args "--jobs %GIT_FETCH_JOBS%" %LIBRARY%
|
||||||
|
cmd /c bootstrap
|
||||||
|
b2 -d0 headers
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
cd boost-root
|
||||||
|
if not "${{matrix.cxxstd}}" == "" set CXXSTD=cxxstd=${{matrix.cxxstd}}
|
||||||
|
if not "${{matrix.addrmd}}" == "" set ADDRMD=address-model=${{matrix.addrmd}}
|
||||||
|
if not "${{matrix.build_variant}}" == "" (set BUILD_VARIANT=variant=${{matrix.build_variant}}) else (set BUILD_VARIANT=variant=%DEFAULT_BUILD_VARIANT%)
|
||||||
|
b2 -j %NUMBER_OF_PROCESSORS% libs/%LIBRARY%/test toolset=${{matrix.toolset}} %CXXSTD% %ADDRMD% %BUILD_VARIANT% embed-manifest-via=linker
|
||||||
|
|||||||
17
appveyor.yml
17
appveyor.yml
@@ -15,10 +15,7 @@ branches:
|
|||||||
|
|
||||||
environment:
|
environment:
|
||||||
matrix:
|
matrix:
|
||||||
- TOOLSET: msvc-9.0,msvc-10.0,msvc-11.0
|
- TOOLSET: msvc-14.0
|
||||||
ADDRMD: 32
|
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
|
||||||
- TOOLSET: msvc-12.0,msvc-14.0
|
|
||||||
ADDRMD: 32,64
|
ADDRMD: 32,64
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||||
- TOOLSET: msvc-14.1
|
- TOOLSET: msvc-14.1
|
||||||
@@ -44,27 +41,27 @@ environment:
|
|||||||
ENV_SCRIPT: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat
|
ENV_SCRIPT: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
||||||
- TOOLSET: gcc
|
- TOOLSET: gcc
|
||||||
CXXSTD: 03,11,14,1z
|
CXXSTD: 11,14,1z
|
||||||
ADDPATH: C:\cygwin\bin;
|
ADDPATH: C:\cygwin\bin;
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||||
- TOOLSET: gcc
|
- TOOLSET: gcc
|
||||||
CXXSTD: 03,11,14,1z
|
CXXSTD: 11,14,1z
|
||||||
ADDPATH: C:\cygwin64\bin;
|
ADDPATH: C:\cygwin64\bin;
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||||
- TOOLSET: gcc
|
- TOOLSET: gcc
|
||||||
CXXSTD: 03,11,14,1z
|
CXXSTD: 11,14,1z
|
||||||
ADDPATH: C:\mingw\bin;
|
ADDPATH: C:\mingw\bin;
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||||
- TOOLSET: gcc
|
- TOOLSET: gcc
|
||||||
CXXSTD: 03,11,14,1z
|
CXXSTD: 11,14,1z
|
||||||
ADDPATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;
|
ADDPATH: C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin;
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||||
- TOOLSET: gcc
|
- TOOLSET: gcc
|
||||||
CXXSTD: 03,11,14,17
|
CXXSTD: 11,14,17
|
||||||
ADDPATH: C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin;
|
ADDPATH: C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin;
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||||
- TOOLSET: gcc
|
- TOOLSET: gcc
|
||||||
CXXSTD: 03,11,14,17,2a
|
CXXSTD: 11,14,17,2a
|
||||||
ADDPATH: C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin;
|
ADDPATH: C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin;
|
||||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||||
|
|
||||||
|
|||||||
@@ -256,13 +256,13 @@ struct C
|
|||||||
~C() { delete contained_ ; }
|
~C() { delete contained_ ; }
|
||||||
|
|
||||||
template<class InPlaceFactory>
|
template<class InPlaceFactory>
|
||||||
void construct ( InPlaceFactory const& aFactory, boost::__in_place_factory_base__* )
|
void construct ( InPlaceFactory const& aFactory, const boost::__in_place_factory_base__* )
|
||||||
{
|
{
|
||||||
aFactory.template apply<X>(contained_);
|
aFactory.template apply<X>(contained_);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class TypedInPlaceFactory>
|
template<class TypedInPlaceFactory>
|
||||||
void construct ( TypedInPlaceFactory const& aFactory, boost::__typed_in_place_factory_base__* )
|
void construct ( TypedInPlaceFactory const& aFactory, const boost::__typed_in_place_factory_base__* )
|
||||||
{
|
{
|
||||||
aFactory.apply(contained_);
|
aFactory.apply(contained_);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,48 +11,6 @@
|
|||||||
// An implementation of minstd_rand that does not require
|
// An implementation of minstd_rand that does not require
|
||||||
// the Random library
|
// the Random library
|
||||||
|
|
||||||
#include <boost/cstdint.hpp>
|
#include <boost/core/detail/minstd_rand.hpp>
|
||||||
|
|
||||||
namespace boost
|
|
||||||
{
|
|
||||||
namespace detail
|
|
||||||
{
|
|
||||||
|
|
||||||
class minstd_rand
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
|
|
||||||
boost::uint_least32_t x_;
|
|
||||||
|
|
||||||
enum { a = 48271, m = 2147483647 };
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
minstd_rand(): x_( 1 )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
explicit minstd_rand( boost::uint_least32_t x ): x_( x % m )
|
|
||||||
{
|
|
||||||
if( x_ == 0 )
|
|
||||||
{
|
|
||||||
x_ = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
boost::uint_least32_t operator()()
|
|
||||||
{
|
|
||||||
boost::uint_least64_t y = x_;
|
|
||||||
|
|
||||||
y = ( a * y ) % m;
|
|
||||||
|
|
||||||
x_ = static_cast<boost::uint_least32_t>( y );
|
|
||||||
|
|
||||||
return x_;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace detail
|
|
||||||
} // namespace boost
|
|
||||||
|
|
||||||
#endif // #ifndef BOOST_UTILITY_DETAIL_MINSTD_RAND_HPP_INCLUDED
|
#endif // #ifndef BOOST_UTILITY_DETAIL_MINSTD_RAND_HPP_INCLUDED
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
// contains. More details on these issues are at libs/utility/value_init.htm
|
// contains. More details on these issues are at libs/utility/value_init.htm
|
||||||
|
|
||||||
#include <boost/config.hpp> // For BOOST_NO_COMPLETE_VALUE_INITIALIZATION.
|
#include <boost/config.hpp> // For BOOST_NO_COMPLETE_VALUE_INITIALIZATION.
|
||||||
#include <boost/core/swap.hpp>
|
#include <boost/core/invoke_swap.hpp>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
// It is safe to ignore the following warning from MSVC 7.1 or higher:
|
// It is safe to ignore the following warning from MSVC 7.1 or higher:
|
||||||
// "warning C4351: new behavior: elements of array will be default initialized"
|
// "warning C4351: new behavior: elements of array will be default initialized"
|
||||||
#pragma warning(disable: 4351)
|
#pragma warning(disable: 4351)
|
||||||
// It is safe to ignore the following MSVC warning, which may pop up when T is
|
// It is safe to ignore the following MSVC warning, which may pop up when T is
|
||||||
// a const type: "warning C4512: assignment operator could not be generated".
|
// a const type: "warning C4512: assignment operator could not be generated".
|
||||||
#pragma warning(disable: 4512)
|
#pragma warning(disable: 4512)
|
||||||
#endif
|
#endif
|
||||||
@@ -40,8 +40,8 @@
|
|||||||
#ifndef BOOST_UTILITY_DOCS
|
#ifndef BOOST_UTILITY_DOCS
|
||||||
|
|
||||||
#ifdef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
#ifdef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||||
// Implementation detail: The macro BOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED
|
// Implementation detail: The macro BOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED
|
||||||
// suggests that a workaround should be applied, because of compiler issues
|
// suggests that a workaround should be applied, because of compiler issues
|
||||||
// regarding value-initialization.
|
// regarding value-initialization.
|
||||||
#define BOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED
|
#define BOOST_DETAIL_VALUE_INIT_WORKAROUND_SUGGESTED
|
||||||
#endif
|
#endif
|
||||||
@@ -117,7 +117,7 @@ class initialized
|
|||||||
BOOST_GPU_ENABLED
|
BOOST_GPU_ENABLED
|
||||||
void swap(initialized & arg)
|
void swap(initialized & arg)
|
||||||
{
|
{
|
||||||
::boost::swap( this->data(), arg.data() );
|
::boost::core::invoke_swap( this->data(), arg.data() );
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_GPU_ENABLED
|
BOOST_GPU_ENABLED
|
||||||
@@ -164,13 +164,13 @@ class value_initialized
|
|||||||
initialized<T> m_data;
|
initialized<T> m_data;
|
||||||
|
|
||||||
public :
|
public :
|
||||||
|
|
||||||
BOOST_GPU_ENABLED
|
BOOST_GPU_ENABLED
|
||||||
value_initialized()
|
value_initialized()
|
||||||
:
|
:
|
||||||
m_data()
|
m_data()
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
BOOST_GPU_ENABLED
|
BOOST_GPU_ENABLED
|
||||||
T const & data() const
|
T const & data() const
|
||||||
{
|
{
|
||||||
@@ -228,7 +228,7 @@ void swap ( value_initialized<T> & lhs, value_initialized<T> & rhs )
|
|||||||
class initialized_value_t
|
class initialized_value_t
|
||||||
{
|
{
|
||||||
public :
|
public :
|
||||||
|
|
||||||
template <class T> BOOST_GPU_ENABLED operator T() const
|
template <class T> BOOST_GPU_ENABLED operator T() const
|
||||||
{
|
{
|
||||||
return initialized<T>().data();
|
return initialized<T>().data();
|
||||||
|
|||||||
@@ -5,12 +5,9 @@
|
|||||||
"authors": [
|
"authors": [
|
||||||
"Dave Abrahams and others"
|
"Dave Abrahams and others"
|
||||||
],
|
],
|
||||||
"description": "Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom.",
|
"description": "Various utilities, such as base-from-member idiom and binary literals in C++03.",
|
||||||
"documentation": "utility.htm",
|
"documentation": "utility.htm",
|
||||||
"category": [
|
"category": [
|
||||||
"Algorithms",
|
|
||||||
"Function-objects",
|
|
||||||
"Memory",
|
|
||||||
"Miscellaneous",
|
"Miscellaneous",
|
||||||
"Patterns"
|
"Patterns"
|
||||||
],
|
],
|
||||||
@@ -35,7 +32,7 @@
|
|||||||
"authors": [
|
"authors": [
|
||||||
"John Maddock, Howard Hinnant, et al"
|
"John Maddock, Howard Hinnant, et al"
|
||||||
],
|
],
|
||||||
"description": "Empty member optimization.",
|
"description": "A pair class with empty member optimization.",
|
||||||
"documentation": "compressed_pair.htm",
|
"documentation": "compressed_pair.htm",
|
||||||
"category": [
|
"category": [
|
||||||
"Data",
|
"Data",
|
||||||
@@ -79,7 +76,7 @@
|
|||||||
"Dave Abrahams",
|
"Dave Abrahams",
|
||||||
"Jeremy Siek"
|
"Jeremy Siek"
|
||||||
],
|
],
|
||||||
"description": "Templates ease arithmetic classes and iterators.",
|
"description": "Templates to simplify operator definition in arithmetic classes and iterators.",
|
||||||
"documentation": "operators.htm",
|
"documentation": "operators.htm",
|
||||||
"category": [
|
"category": [
|
||||||
"Generic",
|
"Generic",
|
||||||
@@ -95,7 +92,7 @@
|
|||||||
"key": "utility/result_of",
|
"key": "utility/result_of",
|
||||||
"name": "Result Of",
|
"name": "Result Of",
|
||||||
"description": "Determines the type of a function call expression.",
|
"description": "Determines the type of a function call expression.",
|
||||||
"documentation": "utility.htm#result_of",
|
"documentation": "doc/html/utility/utilities/result_of.html",
|
||||||
"category": [
|
"category": [
|
||||||
"Function-objects"
|
"Function-objects"
|
||||||
],
|
],
|
||||||
@@ -106,12 +103,13 @@
|
|||||||
"cxxstd": "03"
|
"cxxstd": "03"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "utility/string_ref",
|
"key": "utility/string_view",
|
||||||
"name": "String Ref",
|
"name": "String View",
|
||||||
"description": "String view templates.",
|
"description": "String view templates.",
|
||||||
"documentation": "doc/html/string_ref.html",
|
"documentation": "doc/html/utility/utilities/string_view.html",
|
||||||
"category": [
|
"category": [
|
||||||
"Containers"
|
"Containers",
|
||||||
|
"String"
|
||||||
],
|
],
|
||||||
"authors": "Marshall Clow",
|
"authors": "Marshall Clow",
|
||||||
"maintainers": [
|
"maintainers": [
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// boost::compressed_pair test program
|
// boost::compressed_pair test program
|
||||||
|
|
||||||
// (C) Copyright John Maddock 2000.
|
// (C) Copyright John Maddock 2000.
|
||||||
// Use, modification and distribution are subject to the Boost Software License,
|
// Use, modification and distribution are subject to the Boost Software License,
|
||||||
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||||
// http://www.boost.org/LICENSE_1_0.txt).
|
// http://www.boost.org/LICENSE_1_0.txt).
|
||||||
@@ -45,7 +45,7 @@ struct contained
|
|||||||
|
|
||||||
// stored value:
|
// stored value:
|
||||||
value_type v_;
|
value_type v_;
|
||||||
|
|
||||||
// constructors:
|
// constructors:
|
||||||
contained() {}
|
contained() {}
|
||||||
contained(param_type p) : v_(p){}
|
contained(param_type p) : v_(p){}
|
||||||
@@ -197,11 +197,11 @@ struct comparible_UDT
|
|||||||
comparible_UDT() : i_(2){}
|
comparible_UDT() : i_(2){}
|
||||||
comparible_UDT(const comparible_UDT& other) : i_(other.i_){}
|
comparible_UDT(const comparible_UDT& other) : i_(other.i_){}
|
||||||
comparible_UDT& operator=(const comparible_UDT& other)
|
comparible_UDT& operator=(const comparible_UDT& other)
|
||||||
{
|
{
|
||||||
i_ = other.i_;
|
i_ = other.i_;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
bool operator == (const comparible_UDT& v){ return v.i_ == i_; }
|
bool operator == (const comparible_UDT& v) const { return v.i_ == i_; }
|
||||||
};
|
};
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
@@ -339,7 +339,7 @@ void call_traits_test<T, isarray>::assert_construct(typename call_traits_test<T,
|
|||||||
param_type p2(v);
|
param_type p2(v);
|
||||||
param_type p3(r);
|
param_type p3(r);
|
||||||
param_type p4(p);
|
param_type p4(p);
|
||||||
|
|
||||||
unused_variable(v2);
|
unused_variable(v2);
|
||||||
unused_variable(v3);
|
unused_variable(v3);
|
||||||
unused_variable(v4);
|
unused_variable(v4);
|
||||||
@@ -388,7 +388,7 @@ void call_traits_test<T, true>::assert_construct(typename boost::call_traits<T>:
|
|||||||
param_type p2(v);
|
param_type p2(v);
|
||||||
param_type p3(r);
|
param_type p3(r);
|
||||||
param_type p4(p);
|
param_type p4(p);
|
||||||
|
|
||||||
unused_variable(v2);
|
unused_variable(v2);
|
||||||
unused_variable(v3);
|
unused_variable(v3);
|
||||||
unused_variable(v4);
|
unused_variable(v4);
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
#pragma hdrstop
|
#pragma hdrstop
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <boost/core/invoke_swap.hpp>
|
||||||
#include <boost/core/lightweight_test.hpp>
|
#include <boost/core/lightweight_test.hpp>
|
||||||
#include <boost/config/workaround.hpp>
|
#include <boost/config/workaround.hpp>
|
||||||
|
|
||||||
@@ -360,7 +361,7 @@ int main()
|
|||||||
boost::value_initialized<SwapFunctionCallTester> swapFunctionCallTester2;
|
boost::value_initialized<SwapFunctionCallTester> swapFunctionCallTester2;
|
||||||
get(swapFunctionCallTester1).data = 1;
|
get(swapFunctionCallTester1).data = 1;
|
||||||
get(swapFunctionCallTester2).data = 2;
|
get(swapFunctionCallTester2).data = 2;
|
||||||
boost::swap(swapFunctionCallTester1, swapFunctionCallTester2);
|
boost::core::invoke_swap(swapFunctionCallTester1, swapFunctionCallTester2);
|
||||||
BOOST_TEST( get(swapFunctionCallTester1).data == 2 );
|
BOOST_TEST( get(swapFunctionCallTester1).data == 2 );
|
||||||
BOOST_TEST( get(swapFunctionCallTester2).data == 1 );
|
BOOST_TEST( get(swapFunctionCallTester2).data == 1 );
|
||||||
BOOST_TEST( get(swapFunctionCallTester1).is_custom_swap_called );
|
BOOST_TEST( get(swapFunctionCallTester1).is_custom_swap_called );
|
||||||
|
|||||||
Reference in New Issue
Block a user