41
41
standards : ' 20'
42
42
latest-factors : |
43
43
msvc Optimized-Debug
44
- gcc UBSan Coverage
44
+ gcc UBSan ASan Coverage
45
45
clang UBSan ASan
46
46
apple-clang UBSan ASan
47
47
factors : ' '
@@ -77,10 +77,11 @@ jobs:
77
77
llvm-archive-extension: {{#if (ieq os 'windows') }}7z{{else}}tar.bz2{{/if}}
78
78
llvm-archive-filename: {{{ llvm-archive-basename }}}.{{{ llvm-archive-extension }}}
79
79
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}}
80
+ asan-options: {{#if (and (eq compiler 'gcc') asan) }}detect_container_overflow=0{{/if}}
80
81
mrdocs-flags: {{#if (and (eq compiler 'gcc') (not asan)) }}-static{{/if}}{{#if (and (eq compiler 'clang') msan) }}-fsanitize-memory-track-origins{{/if}}
81
82
mrdocs-ccflags: {{{ ccflags }}} {{{ mrdocs-flags }}}
82
83
mrdocs-cxxflags: {{{ cxxflags }}} {{{ mrdocs-flags }}}
83
- mrdocs-linkflags: {{#if asan }}-fsanitize=address{{/if}}
84
+ mrdocs-linkflags: {{#if asan }}-fsanitize=address{{/if}} {{#if (and (eq compiler 'gcc') asan) }}-fsanitize=leak{{/if}}
84
85
mrdocs-package-generators: {{#if (ieq os 'windows') }}7Z ZIP WIX{{else}}TGZ TXZ{{/if}}
85
86
mrdocs-release-package-artifact: release-packages-{{{ lowercase os }}}
86
87
output-file : matrix.json
@@ -375,6 +376,8 @@ jobs:
375
376
376
377
- name : CMake Workflow
377
378
uses :
alandefreitas/cpp-actions/[email protected]
379
+ env :
380
+ ASAN_OPTIONS : ${{ matrix.asan-options }}
378
381
with :
379
382
cmake-version : ' >=3.26'
380
383
cxxstd : ${{ matrix.cxxstd }}
@@ -388,7 +391,7 @@ jobs:
388
391
install-prefix : .local
389
392
extra-args : |
390
393
-D MRDOCS_BUILD_DOCS=OFF
391
- -D CMAKE_EXE_LINKER_FLAGS=${{ matrix.mrdocs-linkflags }}
394
+ -D CMAKE_EXE_LINKER_FLAGS=" ${{ matrix.mrdocs-linkflags }}"
392
395
-D LLVM_ROOT=${{ steps.resolve-third-party-dir.outputs.third-party-dir }}/llvm-project/install
393
396
-D Clang_ROOT=${{ steps.resolve-third-party-dir.outputs.third-party-dir }}/llvm-project/install
394
397
-D duktape_ROOT=${{ steps.resolve-third-party-dir.outputs.third-party-dir }}/duktape/install
0 commit comments