Skip to content

Commit b7d5598

Browse files
authored
Merge pull request #6117 from akyrtzi/pr/stable2/prefix-map-ignorelist
[stable/20221013][clang][cas] Make sure to "prefix remap" the files referenced via `-fsanitize-ignorelist=`
2 parents 8843fc5 + 199a609 commit b7d5598

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

clang/lib/Tooling/DependencyScanning/ScanAndUpdateArgs.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,9 @@ void DepscanPrefixMapping::remapInvocationPaths(CompilerInvocation &Invocation,
155155
Mapper.mapInPlace(CodeGenOpts.DebugCompilationDir);
156156
Mapper.mapInPlace(CodeGenOpts.CoverageCompilationDir);
157157

158+
// Sanitizer options.
159+
mapInPlaceAll(Invocation.getLangOpts()->NoSanitizeFiles);
160+
158161
// Handle coverage mappings.
159162
Mapper.mapInPlace(CodeGenOpts.ProfileInstrumentUsePath);
160163
Mapper.mapInPlace(CodeGenOpts.SampleProfileFile);

clang/test/CAS/include-tree-with-sanitizer.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,19 @@
1717
// CHECK: -fsanitize-ignorelist=[[OUT_DIR]]{{/|\\}}asan_ignorelist.txt \
1818
// CHECK: -fsanitize-ignorelist=[[OUT_DIR]]{{/|\\}}sys_asan_ignorelist.txt \
1919
20+
// RUN: env LLVM_CACHE_CAS_PATH=%t/cas LLVM_CACHE_PREFIX_MAPS="%S=/^src;%t=/^out" %clang-cache \
21+
// RUN: %clang -fsanitize=address -Xclang -fsanitize-ignorelist=%t/asan_ignorelist.txt -Xclang -fsanitize-system-ignorelist=%t/sys_asan_ignorelist.txt \
22+
// RUN: -target x86_64-apple-macos11 -c %s -o %t/output.o -Rcompile-job-cache 2> %t/output-tree2.txt
23+
24+
// RUN: cat %t/output-tree2.txt | sed \
25+
// RUN: -e "s/^.*miss for '//" \
26+
// RUN: -e "s/' .*$//" > %t/cache-key-tree2
27+
28+
// RUN: clang-cas-test -print-compile-job-cache-key -cas %t/cas/cas @%t/cache-key-tree2 > %t/key2.txt
29+
// RUN: FileCheck %s -input-file %t/key2.txt -check-prefix=PREFIXED
30+
//
31+
// PREFIXED: -fsanitize=address \
32+
// PREFIXED: -fsanitize-ignorelist=/^out{{/|\\}}asan_ignorelist.txt \
33+
// PREFIXED: -fsanitize-ignorelist=/^out{{/|\\}}sys_asan_ignorelist.txt \
34+
2035
void test() {}

0 commit comments

Comments
 (0)