Skip to content

Commit 73fadd7

Browse files
mizvekovalandefreitas
authored andcommitted
ci: add clang UBSan and ASan to apple-clang job
Also fixes sanitizer variable usage on llvm-basename The setting for LLVM_ENABLE_RTTI was also redundant, as it is always set by the cmake profiles.
1 parent 6e5f80c commit 73fadd7

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ jobs:
4343
msvc Optimized-Debug
4444
gcc UBSan Coverage
4545
clang UBSan
46+
apple-clang UBSan ASan
4647
factors: ''
4748
runs-on: |
4849
apple-clang: macos-15
@@ -68,13 +69,14 @@ jobs:
6869
llvm-hash: dd7a3d4d798e30dfe53b5bbbbcd9a23c24ea1af9
6970
llvm-build-preset-prefix: {{#if optimized-debug}}debwithopt{{else}}{{{lowercase build-type}}}{{/if}}
7071
llvm-build-preset-os: {{#if (ieq os 'windows') }}win{{else}}unix{{/if}}
71-
llvm-sanitizer: {{#if ubsan}}-UBSan{{else if asan}}-ASan{{else if msan}}-MSan{{/if}}
72+
llvm-sanitizer: {{#if (eq compiler 'gcc')}}{{else if ubsan}}-UBSan{{else if asan}}-ASan{{else if msan}}-MSan{{/if}}
7273
llvm-build-preset: {{{ llvm-build-preset-prefix }}}-{{{ llvm-build-preset-os }}}
7374
llvm-compiler-version: {{#if (or (contains version '*') (contains version '^'))}}{{else}}-{{{ version }}}{{/if}}
74-
llvm-archive-basename: llvm-{{{ lowercase os }}}-{{{ compiler }}}{{{ llvm-compiler-version }}}-{{{ llvm-build-preset-prefix }}}{{{ sanitizer }}}-{{{ substr llvm-hash 0 7 }}}
75+
llvm-archive-basename: llvm-{{{ lowercase os }}}-{{{ compiler }}}{{{ llvm-compiler-version }}}-{{{ llvm-build-preset-prefix }}}{{{ llvm-sanitizer }}}-{{{ substr llvm-hash 0 7 }}}
7576
llvm-root: ../third-party/llvm-project/install
7677
llvm-archive-extension: {{#if (ieq os 'windows') }}7z{{else}}tar.bz2{{/if}}
7778
llvm-archive-filename: {{{ llvm-archive-basename }}}.{{{ llvm-archive-extension }}}
79+
llvm-sanizizer-config: {{#if (or (ne compiler 'clang') (ne compiler 'apple-clang'))}}{{else if ubsan}}Undefined{{else if asan}}Address{{/if}}
7880
mrdocs-ccflags: {{{ ccflags }}} {{#if (and (eq compiler 'gcc') (not asan)) }}-static{{/if}}
7981
mrdocs-cxxflags: {{{ cxxflags }}} {{#if (and (eq compiler 'gcc') (not asan)) }}-static{{/if}}
8082
mrdocs-package-generators: {{#if (ieq os 'windows') }}7Z ZIP WIX{{else}}TGZ TXZ{{/if}}
@@ -261,10 +263,7 @@ jobs:
261263
build-type: ${{ matrix.build-type }}
262264
extra-args: |
263265
${{ runner.os == 'Windows' && '-DLLVM_ENABLE_RUNTIMES=libcxx' || '-DLLVM_ENABLE_RUNTIMES=libcxx;libcxxabi;libunwind' }}
264-
# The UBSan vptr sanitizer needs RTTI.
265-
${{ matrix.ubsan && '-DLLVM_ENABLE_RTTI=ON' }}
266-
# The LLVM_USE_SANITIZER option doesn't support GCC.
267-
${{ !matrix.compiler == 'gcc' && matrix.ubsan && '-DLLVM_USE_SANITIZER=Undefined' }}
266+
-DLLVM_USE_SANITIZER=${{ matrix.llvm-sanitizer-config }}
268267
cc: ${{ steps.setup-cpp.outputs.cc }}
269268
cxx: ${{ steps.setup-cpp.outputs.cxx }}
270269
generator: Ninja

0 commit comments

Comments
 (0)