Skip to content

Commit 0462e76

Browse files
authored
Merge pull request #719 from elbeno/add-clang-20
👷 Add clang-20 support
2 parents 619ca31 + b366102 commit 0462e76

File tree

7 files changed

+25
-14
lines changed

7 files changed

+25
-14
lines changed

.github/workflows/unit_tests.yml

Lines changed: 15 additions & 4 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: 20
16-
DEFAULT_LLVM_VERSION: 19
16+
DEFAULT_LLVM_VERSION: 20
1717
DEFAULT_GCC_VERSION: 13
1818

1919
concurrency:
@@ -27,7 +27,7 @@ jobs:
2727
fail-fast: false
2828
matrix:
2929
compiler: [clang, gcc]
30-
version: [12, 13, 16, 17, 18, 19]
30+
version: [12, 13, 16, 17, 18, 19, 20]
3131
cxx_standard: [20]
3232
stdlib: [libstdc++, libc++]
3333
build_type: [Debug]
@@ -36,6 +36,15 @@ jobs:
3636
cc: "clang"
3737
cxx: "clang++"
3838
cxx_flags: "-stdlib=libstdc++"
39+
- version: 20
40+
compiler: clang
41+
install: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 20 all
42+
toolchain_root: "/usr/lib/llvm-20"
43+
- version: 20
44+
compiler: clang
45+
stdlib: libc++
46+
install: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 20 && sudo apt install -y libc++-20-dev libc++abi-20-dev
47+
cxx_flags: "-stdlib=libc++"
3948
- version: 19
4049
compiler: clang
4150
install: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 19 all
@@ -87,6 +96,8 @@ jobs:
8796
cxx: "g++-12"
8897
cxx_flags: ""
8998
exclude:
99+
- compiler: gcc
100+
version: 20
90101
- compiler: gcc
91102
version: 19
92103
- compiler: gcc
@@ -300,8 +311,8 @@ jobs:
300311
- compiler: clang
301312
cc: "clang"
302313
cxx: "clang++"
303-
install: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 19
304-
toolchain_root: "/usr/lib/llvm-19"
314+
install: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 20
315+
toolchain_root: "/usr/lib/llvm-20"
305316
- compiler: gcc
306317
cc: "gcc-13"
307318
cxx: "g++-13"

CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ include(cmake/string_catalog.cmake)
2424

2525
add_versioned_package("gh:boostorg/mp11#boost-1.83.0")
2626
fmt_recipe(11.1.3)
27-
add_versioned_package("gh:intel/cpp-baremetal-concurrency#7c5b26c")
28-
add_versioned_package("gh:intel/cpp-std-extensions#01be679")
29-
add_versioned_package("gh:intel/cpp-baremetal-senders-and-receivers#0525974")
27+
add_versioned_package("gh:intel/cpp-baremetal-concurrency#0ddce52")
28+
add_versioned_package("gh:intel/cpp-std-extensions#7e1cbc7")
29+
add_versioned_package("gh:intel/cpp-baremetal-senders-and-receivers#22c8006")
3030

3131
set(GEN_STR_CATALOG
3232
${CMAKE_CURRENT_LIST_DIR}/tools/gen_str_catalog.py

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ to implement *cib* and others extend *cib*.
3232
## Compiler/Standard support
3333

3434
The main branch of *cib* currently uses C++20 and is tested with:
35-
- Clang 14 thru 19
35+
- Clang 14 thru 20
3636
- GCC 12 thru 13
3737

3838
An older version of *cib* that uses C++17 is tagged at v1.7.0. It

include/cib/callback.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ template <int NumFuncs = 0, typename... ArgTypes> struct builder {
4646
template <std::convertible_to<func_ptr_t>... Fs>
4747
[[nodiscard]] constexpr auto add(Fs &&...fs) const {
4848
builder<NumFuncs + sizeof...(Fs), ArgTypes...> cb;
49-
auto i = std::size_t{};
49+
auto i = 0;
5050
while (i < NumFuncs) {
5151
cb.funcs[i] = funcs[i];
5252
++i;

include/log/catalog/mipi_builder.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,8 @@ template <> struct builder<defn::normal_build_msg_t> {
139139
auto dest = &message.data()[header_size];
140140

141141
auto const ver = stdx::to_le(static_cast<std::uint64_t>(Version));
142-
dest = std::copy_n(stdx::bit_cast<std::uint8_t const *>(&ver),
143-
sizeof(std::uint64_t), dest);
142+
std::memcpy(dest, &ver, sizeof(std::uint64_t));
143+
dest += sizeof(std::uint64_t);
144144
std::copy_n(std::cbegin(S.value), S.size(), dest);
145145
return message;
146146
}

include/lookup/linear_search_lookup.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#include <stdx/compiler.hpp>
77

88
#include <cstddef>
9-
#include <iterator>
9+
#include <type_traits>
1010

1111
namespace lookup {
1212
template <std::size_t MaxSize> struct linear_search_lookup {
@@ -28,7 +28,7 @@ template <std::size_t MaxSize> struct linear_search_lookup {
2828
public:
2929
[[nodiscard]] CONSTEVAL static auto make(compile_time auto i) {
3030
if constexpr (constexpr auto input = i(); input.size <= MaxSize) {
31-
return impl<decltype(input)>{input};
31+
return impl<std::remove_cv_t<decltype(input)>>{input};
3232
} else {
3333
return strategy_failed_t{};
3434
}

include/seq/step.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ struct rt_step {
2222
log_func_ptr log_name{};
2323

2424
private:
25-
[[nodiscard]] constexpr friend auto operator==(rt_step const &,
25+
[[nodiscard]] friend constexpr auto operator==(rt_step const &,
2626
rt_step const &)
2727
-> bool = default;
2828
};

0 commit comments

Comments
 (0)