forked from OSchip/llvm-project
[test][msan] Don't ignore the suffix if use-after-dtor callback
This commit is contained in:
parent
dc400f8612
commit
c7df82e469
|
@ -63,22 +63,22 @@ struct Adjacent {
|
|||
Adjacent ad;
|
||||
|
||||
// CHECK-LABEL: define {{.*}}PackedD2Ev
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}i64 17{{.*}}, !dbg ![[DI1:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}i64 17{{.*}}, !dbg ![[DI1:[0-9]+]]
|
||||
// CHECK: ret void
|
||||
|
||||
// CHECK-LABEL: define {{.*}}EmptyD2Ev
|
||||
// CHECK: ret void
|
||||
|
||||
// CHECK-LABEL: define {{.*}}SimpleD2Ev
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}i64 1{{.*}}, !dbg ![[DI2:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}i64 1{{.*}}, !dbg ![[DI2:[0-9]+]]
|
||||
// CHECK: ret void
|
||||
|
||||
// CHECK-LABEL: define {{.*}}AnonD2Ev
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}i64 5{{.*}}, !dbg ![[DI3:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}i64 5{{.*}}, !dbg ![[DI3:[0-9]+]]
|
||||
// CHECK: ret void
|
||||
|
||||
// CHECK-LABEL: define {{.*}}AdjacentD2Ev
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}i64 1{{.*}}, !dbg ![[DI4:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}i64 1{{.*}}, !dbg ![[DI4:[0-9]+]]
|
||||
// CHECK: ret void
|
||||
|
||||
// CHECK-LABEL: !DIFile{{.*}}cpp
|
||||
|
|
|
@ -56,16 +56,16 @@ Defaulted_Non_Trivial def_non_trivial;
|
|||
// instrumentation inserted.
|
||||
// CHECK-LABEL: define {{.*}}SimpleD2Ev
|
||||
// CHECK-NOT: store i{{[0-9]+}} 0, {{.*}}@__msan_param_tls
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}, !dbg ![[DI1:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}, !dbg ![[DI1:[0-9]+]]
|
||||
// CHECK: ret void
|
||||
|
||||
// CHECK-LABEL: define {{.*}}InlinedD2Ev
|
||||
// CHECK-NOT: store i{{[0-9]+}} 0, {{.*}}@__msan_param_tls
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}, !dbg ![[DI2:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}, !dbg ![[DI2:[0-9]+]]
|
||||
// CHECK: ret void
|
||||
|
||||
// CHECK-LABEL: define {{.*}}Defaulted_Non_TrivialD2Ev
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}, !dbg ![[DI3:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}, !dbg ![[DI3:[0-9]+]]
|
||||
// CHECK: ret void
|
||||
|
||||
// CHECK-LABEL: !DIFile{{.*}}cpp
|
||||
|
|
|
@ -49,15 +49,15 @@ Derived d;
|
|||
|
||||
// Poison members and vtable ptr.
|
||||
// CHECK-LABEL: define {{.*}}BaseD2Ev
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}, !dbg ![[DI1:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}i64 8{{.*}}, !dbg ![[DI1]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}, !dbg ![[DI1:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}i64 8{{.*}}, !dbg ![[DI1]]
|
||||
// CHECK: ret void
|
||||
|
||||
// Poison members and destroy non-virtual base.
|
||||
// CHECK-LABEL: define {{.*}}DerivedD2Ev
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}, !dbg ![[DI3:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}, !dbg ![[DI3:[0-9]+]]
|
||||
// CHECK: call void {{.*}}BaseD2Ev
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}i64 8{{.*}}, !dbg ![[DI3]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}i64 8{{.*}}, !dbg ![[DI3]]
|
||||
// CHECK: ret void
|
||||
|
||||
// CHECK-LABEL: !DIFile{{.*}}cpp
|
||||
|
|
|
@ -15,7 +15,7 @@ struct Simple {
|
|||
Simple s;
|
||||
// Simple internal member is poisoned by compiler-generated dtor
|
||||
// CHECK: define {{.*}}SimpleD2Ev{{.*}} [[ATTRIBUTE:#[0-9]+]]
|
||||
// CHECK: {{^ *}}call void @__sanitizer_dtor_callback
|
||||
// CHECK: {{^ *}}call void @__sanitizer_dtor_callback(
|
||||
// CHECK: ret void
|
||||
|
||||
// Destructor does not emit any tail calls
|
||||
|
|
|
@ -20,8 +20,8 @@ Derived d;
|
|||
// Poison members, then poison the trivial base class.
|
||||
// CHECK-LABEL: define {{.*}}DerivedD2Ev
|
||||
// CHECK: %[[GEP:[0-9a-z]+]] = getelementptr i8, i8* {{.*}}, i64 16
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}%[[GEP]], i64 4{{.*}}, !dbg ![[DI:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}, i64 16{{.*}}, !dbg ![[DI]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}%[[GEP]], i64 4{{.*}}, !dbg ![[DI:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}, i64 16{{.*}}, !dbg ![[DI]]
|
||||
// CHECK: ret void
|
||||
|
||||
// CHECK-LABEL: !DIFile{{.*}}cpp
|
||||
|
|
|
@ -12,8 +12,14 @@ struct Trivial {
|
|||
};
|
||||
Trivial t;
|
||||
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}, !dbg ![[DI:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}, !dbg ![[DI:[0-9]+]]
|
||||
|
||||
// CHECK-LABEL: !DIFile{{.*}}.cpp
|
||||
|
||||
// CHECK: ![[DI]] = {{.*}}line: [[@LINE-371]]
|
||||
|
||||
// CHECK-LABEL: !DIFile{{.*}}cpp
|
||||
|
||||
// CHECK: ![[DI1]] = {{.*}}line: [[@LINE-28]]
|
||||
// CHECK: ![[DI2]] = {{.*}}line: [[@LINE-37]]
|
||||
// CHECK: ![[DI4]] = {{.*}}line: [[@LINE-30]]
|
||||
|
|
|
@ -25,18 +25,18 @@ B b;
|
|||
// CHECK-LABEL: define {{.*}}BD1Ev
|
||||
// CHECK: call void {{.*}}BD2Ev
|
||||
// CHECK: call void {{.*}}AD2Ev
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}, !dbg ![[DI1:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}, !dbg ![[DI1:[0-9]+]]
|
||||
// CHECK: ret void
|
||||
|
||||
// Since no virtual bases, poison vtable ptr here.
|
||||
// CHECK-LABEL: define {{.*}}AD2Ev
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}, !dbg ![[DI2:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}, !dbg ![[DI2]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}, !dbg ![[DI2:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}, !dbg ![[DI2]]
|
||||
// CHECK: ret void
|
||||
|
||||
// Poison members
|
||||
// CHECK-LABEL: define {{.*}}BD2Ev
|
||||
// CHECK: call void @__sanitizer_dtor_callback{{.*}}, !dbg ![[DI4:[0-9]+]]
|
||||
// CHECK: call void @__sanitizer_dtor_callback({{.*}}, !dbg ![[DI4:[0-9]+]]
|
||||
// CHECK: ret void
|
||||
|
||||
// CHECK-LABEL: !DIFile{{.*}}cpp
|
||||
|
|
Loading…
Reference in New Issue