Skip to content

Commit af29583

Browse files
committed
Merge branch 'main' into verify_headers
2 parents 5691c2d + ebf043c commit af29583

File tree

6 files changed

+119
-7
lines changed

6 files changed

+119
-7
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,14 @@ jobs:
1313
fail-fast: false
1414
matrix:
1515
config:
16-
- {name: "Ubuntu Clang 17", os: ubuntu-24.04, toolchain: "clang-17", clang_version: 17, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
17-
- {name: "Ubuntu Clang 18", os: ubuntu-24.04, toolchain: "clang-18", clang_version: 18, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
16+
- {name: "Ubuntu Clang 20", os: ubuntu-24.04, toolchain: "clang-20", clang_version: 20, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
1817
# Note: clang-19 + Asan setup causes errors on some platforms. Temporary skip some checks via .asan_options.
1918
- {name: "Ubuntu Clang 19", os: ubuntu-24.04, toolchain: "clang-19", clang_version: 19, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" ", asan_options: "new_delete_type_mismatch=0"}
20-
- {name: "Ubuntu GCC 12", os: ubuntu-24.04, toolchain: "gcc-12", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
21-
- {name: "Ubuntu GCC 13", os: ubuntu-24.04, toolchain: "gcc-13", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
19+
- {name: "Ubuntu Clang 18", os: ubuntu-24.04, toolchain: "clang-18", clang_version: 18, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
20+
- {name: "Ubuntu Clang 17", os: ubuntu-24.04, toolchain: "clang-17", clang_version: 17, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
2221
- {name: "Ubuntu GCC 14", os: ubuntu-24.04, toolchain: "gcc-14", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
22+
- {name: "Ubuntu GCC 13", os: ubuntu-24.04, toolchain: "gcc-13", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
23+
- {name: "Ubuntu GCC 12", os: ubuntu-24.04, toolchain: "gcc-12", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
2324
steps:
2425
- uses: actions/checkout@v3
2526
with:

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
cff-version: 1.0.0
22
message: "If you use this software, please cite it as below."
33
title: "beman.optional26"
4-
url: "https://github.com/beman-project/Optional26"
4+
url: "https://github.com/bemanproject/optional26"

CMakePresets.json

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,20 @@
3838
"description": "Build with GCC 13 compilers",
3939
"toolchainFile": "${sourceDir}/etc/gcc-13-toolchain.cmake"
4040
},
41+
{
42+
"name": "gcc-12",
43+
"inherits": "common",
44+
"displayName": "GCC 12",
45+
"description": "Build with GCC 12 compilers",
46+
"toolchainFile": "${sourceDir}/etc/gcc-12-toolchain.cmake"
47+
},
48+
{
49+
"name": "clang-20",
50+
"inherits": "common",
51+
"displayName": "Clang 20",
52+
"description": "Build with Clang 20 compilers",
53+
"toolchainFile": "${sourceDir}/etc/clang-20-toolchain.cmake"
54+
},
4155
{
4256
"name": "clang-19",
4357
"inherits": "common",
@@ -58,6 +72,13 @@
5872
"displayName": "Clang 17",
5973
"description": "Build with Clang 17 compilers",
6074
"toolchainFile": "${sourceDir}/etc/clang-17-toolchain.cmake"
75+
},
76+
{
77+
"name": "clang-16",
78+
"inherits": "common",
79+
"displayName": "Clang 16",
80+
"description": "Build with Clang 16 compilers",
81+
"toolchainFile": "${sourceDir}/etc/clang-16-toolchain.cmake"
6182
}
6283
],
6384
"buildPresets": [
@@ -97,6 +118,16 @@
97118
"all"
98119
]
99120
},
121+
{
122+
"name": "gcc-12",
123+
"inherits": "common",
124+
"configurePreset": "gcc-12"
125+
},
126+
{
127+
"name": "clang-20",
128+
"inherits": "common",
129+
"configurePreset": "clang-20"
130+
},
100131
{
101132
"name": "clang-19",
102133
"inherits": "common",
@@ -123,6 +154,15 @@
123154
"all_verify_interface_header_sets",
124155
"all"
125156
]
157+
},
158+
{
159+
"name": "clang-16",
160+
"inherits": "common",
161+
"configurePreset": "clang-16"
162+
"targets": [
163+
"all_verify_interface_header_sets",
164+
"all"
165+
]
126166
}
127167
],
128168
"testPresets": [
@@ -153,6 +193,16 @@
153193
"inherits": "common",
154194
"configurePreset": "gcc-13"
155195
},
196+
{
197+
"name": "gcc-12",
198+
"inherits": "common",
199+
"configurePreset": "gcc-12"
200+
},
201+
{
202+
"name": "clang-20",
203+
"inherits": "common",
204+
"configurePreset": "clang-20"
205+
},
156206
{
157207
"name": "clang-19",
158208
"inherits": "common",
@@ -167,6 +217,11 @@
167217
"name": "clang-17",
168218
"inherits": "common",
169219
"configurePreset": "clang-17"
220+
},
221+
{
222+
"name": "clang-16",
223+
"inherits": "common",
224+
"configurePreset": "clang-16"
170225
}
171226
],
172227
"workflowPresets": [
@@ -221,6 +276,40 @@
221276
}
222277
]
223278
},
279+
{
280+
"name": "gcc-12",
281+
"steps": [
282+
{
283+
"type": "configure",
284+
"name": "gcc-12"
285+
},
286+
{
287+
"type": "build",
288+
"name": "gcc-12"
289+
},
290+
{
291+
"type": "test",
292+
"name": "gcc-12"
293+
}
294+
]
295+
},
296+
{
297+
"name": "clang-20",
298+
"steps": [
299+
{
300+
"type": "configure",
301+
"name": "clang-20"
302+
},
303+
{
304+
"type": "build",
305+
"name": "clang-20"
306+
},
307+
{
308+
"type": "test",
309+
"name": "clang-20"
310+
}
311+
]
312+
},
224313
{
225314
"name": "clang-19",
226315
"steps": [
@@ -271,6 +360,23 @@
271360
"name": "clang-17"
272361
}
273362
]
363+
},
364+
{
365+
"name": "clang-16",
366+
"steps": [
367+
{
368+
"type": "configure",
369+
"name": "clang-16"
370+
},
371+
{
372+
"type": "build",
373+
"name": "clang-16"
374+
},
375+
{
376+
"type": "test",
377+
"name": "clang-16"
378+
}
379+
]
274380
}
275381
]
276382
}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
SPDX-License-Identifier: 2.0 license with LLVM exceptions
55
-->
66

7-
![CI Tests](https://github.com/beman-project/optional26/actions/workflows/ci.yml/badge.svg)
7+
![CI Tests](https://github.com/bemanproject/optional26/actions/workflows/ci.yml/badge.svg)
88

99
This repository implements `std::optional` extensions targeting C++26. The `beman.optional26` library aims to evaluate
1010
the stability, the usability, and the performance of these proposed changes before they are officially adopted by WG21

etc/clang-20-toolchain.cmake

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
# cmake-format: off
2+
# etc/clang-20-toolchain.cmake -*-cmake-*-
3+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4+
# cmake-format: on
5+
16
include_guard(GLOBAL)
27

38
set(CMAKE_C_COMPILER clang-20)

src/beman/optional26/tests/test_constructor_fail.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// src/Beman/Optional26/tests/test_constructor_fail.t.cpp -*-C++-*-
1+
// src/beman/optional26/tests/test_constructor_fail.t.cpp -*-C++-*-
22
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
33

44
#include <beman/optional26/optional.hpp>

0 commit comments

Comments
 (0)