forked from OSchip/llvm-project
Use -fsanitize-recover instead of -mllvm -msan-keep-going: clang.
Summary: Use -fsanitize-recover instead of -mllvm -msan-keep-going: pass -fsanitize-recover value to msan. Reviewers: eugenis Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D26354 Patch by Aleksey Shlyapnikov. llvm-svn: 286148
This commit is contained in:
parent
e06ef141fc
commit
5b5370aebe
|
@ -200,7 +200,9 @@ static void addMemorySanitizerPass(const PassManagerBuilder &Builder,
|
||||||
const PassManagerBuilderWrapper &BuilderWrapper =
|
const PassManagerBuilderWrapper &BuilderWrapper =
|
||||||
static_cast<const PassManagerBuilderWrapper&>(Builder);
|
static_cast<const PassManagerBuilderWrapper&>(Builder);
|
||||||
const CodeGenOptions &CGOpts = BuilderWrapper.getCGOpts();
|
const CodeGenOptions &CGOpts = BuilderWrapper.getCGOpts();
|
||||||
PM.add(createMemorySanitizerPass(CGOpts.SanitizeMemoryTrackOrigins));
|
int TrackOrigins = CGOpts.SanitizeMemoryTrackOrigins;
|
||||||
|
bool Recover = CGOpts.SanitizeRecover.has(SanitizerKind::Memory);
|
||||||
|
PM.add(createMemorySanitizerPass(TrackOrigins, Recover));
|
||||||
|
|
||||||
// MemorySanitizer inserts complex instrumentation that mostly follows
|
// MemorySanitizer inserts complex instrumentation that mostly follows
|
||||||
// the logic of the original code, but operates on "shadow" values.
|
// the logic of the original code, but operates on "shadow" values.
|
||||||
|
|
Loading…
Reference in New Issue