Skip to content

Commit 6a433e0

Browse files
authored
Merge branch 'main' into apply_beman_standard/cmake_rules
2 parents faae4f8 + 352dc50 commit 6a433e0

File tree

4 files changed

+82
-0
lines changed

4 files changed

+82
-0
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ jobs:
1616
fail-fast: false
1717
matrix:
1818
config:
19+
- {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\" "}
1920
# Note: clang-19 + Asan setup causes errors on some platforms. Temporary skip some checks via .asan_options.
2021
- {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"}
2122
- {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\" "}

CMakePresets.json

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,13 @@
4545
"description": "Build with GCC 12 compilers",
4646
"toolchainFile": "${sourceDir}/etc/gcc-12-toolchain.cmake"
4747
},
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+
},
4855
{
4956
"name": "clang-19",
5057
"inherits": "common",
@@ -65,6 +72,13 @@
6572
"displayName": "Clang 17",
6673
"description": "Build with Clang 17 compilers",
6774
"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"
6882
}
6983
],
7084
"buildPresets": [
@@ -93,6 +107,11 @@
93107
"inherits": "common",
94108
"configurePreset": "gcc-12"
95109
},
110+
{
111+
"name": "clang-20",
112+
"inherits": "common",
113+
"configurePreset": "clang-20"
114+
},
96115
{
97116
"name": "clang-19",
98117
"inherits": "common",
@@ -107,6 +126,11 @@
107126
"name": "clang-17",
108127
"inherits": "common",
109128
"configurePreset": "clang-17"
129+
},
130+
{
131+
"name": "clang-16",
132+
"inherits": "common",
133+
"configurePreset": "clang-16"
110134
}
111135
],
112136
"testPresets": [
@@ -142,6 +166,11 @@
142166
"inherits": "common",
143167
"configurePreset": "gcc-12"
144168
},
169+
{
170+
"name": "clang-20",
171+
"inherits": "common",
172+
"configurePreset": "clang-20"
173+
},
145174
{
146175
"name": "clang-19",
147176
"inherits": "common",
@@ -156,6 +185,11 @@
156185
"name": "clang-17",
157186
"inherits": "common",
158187
"configurePreset": "clang-17"
188+
},
189+
{
190+
"name": "clang-16",
191+
"inherits": "common",
192+
"configurePreset": "clang-16"
159193
}
160194
],
161195
"workflowPresets": [
@@ -227,6 +261,23 @@
227261
}
228262
]
229263
},
264+
{
265+
"name": "clang-20",
266+
"steps": [
267+
{
268+
"type": "configure",
269+
"name": "clang-20"
270+
},
271+
{
272+
"type": "build",
273+
"name": "clang-20"
274+
},
275+
{
276+
"type": "test",
277+
"name": "clang-20"
278+
}
279+
]
280+
},
230281
{
231282
"name": "clang-19",
232283
"steps": [
@@ -277,6 +328,23 @@
277328
"name": "clang-17"
278329
}
279330
]
331+
},
332+
{
333+
"name": "clang-16",
334+
"steps": [
335+
{
336+
"type": "configure",
337+
"name": "clang-16"
338+
},
339+
{
340+
"type": "build",
341+
"name": "clang-16"
342+
},
343+
{
344+
"type": "test",
345+
"name": "clang-16"
346+
}
347+
]
280348
}
281349
]
282350
}

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ SPDX-License-Identifier: 2.0 license with LLVM exceptions
44

55
# beman.iterator\_interface: iterator creation mechanisms
66

7+
![CI Tests](https://github.com/beman-project/iterator_interface/actions/workflows/ci.yml/badge.svg)
8+
79
**Implements**:
810
* [`std::iterator_interface` (P2727)](https://wg21.link/P2727)
911

etc/clang-20-toolchain.cmake

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
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+
6+
include_guard(GLOBAL)
7+
8+
set(CMAKE_C_COMPILER clang-20)
9+
set(CMAKE_CXX_COMPILER clang++-20)
10+
11+
include("${CMAKE_CURRENT_LIST_DIR}/clang-flags.cmake")

0 commit comments

Comments
 (0)