Skip to content

Commit cff72f6

Browse files
authored
Merge pull request #238 from elbeno/fix-clang-22
2 parents f3fa596 + c95be68 commit cff72f6

File tree

5 files changed

+24
-10
lines changed

5 files changed

+24
-10
lines changed

.github/workflows/asciidoctor-ghpages.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
env:
5151
cache-name: cpm-cache-0
5252
id: cpm-cache-restore
53-
uses: actions/cache/restore@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
53+
uses: actions/cache/restore@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
5454
with:
5555
path: ~/cpm-cache
5656
key: ${{runner.os}}-${{env.cache-name}}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}
@@ -64,7 +64,7 @@ jobs:
6464
env:
6565
cache-name: cpm-cache-0
6666
if: steps.cpm-cache-restore.outputs.cache-hit != 'true'
67-
uses: actions/cache/save@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
67+
uses: actions/cache/save@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
6868
with:
6969
path: ~/cpm-cache
7070
key: ${{runner.os}}-${{env.cache-name}}-${{ hashFiles('**/CMakeLists.txt', 'cmake/**') }}

.github/workflows/unit_tests.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ env:
1313
DEBIAN_FRONTEND: noninteractive
1414
CMAKE_GENERATOR: Ninja
1515
DEFAULT_CXX_STANDARD: 23
16-
DEFAULT_LLVM_VERSION: 21
16+
DEFAULT_LLVM_VERSION: 22
1717
DEFAULT_GCC_VERSION: 14
1818

1919
concurrency:
@@ -27,7 +27,7 @@ jobs:
2727
fail-fast: false
2828
matrix:
2929
compiler: [clang, gcc]
30-
version: [12, 13, 14, 19, 20, 21]
30+
version: [12, 13, 14, 19, 20, 21, 22]
3131
cxx_standard: [23]
3232
stdlib: [libstdc++, libc++]
3333
build_type: [Debug]
@@ -36,6 +36,13 @@ jobs:
3636
cc: "clang"
3737
cxx: "clang++"
3838
cxx_flags: "-stdlib=libstdc++"
39+
- version: 22
40+
compiler: clang
41+
toolchain_root: "/usr/lib/llvm-22"
42+
- version: 22
43+
compiler: clang
44+
stdlib: libc++
45+
cxx_flags: "-stdlib=libc++"
3946
- version: 21
4047
compiler: clang
4148
toolchain_root: "/usr/lib/llvm-21"
@@ -74,6 +81,8 @@ jobs:
7481
cxx: "g++-12"
7582
cxx_flags: ""
7683
exclude:
84+
- compiler: gcc
85+
version: 22
7786
- compiler: gcc
7887
version: 21
7988
- compiler: gcc
@@ -209,7 +218,7 @@ jobs:
209218
- compiler: clang
210219
cc: "clang"
211220
cxx: "clang++"
212-
toolchain_root: "/usr/lib/llvm-21"
221+
toolchain_root: "/usr/lib/llvm-22"
213222
- compiler: gcc
214223
cc: "gcc-14"
215224
cxx: "g++-14"

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,5 @@ Compiler support:
3838

3939
| Branch | GCC versions | Clang versions |
4040
| --- | --- | --- |
41-
| [main](https://github.com/intel/cpp-baremetal-senders-and-receivers/tree/main) | 12 thru 14 | 19 thru 21 |
41+
| [main](https://github.com/intel/cpp-baremetal-senders-and-receivers/tree/main) | 12 thru 14 | 19 thru 22 |
4242
| [cpp20](https://github.com/intel/cpp-baremetal-senders-and-receivers/tree/cpp20) | 12 thru 14 | 14 thru 21 |

include/async/concepts.hpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,16 @@ concept valid_completion_for = requires(Signature *sig) {
5959
requires std::invocable<Tag, std::remove_cvref_t<R>, Args...>
6060
{}(sig);
6161
};
62+
63+
template <typename R>
64+
constexpr auto valid_completion_sigs =
65+
[]<valid_completion_for<R>... Sigs>(
66+
completion_signatures<Sigs...> *) -> void {};
6267
} // namespace detail
6368

6469
template <typename R, typename Completions>
6570
concept receiver_of = receiver<R> and requires(Completions *completions) {
66-
[]<detail::valid_completion_for<R>... Sigs>(
67-
completion_signatures<Sigs...> *) {}(completions);
71+
{ detail::valid_completion_sigs<R>(completions) } -> std::same_as<void>;
6872
};
6973

7074
namespace detail {

include/async/stop_token.hpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,9 @@ struct stop_callback_base {
7676
struct inplace_stop_source {
7777
struct mutex;
7878

79-
constexpr inplace_stop_source() = default;
80-
constexpr explicit(true) inplace_stop_source(bool b) : requested{b} {}
79+
constexpr inplace_stop_source() noexcept = default;
80+
constexpr explicit(true) inplace_stop_source(bool b) noexcept
81+
: requested{b} {}
8182

8283
[[nodiscard]] auto stop_requested() const noexcept -> bool {
8384
return requested.load();

0 commit comments

Comments
 (0)