Skip to content

Commit 1e2c460

Browse files
committed
ci: add msan Linux job
MSan is viral, so it is added to Clang only. Do not add MSan to MacOS job, since it is not supported in that platform.
1 parent 9b7d498 commit 1e2c460

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

.github/workflows/ci.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
latest-factors: |
4343
msvc Optimized-Debug
4444
gcc UBSan Coverage
45-
clang UBSan ASan
45+
clang UBSan ASan MSan
4646
apple-clang UBSan ASan
4747
factors: ''
4848
runs-on: |
@@ -66,6 +66,7 @@ jobs:
6666
clang: git build-essential pkg-config python3 curl openjdk-11-jdk pkg-config libncurses-dev libxml2-utils libxml2-dev g++-14=14.2.0-4ubuntu2~24.04
6767
msvc: ''
6868
extra-values: |
69+
use-libcxx: {{{ msan }}}
6970
llvm-hash: a1b6e7ff393533a5c4f3bdfd4efe5da106e2de2b
7071
llvm-build-preset-prefix: {{#if optimized-debug}}debwithopt{{else}}{{{lowercase build-type}}}{{/if}}
7172
llvm-build-preset-os: {{#if (ieq os 'windows') }}win{{else}}unix{{/if}}
@@ -77,9 +78,10 @@ jobs:
7778
llvm-archive-extension: {{#if (ieq os 'windows') }}7z{{else}}tar.bz2{{/if}}
7879
llvm-archive-filename: {{{ llvm-archive-basename }}}.{{{ llvm-archive-extension }}}
7980
llvm-sanitizer-config: {{#if (and (ne compiler 'clang') (ne compiler 'apple-clang'))}}{{else if ubsan}}Undefined{{else if asan}}Address{{else if msan}}MemoryWithOrigins{{/if}}
81+
llvm-use-libcxx: {{#if use-libcxx }}ON{{else}}OFF{{/if}}
8082
mrdocs-flags: {{#if (and (eq compiler 'gcc') (not asan)) }}-static{{/if}}{{#if (and (eq compiler 'clang') msan) }}-fsanitize-memory-track-origins{{/if}}
8183
mrdocs-ccflags: {{{ ccflags }}} {{{ mrdocs-flags }}}
82-
mrdocs-cxxflags: {{{ cxxflags }}} {{{ mrdocs-flags }}}
84+
mrdocs-cxxflags: {{{ cxxflags }}} {{{ mrdocs-flags }}} {{#if use-libcxx }}-stdlib=libc++{{/if}}
8385
mrdocs-linkflags: {{#if asan }}-fsanitize=address{{/if}}
8486
mrdocs-package-generators: {{#if (ieq os 'windows') }}7Z ZIP WIX{{else}}TGZ TXZ{{/if}}
8587
mrdocs-release-package-artifact: release-packages-{{{ lowercase os }}}
@@ -280,6 +282,8 @@ jobs:
280282
# The LLVM_USE_SANITIZER option doesn't support GCC.
281283
extra-args: |
282284
-DLLVM_USE_SANITIZER=${{ matrix.llvm-sanitizer-config }}
285+
-DLLVM_OPTIMIZED_TABLEGEN=ON
286+
-DLLVM_ENABLE_LIBCXX=${{ matrix.llvm-use-libcxx }}
283287
cc: ${{ steps.setup-cpp.outputs.cc }}
284288
cxx: ${{ steps.setup-cpp.outputs.cxx }}
285289
ccflags: -gz=zstd

0 commit comments

Comments
 (0)