mirror of
https://github.com/boostorg/container_hash.git
synced 2026-05-28 19:42:47 +02:00
Compare commits
12 Commits
boost-1.91.0
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
| 2698b43803 | |||
| c745320880 | |||
| e32dbe5013 | |||
| 1e51179fc7 | |||
| 3e27ff182c | |||
| 68fabb1a8e | |||
| 8d5ae8536f | |||
| e3cbbebc8a | |||
| 12f8284c1a | |||
| 07fdcf16cb | |||
| bd3084a1c9 | |||
| 3a0f818eb8 |
+62
-24
@@ -34,7 +34,6 @@ local linux_pipeline(name, image, environment, packages = "", sources = [], arch
|
|||||||
'set -e',
|
'set -e',
|
||||||
'uname -a',
|
'uname -a',
|
||||||
'echo $DRONE_STAGE_MACHINE',
|
'echo $DRONE_STAGE_MACHINE',
|
||||||
'wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -',
|
|
||||||
] +
|
] +
|
||||||
(if sources != [] then [ 'apt-get update' ] + [ ('apt-add-repository "' + source + '"') for source in sources ] else []) +
|
(if sources != [] then [ 'apt-get update' ] + [ ('apt-add-repository "' + source + '"') for source in sources ] else []) +
|
||||||
(if packages != "" then [ 'apt-get update', 'apt-get -y install ' + packages ] else []) +
|
(if packages != "" then [ 'apt-get update', 'apt-get -y install ' + packages ] else []) +
|
||||||
@@ -103,7 +102,6 @@ local windows_pipeline(name, image, environment, arch = "amd64") =
|
|||||||
"cppalliance/droneubuntu1404:1",
|
"cppalliance/droneubuntu1404:1",
|
||||||
{ TOOLSET: 'gcc', COMPILER: 'g++-4.7', CXXSTD: '0x', ADDRMD: '32,64' },
|
{ TOOLSET: 'gcc', COMPILER: 'g++-4.7', CXXSTD: '0x', ADDRMD: '32,64' },
|
||||||
"g++-4.7-multilib",
|
"g++-4.7-multilib",
|
||||||
[ "ppa:ubuntu-toolchain-r/test" ],
|
|
||||||
),
|
),
|
||||||
|
|
||||||
linux_pipeline(
|
linux_pipeline(
|
||||||
@@ -113,11 +111,10 @@ local windows_pipeline(name, image, environment, arch = "amd64") =
|
|||||||
),
|
),
|
||||||
|
|
||||||
linux_pipeline(
|
linux_pipeline(
|
||||||
"Linux 14.04 GCC 4.9 32/64",
|
"Linux 16.04 GCC 4.9 32/64",
|
||||||
"cppalliance/droneubuntu1404:1",
|
"cppalliance/droneubuntu1604:1",
|
||||||
{ TOOLSET: 'gcc', COMPILER: 'g++-4.9', CXXSTD: '11', ADDRMD: '32,64' },
|
{ TOOLSET: 'gcc', COMPILER: 'g++-4.9', CXXSTD: '11', ADDRMD: '32,64' },
|
||||||
"g++-4.9-multilib",
|
"g++-4.9-multilib",
|
||||||
[ "ppa:ubuntu-toolchain-r/test" ],
|
|
||||||
),
|
),
|
||||||
|
|
||||||
linux_pipeline(
|
linux_pipeline(
|
||||||
@@ -214,6 +211,27 @@ local windows_pipeline(name, image, environment, arch = "amd64") =
|
|||||||
"g++-14-multilib",
|
"g++-14-multilib",
|
||||||
),
|
),
|
||||||
|
|
||||||
|
linux_pipeline(
|
||||||
|
"Linux 26.04 GCC 15 UBSAN",
|
||||||
|
"cppalliance/droneubuntu2604:1",
|
||||||
|
{ TOOLSET: 'gcc', COMPILER: 'g++-15', CXXSTD: '11,14,17,20,23,2c' } + ubsan,
|
||||||
|
"g++-15-multilib",
|
||||||
|
),
|
||||||
|
|
||||||
|
linux_pipeline(
|
||||||
|
"Linux 26.04 GCC 15 ASAN",
|
||||||
|
"cppalliance/droneubuntu2604:1",
|
||||||
|
{ TOOLSET: 'gcc', COMPILER: 'g++-15', CXXSTD: '11,14,17,20,23,2c' } + asan,
|
||||||
|
"g++-15-multilib",
|
||||||
|
),
|
||||||
|
|
||||||
|
linux_pipeline(
|
||||||
|
"Linux 26.04 GCC 16",
|
||||||
|
"cppalliance/droneubuntu2604:1",
|
||||||
|
{ TOOLSET: 'gcc', COMPILER: 'g++-16', CXXSTD: '11,14,17,20,23,2c' },
|
||||||
|
"g++-16-multilib",
|
||||||
|
),
|
||||||
|
|
||||||
linux_pipeline(
|
linux_pipeline(
|
||||||
"Linux 16.04 Clang 3.5",
|
"Linux 16.04 Clang 3.5",
|
||||||
"cppalliance/droneubuntu1604:1",
|
"cppalliance/droneubuntu1604:1",
|
||||||
@@ -341,40 +359,54 @@ local windows_pipeline(name, image, environment, arch = "amd64") =
|
|||||||
),
|
),
|
||||||
|
|
||||||
linux_pipeline(
|
linux_pipeline(
|
||||||
"Linux 24.04 Clang 17 UBSAN",
|
"Linux 24.04 Clang 17",
|
||||||
"cppalliance/droneubuntu2404:1",
|
"cppalliance/droneubuntu2404:1",
|
||||||
{ TOOLSET: 'clang', COMPILER: 'clang++-17', CXXSTD: '11,14,17,20,2b' } + ubsan,
|
{ TOOLSET: 'clang', COMPILER: 'clang++-17', CXXSTD: '11,14,17,20,2b' },
|
||||||
"clang-17",
|
"clang-17",
|
||||||
),
|
),
|
||||||
|
|
||||||
linux_pipeline(
|
linux_pipeline(
|
||||||
"Linux 24.04 Clang 17 ASAN",
|
"Linux 24.04 Clang 18",
|
||||||
"cppalliance/droneubuntu2404:1",
|
"cppalliance/droneubuntu2404:1",
|
||||||
{ TOOLSET: 'clang', COMPILER: 'clang++-17', CXXSTD: '11,14,17,20,2b' } + asan,
|
{ TOOLSET: 'clang', COMPILER: 'clang++-18', CXXSTD: '11,14,17,20,2b' },
|
||||||
"clang-17",
|
|
||||||
),
|
|
||||||
|
|
||||||
linux_pipeline(
|
|
||||||
"Linux 24.04 Clang 18 UBSAN",
|
|
||||||
"cppalliance/droneubuntu2404:1",
|
|
||||||
{ TOOLSET: 'clang', COMPILER: 'clang++-18', CXXSTD: '11,14,17,20,2b' } + ubsan,
|
|
||||||
"clang-18",
|
"clang-18",
|
||||||
),
|
),
|
||||||
|
|
||||||
linux_pipeline(
|
linux_pipeline(
|
||||||
"Linux 24.04 Clang 18 ASAN",
|
"Linux 24.04 Clang 19",
|
||||||
"cppalliance/droneubuntu2404:1",
|
"cppalliance/droneubuntu2404:1",
|
||||||
{ TOOLSET: 'clang', COMPILER: 'clang++-18', CXXSTD: '11,14,17,20,2b' } + asan,
|
|
||||||
"clang-18",
|
|
||||||
),
|
|
||||||
|
|
||||||
linux_pipeline(
|
|
||||||
"Linux 24.10 Clang 19",
|
|
||||||
"cppalliance/droneubuntu2410:1",
|
|
||||||
{ TOOLSET: 'clang', COMPILER: 'clang++-19', CXXSTD: '11,14,17,20,2b' },
|
{ TOOLSET: 'clang', COMPILER: 'clang++-19', CXXSTD: '11,14,17,20,2b' },
|
||||||
"clang-19",
|
"clang-19",
|
||||||
),
|
),
|
||||||
|
|
||||||
|
linux_pipeline(
|
||||||
|
"Linux 24.04 Clang 20 UBSAN",
|
||||||
|
"cppalliance/droneubuntu2404:1",
|
||||||
|
{ TOOLSET: 'clang', COMPILER: 'clang++-20', CXXSTD: '11,14,17,20,23,2c' } + ubsan,
|
||||||
|
"clang-20",
|
||||||
|
),
|
||||||
|
|
||||||
|
linux_pipeline(
|
||||||
|
"Linux 24.04 Clang 20 ASAN",
|
||||||
|
"cppalliance/droneubuntu2404:1",
|
||||||
|
{ TOOLSET: 'clang', COMPILER: 'clang++-20', CXXSTD: '11,14,17,20,23,2c' } + asan,
|
||||||
|
"clang-20",
|
||||||
|
),
|
||||||
|
|
||||||
|
linux_pipeline(
|
||||||
|
"Linux 26.04 Clang 21",
|
||||||
|
"cppalliance/droneubuntu2604:1",
|
||||||
|
{ TOOLSET: 'clang', COMPILER: 'clang++-21', CXXSTD: '11,14,17,20,23,2c' },
|
||||||
|
"clang-21",
|
||||||
|
),
|
||||||
|
|
||||||
|
linux_pipeline(
|
||||||
|
"Linux 26.04 Clang 22",
|
||||||
|
"cppalliance/droneubuntu2604:1",
|
||||||
|
{ TOOLSET: 'clang', COMPILER: 'clang++-22', CXXSTD: '11,14,17,20,23,2c' },
|
||||||
|
"clang-22",
|
||||||
|
),
|
||||||
|
|
||||||
macos_pipeline(
|
macos_pipeline(
|
||||||
"MacOS 10.15 Xcode 12.2 UBSAN",
|
"MacOS 10.15 Xcode 12.2 UBSAN",
|
||||||
{ TOOLSET: 'clang', COMPILER: 'clang++', CXXSTD: '11,14,17,2a' } + ubsan,
|
{ TOOLSET: 'clang', COMPILER: 'clang++', CXXSTD: '11,14,17,2a' } + ubsan,
|
||||||
@@ -420,4 +452,10 @@ local windows_pipeline(name, image, environment, arch = "amd64") =
|
|||||||
"cppalliance/dronevs2022:1",
|
"cppalliance/dronevs2022:1",
|
||||||
{ TOOLSET: 'msvc-14.3', CXXSTD: '14,17,20,latest' },
|
{ TOOLSET: 'msvc-14.3', CXXSTD: '14,17,20,latest' },
|
||||||
),
|
),
|
||||||
|
|
||||||
|
windows_pipeline(
|
||||||
|
"Windows VS2026 msvc-14.5",
|
||||||
|
"cppalliance/dronevs2026:1",
|
||||||
|
{ TOOLSET: 'msvc-14.5', CXXSTD: '14,17,20,latest' },
|
||||||
|
),
|
||||||
]
|
]
|
||||||
|
|||||||
+53
-88
@@ -17,24 +17,6 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- toolset: gcc-4.8
|
|
||||||
cxxstd: "11"
|
|
||||||
container: ubuntu:18.04
|
|
||||||
os: ubuntu-latest
|
|
||||||
install: g++-4.8-multilib
|
|
||||||
address-model: 32,64
|
|
||||||
- toolset: gcc-5
|
|
||||||
cxxstd: "11,14,1z"
|
|
||||||
container: ubuntu:18.04
|
|
||||||
os: ubuntu-latest
|
|
||||||
install: g++-5-multilib
|
|
||||||
address-model: 32,64
|
|
||||||
- toolset: gcc-6
|
|
||||||
cxxstd: "11,14,1z"
|
|
||||||
container: ubuntu:18.04
|
|
||||||
os: ubuntu-latest
|
|
||||||
install: g++-6-multilib
|
|
||||||
address-model: 32,64
|
|
||||||
- toolset: gcc-7
|
- toolset: gcc-7
|
||||||
cxxstd: "11,14,17"
|
cxxstd: "11,14,17"
|
||||||
container: ubuntu:20.04
|
container: ubuntu:20.04
|
||||||
@@ -55,17 +37,20 @@ jobs:
|
|||||||
address-model: 32,64
|
address-model: 32,64
|
||||||
- toolset: gcc-10
|
- toolset: gcc-10
|
||||||
cxxstd: "11,14,17,2a"
|
cxxstd: "11,14,17,2a"
|
||||||
os: ubuntu-22.04
|
container: ubuntu:22.04
|
||||||
|
os: ubuntu-latest
|
||||||
install: g++-10-multilib
|
install: g++-10-multilib
|
||||||
address-model: 32,64
|
address-model: 32,64
|
||||||
- toolset: gcc-11
|
- toolset: gcc-11
|
||||||
cxxstd: "11,14,17,20"
|
cxxstd: "11,14,17,20"
|
||||||
os: ubuntu-22.04
|
container: ubuntu:22.04
|
||||||
|
os: ubuntu-latest
|
||||||
install: g++-11-multilib
|
install: g++-11-multilib
|
||||||
address-model: 32,64
|
address-model: 32,64
|
||||||
- toolset: gcc-12
|
- toolset: gcc-12
|
||||||
cxxstd: "11,14,17,20,2b"
|
cxxstd: "11,14,17,20,2b"
|
||||||
os: ubuntu-22.04
|
container: ubuntu:22.04
|
||||||
|
os: ubuntu-latest
|
||||||
install: g++-12-multilib
|
install: g++-12-multilib
|
||||||
address-model: 32,64
|
address-model: 32,64
|
||||||
- toolset: gcc-13
|
- toolset: gcc-13
|
||||||
@@ -82,28 +67,16 @@ jobs:
|
|||||||
address-model: 32,64
|
address-model: 32,64
|
||||||
- toolset: gcc-15
|
- toolset: gcc-15
|
||||||
cxxstd: "11,14,17,20,23,2c"
|
cxxstd: "11,14,17,20,23,2c"
|
||||||
container: ubuntu:25.04
|
container: ubuntu:26.04
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
install: g++-15-multilib
|
install: g++-15-multilib
|
||||||
address-model: 32,64
|
address-model: 32,64
|
||||||
- toolset: clang
|
- toolset: gcc-16
|
||||||
compiler: clang++-3.9
|
cxxstd: "11,14,17,20,23,2c"
|
||||||
cxxstd: "11,14"
|
container: ubuntu:26.04
|
||||||
container: ubuntu:18.04
|
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
install: clang-3.9
|
install: g++-16-multilib
|
||||||
- toolset: clang
|
address-model: 32,64
|
||||||
compiler: clang++-4.0
|
|
||||||
cxxstd: "11,14"
|
|
||||||
container: ubuntu:18.04
|
|
||||||
os: ubuntu-latest
|
|
||||||
install: clang-4.0
|
|
||||||
- toolset: clang
|
|
||||||
compiler: clang++-5.0
|
|
||||||
cxxstd: "11,14,1z"
|
|
||||||
container: ubuntu:18.04
|
|
||||||
os: ubuntu-latest
|
|
||||||
install: clang-5.0
|
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-6.0
|
compiler: clang++-6.0
|
||||||
cxxstd: "11,14,17"
|
cxxstd: "11,14,17"
|
||||||
@@ -191,26 +164,33 @@ jobs:
|
|||||||
- toolset: clang
|
- toolset: clang
|
||||||
compiler: clang++-20
|
compiler: clang++-20
|
||||||
cxxstd: "11,14,17,20,23,2c"
|
cxxstd: "11,14,17,20,23,2c"
|
||||||
container: ubuntu:25.04
|
container: ubuntu:24.04
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
install: clang-20
|
install: clang-20
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
cxxstd: "11,14,17,20,2b"
|
compiler: clang++-21
|
||||||
os: macos-13
|
cxxstd: "11,14,17,20,23,2c"
|
||||||
|
container: ubuntu:26.04
|
||||||
|
os: ubuntu-latest
|
||||||
|
install: clang-21
|
||||||
|
- toolset: clang
|
||||||
|
compiler: clang++-22
|
||||||
|
cxxstd: "11,14,17,20,23,2c"
|
||||||
|
container: ubuntu:26.04
|
||||||
|
os: ubuntu-latest
|
||||||
|
install: clang-22
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
cxxstd: "11,14,17,20,2b"
|
cxxstd: "11,14,17,20,2b"
|
||||||
os: macos-14
|
os: macos-14
|
||||||
- toolset: clang
|
- toolset: clang
|
||||||
cxxstd: "11,14,17,20,2b"
|
cxxstd: "11,14,17,20,2b"
|
||||||
os: macos-15
|
os: macos-15
|
||||||
|
- toolset: clang
|
||||||
|
cxxstd: "11,14,17,20,23,2c"
|
||||||
|
os: macos-26
|
||||||
|
|
||||||
runs-on: ${{matrix.os}}
|
runs-on: ${{matrix.os}}
|
||||||
|
container: ${{matrix.container}}
|
||||||
container:
|
|
||||||
image: ${{matrix.container}}
|
|
||||||
volumes:
|
|
||||||
- /node20217:/node20217:rw,rshared
|
|
||||||
- ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20217:/__e/node20:ro,rshared' || ' ' }}
|
|
||||||
|
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
@@ -223,14 +203,7 @@ jobs:
|
|||||||
apt-get update
|
apt-get update
|
||||||
apt-get -y install sudo python3 git g++ curl xz-utils
|
apt-get -y install sudo python3 git g++ curl xz-utils
|
||||||
|
|
||||||
- name: Install nodejs20glibc2.17
|
- uses: actions/checkout@v6
|
||||||
if: ${{ startsWith( matrix.container, 'ubuntu:1' ) }}
|
|
||||||
run: |
|
|
||||||
curl -LO https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz
|
|
||||||
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
|
|
||||||
ldd /__e/node20/bin/node
|
|
||||||
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
if: matrix.install
|
if: matrix.install
|
||||||
@@ -281,19 +254,23 @@ jobs:
|
|||||||
cxxstd: "14,17,20,latest"
|
cxxstd: "14,17,20,latest"
|
||||||
addrmd: 32,64
|
addrmd: 32,64
|
||||||
os: windows-2022
|
os: windows-2022
|
||||||
- toolset: clang-win
|
- toolset: msvc-14.5
|
||||||
cxxstd: "14,17,latest"
|
cxxstd: "14,17,20,latest"
|
||||||
addrmd: 32,64
|
addrmd: 32,64
|
||||||
os: windows-2022
|
os: windows-2025-vs2026
|
||||||
|
- toolset: clang-win
|
||||||
|
cxxstd: "14,17,20,latest"
|
||||||
|
addrmd: 32,64
|
||||||
|
os: windows-2025
|
||||||
- toolset: gcc
|
- toolset: gcc
|
||||||
cxxstd: "11,14,17,2a"
|
cxxstd: "11,14,17,2a"
|
||||||
addrmd: 64
|
addrmd: 64
|
||||||
os: windows-2022
|
os: windows-2025
|
||||||
|
|
||||||
runs-on: ${{matrix.os}}
|
runs-on: ${{matrix.os}}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Setup Boost
|
- name: Setup Boost
|
||||||
shell: cmd
|
shell: cmd
|
||||||
@@ -329,16 +306,13 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-22.04
|
- os: ubuntu-latest
|
||||||
- os: ubuntu-24.04
|
- os: macos-latest
|
||||||
- os: macos-13
|
|
||||||
- os: macos-14
|
|
||||||
- os: macos-15
|
|
||||||
|
|
||||||
runs-on: ${{matrix.os}}
|
runs-on: ${{matrix.os}}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
if: matrix.install
|
if: matrix.install
|
||||||
@@ -377,16 +351,13 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-22.04
|
- os: ubuntu-latest
|
||||||
- os: ubuntu-24.04
|
- os: macos-latest
|
||||||
- os: macos-13
|
|
||||||
- os: macos-14
|
|
||||||
- os: macos-15
|
|
||||||
|
|
||||||
runs-on: ${{matrix.os}}
|
runs-on: ${{matrix.os}}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
if: matrix.install
|
if: matrix.install
|
||||||
@@ -435,16 +406,13 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-22.04
|
- os: ubuntu-latest
|
||||||
- os: ubuntu-24.04
|
- os: macos-latest
|
||||||
- os: macos-13
|
|
||||||
- os: macos-14
|
|
||||||
- os: macos-15
|
|
||||||
|
|
||||||
runs-on: ${{matrix.os}}
|
runs-on: ${{matrix.os}}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Install packages
|
- name: Install packages
|
||||||
if: matrix.install
|
if: matrix.install
|
||||||
@@ -491,13 +459,12 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: windows-2022
|
- os: windows-latest
|
||||||
- os: windows-2025
|
|
||||||
|
|
||||||
runs-on: ${{matrix.os}}
|
runs-on: ${{matrix.os}}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Setup Boost
|
- name: Setup Boost
|
||||||
shell: cmd
|
shell: cmd
|
||||||
@@ -540,13 +507,12 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: windows-2022
|
- os: windows-latest
|
||||||
- os: windows-2025
|
|
||||||
|
|
||||||
runs-on: ${{matrix.os}}
|
runs-on: ${{matrix.os}}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Setup Boost
|
- name: Setup Boost
|
||||||
shell: cmd
|
shell: cmd
|
||||||
@@ -607,13 +573,12 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: windows-2022
|
- os: windows-latest
|
||||||
- os: windows-2025
|
|
||||||
|
|
||||||
runs-on: ${{matrix.os}}
|
runs-on: ${{matrix.os}}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v6
|
||||||
|
|
||||||
- name: Setup Boost
|
- name: Setup Boost
|
||||||
shell: cmd
|
shell: cmd
|
||||||
|
|||||||
@@ -8,6 +8,10 @@ https://www.boost.org/LICENSE_1_0.txt
|
|||||||
= Recent Changes
|
= Recent Changes
|
||||||
:idprefix: recent_
|
:idprefix: recent_
|
||||||
|
|
||||||
|
== Boost 1.92.0
|
||||||
|
|
||||||
|
* Hashing a valueless `std::variant` instance no longer throws.
|
||||||
|
|
||||||
== Boost 1.89.0
|
== Boost 1.89.0
|
||||||
|
|
||||||
* Added the `hash_is_avalanching` trait class.
|
* Added the `hash_is_avalanching` trait class.
|
||||||
|
|||||||
@@ -455,7 +455,11 @@ namespace boost
|
|||||||
std::size_t seed = 0;
|
std::size_t seed = 0;
|
||||||
|
|
||||||
hash_combine( seed, v.index() );
|
hash_combine( seed, v.index() );
|
||||||
std::visit( [&seed](auto&& x) { hash_combine(seed, x); }, v );
|
|
||||||
|
if( !v.valueless_by_exception() )
|
||||||
|
{
|
||||||
|
std::visit( [&seed](auto&& x) { hash_combine(seed, x); }, v );
|
||||||
|
}
|
||||||
|
|
||||||
return seed;
|
return seed;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -135,3 +135,5 @@ run hash_tuple_like_test2.cpp
|
|||||||
|
|
||||||
run is_range_test4.cpp ;
|
run is_range_test4.cpp ;
|
||||||
run hash_container_test2.cpp ;
|
run hash_container_test2.cpp ;
|
||||||
|
|
||||||
|
run hash_variant_test2.cpp ;
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
// Copyright 2026 Peter Dimov
|
||||||
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
|
// https://www.boost.org/LICENSE_1_0.txt
|
||||||
|
|
||||||
|
#include <boost/container_hash/hash.hpp>
|
||||||
|
#include <boost/config.hpp>
|
||||||
|
#include <boost/config/pragma_message.hpp>
|
||||||
|
|
||||||
|
#if defined(BOOST_NO_CXX17_HDR_VARIANT)
|
||||||
|
|
||||||
|
BOOST_PRAGMA_MESSAGE( "Skipping test because BOOST_NO_CXX17_HDR_VARIANT is defined" )
|
||||||
|
int main() {}
|
||||||
|
|
||||||
|
#elif defined(BOOST_CLANG_VERSION) && BOOST_CLANG_VERSION < 70100
|
||||||
|
|
||||||
|
BOOST_PRAGMA_MESSAGE( "Skipping test because BOOST_CLANG_VERSION < 70100" )
|
||||||
|
int main() {}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#include <boost/core/lightweight_test.hpp>
|
||||||
|
#include <variant>
|
||||||
|
#include <set>
|
||||||
|
|
||||||
|
struct X
|
||||||
|
{
|
||||||
|
operator std::set<float>() const { throw 5; }
|
||||||
|
};
|
||||||
|
|
||||||
|
using V = std::variant<std::set<int>, std::set<float>>;
|
||||||
|
|
||||||
|
V make_valueless_variant()
|
||||||
|
{
|
||||||
|
V v;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
v.emplace<1>( X() );
|
||||||
|
}
|
||||||
|
catch( int )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOST_TEST( v.valueless_by_exception() );
|
||||||
|
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
V v1, v2 = make_valueless_variant();
|
||||||
|
|
||||||
|
BOOST_TEST_NE( (boost::hash<V>()( v1 )), (boost::hash<V>()( v2 )) );
|
||||||
|
|
||||||
|
return boost::report_errors();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user