Skip to content

Commit 95e411a

Browse files
authored
Merge pull request #902 from cppalliance/develop
Merge to master for 4.0.0
2 parents 1a300d3 + fe8207f commit 95e411a

File tree

180 files changed

+13888
-5247
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

180 files changed

+13888
-5247
lines changed

.drone.jsonnet

Lines changed: 25 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Copyright 2022, 2023 Peter Dimov
2+
# Copyright 2024, 2025 Matt Borland
23
# Distributed under the Boost Software License, Version 1.0.
34
# https://www.boost.org/LICENSE_1_0.txt
45

@@ -23,6 +24,9 @@ local linux_pipeline(name, image, environment, packages = "", sources = [], arch
2324
os: "linux",
2425
arch: arch
2526
},
27+
"clone": {
28+
"retries": 5
29+
},
2630
steps:
2731
[
2832
{
@@ -195,9 +199,16 @@ local windows_pipeline(name, image, environment, arch = "amd64") =
195199
),
196200

197201
linux_pipeline(
198-
"Linux 24.04 GCC 13 32/64",
202+
"Linux 24.04 GCC 13 32",
203+
"cppalliance/droneubuntu2404:1",
204+
{ TOOLSET: 'gcc', COMPILER: 'g++-13', CXXSTD: '03,11,14,17,20,23', ADDRMD: '32', CXXFLAGS: "-fexcess-precision=fast" },
205+
"g++-13-multilib",
206+
),
207+
208+
linux_pipeline(
209+
"Linux 24.04 GCC 13 64",
199210
"cppalliance/droneubuntu2404:1",
200-
{ TOOLSET: 'gcc', COMPILER: 'g++-13', CXXSTD: '03,11,14,17,20,23', ADDRMD: '32,64', CXXFLAGS: "-fexcess-precision=fast" },
211+
{ TOOLSET: 'gcc', COMPILER: 'g++-13', CXXSTD: '03,11,14,17,20,23', ADDRMD: '64', CXXFLAGS: "-fexcess-precision=fast" },
201212
"g++-13-multilib",
202213
),
203214

@@ -243,34 +254,6 @@ local windows_pipeline(name, image, environment, arch = "amd64") =
243254
"g++-14-multilib",
244255
),
245256

246-
linux_pipeline(
247-
"Linux 18.04 GCC 7* 32 03",
248-
"cppalliance/droneubuntu1804:1",
249-
{ TOOLSET: 'gcc', COMPILER: 'g++', CXXSTD: '03', ADDRMD: '32' },
250-
"nload",
251-
),
252-
253-
linux_pipeline(
254-
"Linux 18.04 GCC 7* 32 11",
255-
"cppalliance/droneubuntu1804:1",
256-
{ TOOLSET: 'gcc', COMPILER: 'g++', CXXSTD: '11', ADDRMD: '32' },
257-
"nload",
258-
),
259-
260-
linux_pipeline(
261-
"Linux 18.04 GCC 7* 32 14",
262-
"cppalliance/droneubuntu1804:1",
263-
{ TOOLSET: 'gcc', COMPILER: 'g++', CXXSTD: '14', ADDRMD: '32' },
264-
"nload",
265-
),
266-
267-
linux_pipeline(
268-
"Linux 18.04 GCC 7* 32 17",
269-
"cppalliance/droneubuntu1804:1",
270-
{ TOOLSET: 'gcc', COMPILER: 'g++', CXXSTD: '17', ADDRMD: '32' },
271-
"nload",
272-
),
273-
274257
linux_pipeline(
275258
"Linux 18.04 GCC 7* 64 03",
276259
"cppalliance/droneubuntu1804:1",
@@ -401,16 +384,20 @@ local windows_pipeline(name, image, environment, arch = "amd64") =
401384
["deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-18 main"],
402385
),
403386

404-
macos_pipeline(
405-
"MacOS 12.4 Xcode 13.4.1 UBSAN",
406-
{ TOOLSET: 'clang', COMPILER: 'clang++', CXXSTD: '03,11,14,17,20,2b' } + ubsan,
407-
xcode_version = "13.4.1", osx_version = "monterey", arch = "arm64",
387+
linux_pipeline(
388+
"Linux 24.04 Clang 19",
389+
"cppalliance/droneubuntu2404:1",
390+
{ TOOLSET: 'clang', COMPILER: 'clang++-19', CXXSTD: '03,11,14,17,20,2b' },
391+
"clang-19",
392+
["deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-19 main"],
408393
),
409394

410-
macos_pipeline(
411-
"MacOS 12.4 Xcode 13.4.1 ASAN",
412-
{ TOOLSET: 'clang', COMPILER: 'clang++', CXXSTD: '03,11,14,17,20,2b' } + asan,
413-
xcode_version = "13.4.1", osx_version = "monterey", arch = "arm64",
395+
linux_pipeline(
396+
"Linux 24.04 Clang 20",
397+
"cppalliance/droneubuntu2404:1",
398+
{ TOOLSET: 'clang', COMPILER: 'clang++-20', CXXSTD: '03,11,14,17,20,2b' },
399+
"clang-20",
400+
["deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-20 main"],
414401
),
415402

416403
windows_pipeline(

.github/workflows/ci.yml

Lines changed: 66 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
include:
3737
- toolset: gcc-7
3838
cxxstd: "03,11,14,17"
39-
address_model: 32,64
39+
address_model: 64
4040
os: ubuntu-latest
4141
container: ubuntu:18.04
4242
install:
@@ -51,31 +51,36 @@ jobs:
5151
- toolset: gcc-9
5252
cxxstd: "03,11,14,17,2a"
5353
address_model: 32,64
54-
os: ubuntu-20.04
54+
os: ubuntu-latest
55+
container: ubuntu:20.04
5556
install:
5657
- g++-9-multilib
5758
- toolset: gcc-9
5859
cxxstd: "03-gnu,11-gnu,14-gnu,17-gnu,2a-gnu"
5960
address_model: 32,64
60-
os: ubuntu-20.04
61+
os: ubuntu-latest
62+
container: ubuntu:20.04
6163
install:
6264
- g++-9-multilib
6365
- toolset: gcc-10
6466
cxxstd: "03,11,14,17,20"
6567
address_model: 32,64
66-
os: ubuntu-20.04
68+
os: ubuntu-latest
69+
container: ubuntu:20.04
6770
install:
6871
- g++-10-multilib
6972
- toolset: gcc-11
7073
cxxstd: "03,11,14,17,20,23"
7174
address_model: 32,64
72-
os: ubuntu-22.04
75+
os: ubuntu-latest
76+
container: ubuntu:22.04
7377
install:
7478
- g++-11-multilib
7579
- toolset: gcc-12
7680
cxxstd: "03,11,14,17,20,23"
7781
address_model: 32,64
78-
os: ubuntu-22.04
82+
os: ubuntu-latest
83+
container: ubuntu:22.04
7984
install:
8085
- g++-12-multilib
8186
# Disabled for now. 22.04 dropped support and 24.04 has internal errors
@@ -89,31 +94,40 @@ jobs:
8994
- toolset: gcc-12
9095
cxxstd: "03-gnu,11-gnu,14-gnu,17-gnu,20-gnu,23-gnu"
9196
address_model: "32"
92-
os: ubuntu-22.04
97+
os: ubuntu-latest
98+
container: ubuntu:22.04
9399
install:
94100
- g++-12-multilib
95101
- toolset: gcc-12
96102
cxxstd: "03-gnu,11-gnu,14-gnu,17-gnu,20-gnu,23-gnu"
97103
address_model: "64"
98-
os: ubuntu-22.04
104+
os: ubuntu-latest
105+
container: ubuntu:22.04
99106
install:
100107
- g++-12-multilib
101-
- name: 32-bit UBSAN
102-
toolset: gcc-12
103-
cxxstd: "03,11,14,17,20,23"
108+
- toolset: gcc-14
109+
cxxstd: "03,11,14,17,20,23,2c"
110+
address_model: "64"
111+
os: ubuntu-latest
112+
container: ubuntu:24.04
113+
install:
114+
- g++-14-multilib
115+
- toolset: gcc-14
116+
cxxstd: "03,11,14,17,20,23,2c"
104117
address_model: "32"
105-
ubsan: 1
106-
os: ubuntu-22.04
118+
os: ubuntu-latest
119+
container: ubuntu:24.04
107120
install:
108-
- g++-12-multilib
121+
- g++-14-multilib
109122
- name: 64-bit UBSAN
110-
toolset: gcc-12
111-
cxxstd: "03,11,14,17,20,23"
123+
toolset: gcc-14
124+
cxxstd: "03,11,14,17,20,23,2c"
112125
address_model: "64"
113126
ubsan: 1
114-
os: ubuntu-22.04
127+
os: ubuntu-latest
128+
container: ubuntu:24.04
115129
install:
116-
- g++-12-multilib
130+
- g++-14-multilib
117131

118132
# Linux, clang
119133
- toolset: clang
@@ -143,49 +157,57 @@ jobs:
143157
- toolset: clang
144158
compiler: clang++-9
145159
cxxstd: "03,11,14,17,2a"
146-
os: ubuntu-20.04
160+
os: ubuntu-latest
161+
container: ubuntu:20.04
147162
install:
148163
- clang-9
149164
- toolset: clang
150165
compiler: clang++-10
151166
cxxstd: "03,11,14,17,20"
152-
os: ubuntu-20.04
167+
os: ubuntu-latest
168+
container: ubuntu:20.04
153169
install:
154170
- clang-10
155171
- toolset: clang
156172
compiler: clang++-11
157173
cxxstd: "03,11,14,17"
158-
os: ubuntu-22.04
174+
os: ubuntu-latest
175+
container: ubuntu:22.04
159176
install:
160177
- clang-11
161178
- toolset: clang
162179
compiler: clang++-12
163180
cxxstd: "03,11,14,17"
164-
os: ubuntu-22.04
181+
os: ubuntu-latest
182+
container: ubuntu:22.04
165183
install:
166184
- clang-12
167185
- toolset: clang
168186
compiler: clang++-13
169187
cxxstd: "03,11,14,17"
170-
os: ubuntu-22.04
188+
os: ubuntu-latest
189+
container: ubuntu:22.04
171190
install:
172191
- clang-13
173192
- toolset: clang
174193
compiler: clang++-14
175194
cxxstd: "03,11,14,17"
176-
os: ubuntu-22.04
195+
os: ubuntu-latest
196+
container: ubuntu:22.04
177197
install:
178198
- clang-14
179199
- toolset: clang
180200
compiler: clang++-14
181201
cxxstd: "03-gnu,11-gnu,14-gnu,17-gnu"
182-
os: ubuntu-22.04
202+
os: ubuntu-latest
203+
container: ubuntu:22.04
183204
install:
184205
- clang-14
185206
- toolset: clang
186207
compiler: clang++-15
187208
cxxstd: "03,11,14,17,20"
188-
os: ubuntu-22.04
209+
os: ubuntu-latest
210+
container: ubuntu:22.04
189211
install:
190212
- clang-15
191213
sources:
@@ -195,7 +217,8 @@ jobs:
195217
- toolset: clang
196218
compiler: clang++-15
197219
cxxstd: "03,11,14,17,20,2b"
198-
os: ubuntu-22.04
220+
os: ubuntu-latest
221+
container: ubuntu:22.04
199222
install:
200223
- clang-15
201224
- libc++-15-dev
@@ -209,7 +232,8 @@ jobs:
209232
- toolset: clang
210233
compiler: clang++-16
211234
cxxstd: "03,11,14,17,20,2b"
212-
os: ubuntu-22.04
235+
os: ubuntu-latest
236+
container: ubuntu:22.04
213237
install:
214238
- clang-16
215239
sources:
@@ -219,7 +243,8 @@ jobs:
219243
- toolset: clang
220244
compiler: clang++-17
221245
cxxstd: "03,11,14,17,20,2b"
222-
os: ubuntu-22.04
246+
os: ubuntu-latest
247+
container: ubuntu:22.04
223248
install:
224249
- clang-17
225250
sources:
@@ -471,34 +496,27 @@ jobs:
471496
fail-fast: false
472497
matrix:
473498
include:
474-
- toolset: msvc-14.2
475-
cxxstd: "14,17,20,latest"
476-
addrmd: "32"
477-
os: windows-2019
478-
- toolset: msvc-14.3
479-
cxxstd: "14,17,20,latest"
480-
addrmd: "32"
481-
os: windows-2022
482-
- toolset: msvc-14.2
483-
cxxstd: "14,17,20,latest"
484-
addrmd: "64"
485-
os: windows-2019
499+
# Release mode has gobs of math failures that are not present in debug mode
500+
#- toolset: msvc-14.3
501+
# cxxstd: "14,17,20,latest"
502+
# addrmd: "32"
503+
# os: windows-2022
486504
- toolset: msvc-14.3
487505
cxxstd: "14,17,20,latest"
488506
addrmd: "64"
489507
os: windows-2022
490508
- toolset: clang-win
491509
cxxstd: "14,17,latest"
492510
addrmd: "32"
493-
os: windows-2022
511+
os: windows-latest
494512
- toolset: clang-win
495513
cxxstd: "14,17,latest"
496514
addrmd: "64"
497-
os: windows-2022
515+
os: windows-latest
498516
- toolset: gcc
499-
cxxstd: "03,11,14,17,2a"
517+
cxxstd: "03,11,14,17" # 20 has ICE
500518
addrmd: "64"
501-
os: windows-2019
519+
os: windows-latest
502520

503521
runs-on: ${{matrix.os}}
504522

@@ -538,8 +556,7 @@ jobs:
538556
fail-fast: false
539557
matrix:
540558
include:
541-
- os: ubuntu-20.04
542-
- os: ubuntu-22.04
559+
- os: ubuntu-24.04
543560
- os: macos-13
544561
- os: macos-14
545562
- os: macos-15
@@ -587,8 +604,7 @@ jobs:
587604
fail-fast: false
588605
matrix:
589606
include:
590-
- os: ubuntu-20.04
591-
- os: ubuntu-22.04
607+
- os: ubuntu-24.04
592608
- os: macos-13
593609
- os: macos-14
594610
- os: macos-15
@@ -646,8 +662,7 @@ jobs:
646662
fail-fast: false
647663
matrix:
648664
include:
649-
- os: ubuntu-20.04
650-
- os: ubuntu-22.04
665+
- os: ubuntu-24.04
651666
- os: macos-13
652667
- os: macos-14
653668
- os: macos-15

.github/workflows/codecov.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ jobs:
4949
git submodule update --init libs/predef
5050
git submodule update --init libs/static_assert
5151
git submodule update --init libs/test
52+
git submodule update --init libs/random
5253
./bootstrap.sh
5354
./b2 headers
5455
- name: gcc-gcov-native

build.jam

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ project /boost/decimal
1212
;
1313

1414
explicit
15-
[ alias boost_core ]
15+
[ alias boost_decimal ]
1616
[ alias all : boost_decimal test ]
1717
;
1818

0 commit comments

Comments
 (0)