1 // Test without the flag -fsanitize-memory-use-after-dtor, to ensure that
2 // instrumentation is not erroneously inserted
3 // RUN: %clang_cc1 -fsanitize=memory -triple=x86_64-pc-linux -emit-llvm -o - %s | FileCheck %s
4 
5 struct Simple {
~SimpleSimple6   ~Simple() {}
7 };
8 Simple s;
9 // CHECK-LABEL: define {{.*}}SimpleD1Ev
10 // CHECK-NOT: call void @__sanitizer_dtor_callback
11 
12 struct Inlined {
~InlinedInlined13   inline ~Inlined() {}
14 };
15 Inlined i;
16 // CHECK-LABEL: define {{.*}}InlinedD1Ev
17 // CHECK-NOT: call void @__sanitizer_dtor_callback
18 
19 // CHECK-LABEL: define {{.*}}SimpleD2Ev
20 // CHECK-NOT: call void @__sanitizer_dtor_callback
21 
22 // CHECK-LABEL: define {{.*}}InlinedD2Ev
23 // CHECK-NOT: call void @__sanitizer_dtor_callback
24