mirror of https://github.com/microsoft/clang.git
[MSan] Enable use-after-dtor instrumentation by default.
Summary: Enable the compile-time flag -fsanitize-memory-use-after-dtor by default. Note that the run-time option MSAN_OPTIONS=poison_in_dtor=1 still needs to be enabled for destructors to be poisoned. Reviewers: eugenis, vitalybuka, kcc Reviewed By: eugenis, vitalybuka Subscribers: cfe-commits, llvm-commits Differential Revision: https://reviews.llvm.org/D37860 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@322221 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f3d739418b
commit
0d034354cd
|
@ -30,7 +30,7 @@ class SanitizerArgs {
|
|||
std::vector<std::string> ExtraDeps;
|
||||
int CoverageFeatures = 0;
|
||||
int MsanTrackOrigins = 0;
|
||||
bool MsanUseAfterDtor = false;
|
||||
bool MsanUseAfterDtor = true;
|
||||
bool CfiCrossDso = false;
|
||||
bool CfiICallGeneralizePointers = false;
|
||||
int AsanFieldPadding = 0;
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
// Test without the flag -fsanitize-memory-use-after-dtor, to ensure that
|
||||
// Test with the flag -fno-sanitize-memory-use-after-dtor, to ensure that
|
||||
// instrumentation is not erroneously inserted
|
||||
// RUN: %clang_cc1 -fsanitize=memory -triple=x86_64-pc-linux -emit-llvm -o - %s | FileCheck %s
|
||||
// RUN: %clang_cc1 -fsanitize=memory -fno-sanitize-memory-use-after-dtor -triple=x86_64-pc-linux -emit-llvm -o - %s | FileCheck %s
|
||||
|
||||
struct Simple {
|
||||
int x;
|
||||
~Simple() {}
|
||||
};
|
||||
Simple s;
|
||||
|
@ -10,6 +11,7 @@ Simple s;
|
|||
// CHECK-NOT: call void @__sanitizer_dtor_callback
|
||||
|
||||
struct Inlined {
|
||||
int x;
|
||||
inline ~Inlined() {}
|
||||
};
|
||||
Inlined i;
|
||||
|
|
|
@ -184,11 +184,11 @@
|
|||
|
||||
// RUN: %clang -target x86_64-linux-gnu -fsanitize=memory -fsanitize-memory-use-after-dtor %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-USE-AFTER-DTOR
|
||||
// RUN: %clang -target x86_64-linux-gnu -fsanitize=memory -fno-sanitize-memory-use-after-dtor -fsanitize-memory-use-after-dtor %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-USE-AFTER-DTOR
|
||||
// RUN: %clang -target x86_64-linux-gnu -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-USE-AFTER-DTOR
|
||||
// CHECK-USE-AFTER-DTOR: -cc1{{.*}}-fsanitize-memory-use-after-dtor
|
||||
|
||||
// RUN: %clang -target x86_64-linux-gnu -fsanitize=memory -fno-sanitize-memory-use-after-dtor %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-USE-AFTER-DTOR-OFF
|
||||
// RUN: %clang -target x86_64-linux-gnu -fsanitize=memory -fsanitize-memory-use-after-dtor -fno-sanitize-memory-use-after-dtor %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-USE-AFTER-DTOR-OFF
|
||||
// RUN: %clang -target x86_64-linux-gnu -fsanitize=memory %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-USE-AFTER-DTOR-OFF
|
||||
// CHECK-USE-AFTER-DTOR-OFF-NOT: -cc1{{.*}}memory-use-after-dtor
|
||||
|
||||
// RUN: %clang -target x86_64-linux-gnu -fsanitize=address -fsanitize-address-field-padding=0 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-ASAN-FIELD-PADDING-0
|
||||
|
|
Loading…
Reference in New Issue