Skip to content

Commit 3349459

Browse files
Merge pull request #352 from insertinterestingnamehere/clang
LLVM 20 Support
2 parents 400b073 + 9731dc2 commit 3349459

File tree

6 files changed

+42
-39
lines changed

6 files changed

+42
-39
lines changed

.circleci/config.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ jobs:
4646
image: ubuntu-2404:edge
4747
resource_class: arm.medium
4848
environment:
49-
CC: clang-19
50-
CXX: clang++-19
49+
CC: clang-20
50+
CXX: clang++-20
5151
steps:
5252
- run: |
5353
export REPO_HTTPS=`echo "$CIRCLE_REPOSITORY_URL" | sed "s|[email protected]:|https://github.com/|g"`
@@ -58,8 +58,8 @@ jobs:
5858
sudo apt-get install -y cmake
5959
sudo apt-get install -y hwloc libhwloc-dev
6060
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
61-
sudo apt-add-repository -y 'deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-19 main'
62-
sudo apt-get install -y clang-19
61+
sudo apt-add-repository -y 'deb https://apt.llvm.org/noble/ llvm-toolchain-noble-20 main'
62+
sudo apt-get install -y clang-20
6363
- run: |
6464
mkdir build
6565
pushd build
@@ -85,8 +85,8 @@ jobs:
8585
image: ubuntu-2404:edge
8686
resource_class: arm.medium
8787
environment:
88-
CC: clang-19
89-
CXX: clang++-19
88+
CC: clang-20
89+
CXX: clang++-20
9090
CFLAGS: "-fsanitize=<< parameters.sanitizer >> -fno-sanitize-recover=all"
9191
CXXFLAGS: "-fsanitize=<< parameters.sanitizer >> -fno-sanitize-recover=all"
9292
LDFLAGS: "-fsanitize=<< parameters.sanitizer >> -fno-sanitize-recover=all"
@@ -102,8 +102,8 @@ jobs:
102102
sudo apt-get install -y cmake
103103
sudo apt-get install -y hwloc libhwloc-dev
104104
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
105-
sudo apt-add-repository -y 'deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-19 main'
106-
sudo apt-get install -y clang-19
105+
sudo apt-add-repository -y 'deb https://apt.llvm.org/noble/ llvm-toolchain-noble-20 main'
106+
sudo apt-get install -y clang-20
107107
- run: |
108108
mkdir build
109109
pushd build

.cirrus.yml

+13-13
Original file line numberDiff line numberDiff line change
@@ -113,28 +113,28 @@ arm_linux_clang_task:
113113
timeout_in: 5m
114114
matrix:
115115
env:
116-
CC: clang-19
117-
CXX: clang++-19
116+
CC: clang-20
117+
CXX: clang++-20
118118
QTHREADS_SCHEDULER: nemesis
119119
QTHREADS_TOPOLOGY: no
120120
env:
121-
CC: clang-19
122-
CXX: clang++-19
121+
CC: clang-20
122+
CXX: clang++-20
123123
QTHREADS_SCHEDULER: nemesis
124124
QTHREADS_TOPOLOGY: hwloc
125125
env:
126-
CC: clang-19
127-
CXX: clang++-19
126+
CC: clang-20
127+
CXX: clang++-20
128128
QTHREADS_SCHEDULER: nemesis
129129
QTHREADS_TOPOLOGY: binders
130130
env:
131-
CC: clang-19
132-
CXX: clang++-19
131+
CC: clang-20
132+
CXX: clang++-20
133133
QTHREADS_SCHEDULER: sherwood
134134
QTHREADS_TOPOLOGY: no
135135
env:
136-
CC: clang-19
137-
CXX: clang++-19
136+
CC: clang-20
137+
CXX: clang++-20
138138
QTHREADS_SCHEDULER: distrib
139139
QTHREADS_TOPOLOGY: no
140140
install_deps_script: |
@@ -145,9 +145,9 @@ arm_linux_clang_task:
145145
gpg --no-default-keyring --keyring ./tmp.gpg --export --output llvm-snapshot.gpg
146146
rm tmp.gpg
147147
cp llvm-snapshot.gpg /etc/apt/trusted.gpg.d/llvm-snapshot.gpg # This is for CI so no need to do something more complicated to restrict key use to a specific repo.
148-
apt-add-repository -y 'deb https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-19 main'
149-
apt-add-repository -y 'deb https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-19 main' # Something's buggy upstream but running this twice fixes it.
150-
apt-get install -y clang-19
148+
apt-add-repository -y 'deb https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-20 main'
149+
apt-add-repository -y 'deb https://apt.llvm.org/bookworm/ llvm-toolchain-bookworm-20 main' # Something's buggy upstream but running this twice fixes it.
150+
apt-get install -y clang-20
151151
apt-get install -y cmake
152152
apt-get install -y hwloc libhwloc-dev
153153
build_script: |

.git-blame-ignore-revs

+1
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
3ddc9da40f8b34565c90d17ef83a9ef95a9deb18
33
d1196d946c6551b205791f47ee952412e1a3e9bc
44
2368ba6baaeb986a16d7444edf412e3ef74296b4
5+
163756c0337619255bb4b30a0b8ef21d17824aab

.github/workflows/CI.yml

+17-15
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
continue-on-error: true
4848
strategy:
4949
matrix:
50-
clang_version: [14, 15, 16, 17, 18]
50+
clang_version: [14, 15, 16, 17, 18, 19]
5151
scheduler: [nemesis, sherwood, distrib]
5252
topology: [hwloc, binders, no]
5353
include:
@@ -61,6 +61,8 @@ jobs:
6161
gcc_version: 13
6262
- clang_version: 18
6363
gcc_version: 13
64+
- clang_version: 19
65+
gcc_version: 14
6466
env:
6567
CC: clang-${{ matrix.clang_version }}
6668
CXX: clang++-${{ matrix.clang_version }}
@@ -278,8 +280,8 @@ jobs:
278280
- sanitizer: thread
279281
topology: binders
280282
env:
281-
CC: clang-19
282-
CXX: clang++-19
283+
CC: clang-20
284+
CXX: clang++-20
283285
CFLAGS: "-fsanitize=${{ matrix.sanitizer }} -fno-sanitize-recover=all"
284286
CXXFLAGS: ${{ matrix.use_libcxx && format('-stdlib=libc++ -fsanitize={0} -fno-sanitize-recover=all', matrix.sanitizer) || format('-fsanitize={0} -fno-sanitize-recover=all', matrix.sanitizer) }}
285287
LDFLAGS: "-fsanitize=${{ matrix.sanitizer }} -fno-sanitize-recover=all"
@@ -293,10 +295,10 @@ jobs:
293295
- name: install compiler
294296
run: |
295297
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - && break || sleep 1
296-
sudo apt-add-repository 'deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-19 main' && break || sleep 1
297-
sudo apt-get install clang-19
298+
sudo apt-add-repository 'deb https://apt.llvm.org/noble/ llvm-toolchain-noble-20 main' && break || sleep 1
299+
sudo apt-get install clang-20
298300
- if: ${{ matrix.use_libcxx }}
299-
run: sudo apt-get install libc++-19-dev libc++abi-19-dev
301+
run: sudo apt-get install libc++-20-dev libc++abi-20-dev
300302
- if: ${{ matrix.topology != 'no' }}
301303
run: |
302304
sudo apt-get install hwloc libhwloc-dev
@@ -330,8 +332,8 @@ jobs:
330332
- compiler: gcc
331333
use_libcxx: true
332334
env:
333-
CC: ${{ matrix.compiler == 'gcc' && 'gcc-14' || 'clang-19' }}
334-
CXX: ${{ matrix.compiler == 'gcc' && 'g++-14' || 'clang++-19' }}
335+
CC: ${{ matrix.compiler == 'gcc' && 'gcc-14' || 'clang-20' }}
336+
CXX: ${{ matrix.compiler == 'gcc' && 'g++-14' || 'clang++-20' }}
335337
CXXFLAGS: ${{ matrix.use_libcxx && '-stdlib=libc++' || '' }}
336338
QTHREADS_ENABLE_ASSERTS: ${{ matrix.use_asserts && '--enable-asserts' || '' }}
337339
steps:
@@ -341,10 +343,10 @@ jobs:
341343
- if: ${{ matrix.compiler == 'clang' }}
342344
run: |
343345
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - && break || sleep 1
344-
sudo apt-add-repository 'deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-19 main' && break || sleep 1
345-
sudo apt-get install clang-19
346+
sudo apt-add-repository 'deb https://apt.llvm.org/noble/ llvm-toolchain-noble-20 main' && break || sleep 1
347+
sudo apt-get install clang-20
346348
- if: ${{ matrix.use_libcxx }}
347-
run: sudo apt-get install libc++-19-dev libc++abi-19-dev
349+
run: sudo apt-get install libc++-20-dev libc++abi-20-dev
348350
- if: ${{ matrix.topology != 'no' }}
349351
run: |
350352
sudo apt-get install hwloc libhwloc-dev
@@ -367,14 +369,14 @@ jobs:
367369
runs-on: ubuntu-24.04
368370
continue-on-error: true
369371
env:
370-
CC: 'clang-19'
371-
CXX: 'clang++-19'
372+
CC: 'clang-20'
373+
CXX: 'clang++-20'
372374
steps:
373375
- uses: actions/checkout@v4
374376
- run: |
375377
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - && break || sleep 1
376-
sudo apt-add-repository 'deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-19 main' && break || sleep 1
377-
sudo apt-get install clang-format-19
378+
sudo apt-add-repository 'deb https://apt.llvm.org/noble/ llvm-toolchain-noble-20 main' && break || sleep 1
379+
sudo apt-get install clang-format-20
378380
- name: check formatting
379381
run: |
380382
clang-format --version

clang-format.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
find -iname *.h -or -iname *.c -or -iname *.hpp -or -iname *.cpp | xargs clang-format-19 -i
1+
find -iname *.h -or -iname *.c -or -iname *.hpp -or -iname *.cpp | xargs clang-format-20 -i

test/benchmarks/sc12/log.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@
3232
double es = (1.0 / (1.0 - q * m)); \
3333
fprintf(stdout, " q: %f\n", q); \
3434
fprintf(stdout, " m: %d\n", m); \
35-
fprintf(stdout, " E(n): %f\n", q *m); \
35+
fprintf(stdout, " E(n): %f\n", q * m); \
3636
fprintf(stdout, " E(s): %.2f\n", es); \
3737
} \
3838
if (tree_type == HYBRID) { \
3939
fprintf(stdout, \
4040
" Root-to-depth: %d\n", \
41-
(int)ceil(shift_depth *tree_depth)); \
41+
(int)ceil(shift_depth * tree_depth)); \
4242
} \
4343
if (tree_type == BALANCED) { \
4444
fprintf(stdout, " Gen mx: %d\n", tree_depth); \

0 commit comments

Comments
 (0)