summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/ubsan-vtable-checks.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2018-02-23 15:32:32 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2018-02-23 15:32:32 +0000
commitdb74826fe1c25fbce7e3132e44fe9dff3eafcf3a (patch)
treeeaaef64596df2d36109bd1fb80d4709c0bb8f818 /test/CodeGenCXX/ubsan-vtable-checks.cpp
parentdddfaa1e7a54a28fffa56f08456a1fa0ad642ea6 (diff)
Start setting dso_local for COFF.
With this there are still some GVs where we don't set dso_local because setGVProperties is never called. I intend to fix that in followup commits. This is just the bare minimum to teach shouldAssumeDSOLocal what it should do for COFF. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@325915 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/ubsan-vtable-checks.cpp')
-rw-r--r--test/CodeGenCXX/ubsan-vtable-checks.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/test/CodeGenCXX/ubsan-vtable-checks.cpp b/test/CodeGenCXX/ubsan-vtable-checks.cpp
index 090707c29d..494455b4ef 100644
--- a/test/CodeGenCXX/ubsan-vtable-checks.cpp
+++ b/test/CodeGenCXX/ubsan-vtable-checks.cpp
@@ -15,7 +15,7 @@ struct U : T {
U::~U() {}
// ITANIUM: define i32 @_Z5get_vP1T
-// MSABI: define i32 @"\01?get_v
+// MSABI: define dso_local i32 @"\01?get_v
int get_v(T* t) {
// First, we check that vtable is not loaded before a type check.
// CHECK-NULL-NOT: load {{.*}} (%struct.T*{{.*}})**, {{.*}} (%struct.T*{{.*}})***
@@ -28,7 +28,7 @@ int get_v(T* t) {
}
// ITANIUM: define void @_Z9delete_itP1T
-// MSABI: define void @"\01?delete_it
+// MSABI: define dso_local void @"\01?delete_it
void delete_it(T *t) {
// First, we check that vtable is not loaded before a type check.
// CHECK-VPTR-NOT: load {{.*}} (%struct.T*{{.*}})**, {{.*}} (%struct.T*{{.*}})***
@@ -40,7 +40,7 @@ void delete_it(T *t) {
}
// ITANIUM: define %struct.U* @_Z7dyncastP1T
-// MSABI: define %struct.U* @"\01?dyncast
+// MSABI: define dso_local %struct.U* @"\01?dyncast
U* dyncast(T *t) {
// First, we check that dynamic_cast is not called before a type check.
// CHECK-VPTR-NOT: call i8* @__{{dynamic_cast|RTDynamicCast}}