diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2018-02-23 15:32:32 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2018-02-23 15:32:32 +0000 |
commit | db74826fe1c25fbce7e3132e44fe9dff3eafcf3a (patch) | |
tree | eaaef64596df2d36109bd1fb80d4709c0bb8f818 /test/CodeGenCXX/ubsan-vtable-checks.cpp | |
parent | dddfaa1e7a54a28fffa56f08456a1fa0ad642ea6 (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.cpp | 6 |
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}} |