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/vtable-key-function-ios.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/vtable-key-function-ios.cpp')
-rw-r--r-- | test/CodeGenCXX/vtable-key-function-ios.cpp | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/test/CodeGenCXX/vtable-key-function-ios.cpp b/test/CodeGenCXX/vtable-key-function-ios.cpp index 8a3466beda..a119c780bb 100644 --- a/test/CodeGenCXX/vtable-key-function-ios.cpp +++ b/test/CodeGenCXX/vtable-key-function-ios.cpp @@ -28,8 +28,8 @@ struct Test0a { // V-table should be defined externally. Test0a::Test0a() { use(typeid(Test0a)); } -// CHECK: @_ZTV6Test0a = external unnamed_addr constant -// CHECK: @_ZTI6Test0a = external constant +// CHECK: @_ZTV6Test0a = external {{(dso_local )?}}unnamed_addr constant +// CHECK: @_ZTI6Test0a = external {{(dso_local )?}}constant // This is not a key function. void Test0a::foo() {} @@ -47,8 +47,8 @@ void Test0b::foo() {} // V-table should be defined externally. Test0b::Test0b() { use(typeid(Test0b)); } -// CHECK: @_ZTV6Test0b = external unnamed_addr constant -// CHECK: @_ZTI6Test0b = external constant +// CHECK: @_ZTV6Test0b = external {{(dso_local )?}}unnamed_addr constant +// CHECK: @_ZTI6Test0b = external {{(dso_local )?}}constant /*** Test1a ******************************************************************/ @@ -60,9 +60,9 @@ struct Test1a { // V-table needs to be defined weakly. Test1a::Test1a() { use(typeid(Test1a)); } -// CHECK: @_ZTV6Test1a = linkonce_odr unnamed_addr constant -// CHECK-LATE: @_ZTS6Test1a = linkonce_odr constant -// CHECK-LATE: @_ZTI6Test1a = linkonce_odr constant +// CHECK: @_ZTV6Test1a = linkonce_odr {{(dso_local )?}}unnamed_addr constant +// CHECK-LATE: @_ZTS6Test1a = linkonce_odr {{(dso_local )?}}constant +// CHECK-LATE: @_ZTI6Test1a = linkonce_odr {{(dso_local )?}}constant // This defines the key function. inline void Test1a::foo() {} @@ -80,9 +80,9 @@ inline void Test1b::foo() {} // V-table should be defined weakly.. Test1b::Test1b() { use(typeid(Test1b)); } -// CHECK: @_ZTV6Test1b = linkonce_odr unnamed_addr constant -// CHECK: @_ZTS6Test1b = linkonce_odr constant -// CHECK: @_ZTI6Test1b = linkonce_odr constant +// CHECK: @_ZTV6Test1b = linkonce_odr {{(dso_local )?}}unnamed_addr constant +// CHECK: @_ZTS6Test1b = linkonce_odr {{(dso_local )?}}constant +// CHECK: @_ZTI6Test1b = linkonce_odr {{(dso_local )?}}constant /*** Test2a ******************************************************************/ @@ -94,9 +94,9 @@ struct Test2a { // V-table should be defined with weak linkage. Test2a::Test2a() { use(typeid(Test2a)); } -// CHECK: @_ZTV6Test2a = linkonce_odr unnamed_addr constant -// CHECK-LATE: @_ZTS6Test2a = linkonce_odr constant -// CHECK-LATE: @_ZTI6Test2a = linkonce_odr constant +// CHECK: @_ZTV6Test2a = linkonce_odr {{(dso_local )?}}unnamed_addr constant +// CHECK-LATE: @_ZTS6Test2a = linkonce_odr {{(dso_local )?}}constant +// CHECK-LATE: @_ZTI6Test2a = linkonce_odr {{(dso_local )?}}constant void Test2a::bar() {} inline void Test2a::foo() {} @@ -113,9 +113,9 @@ void Test2b::bar() {} // V-table should be defined with weak linkage. Test2b::Test2b() { use(typeid(Test2b)); } -// CHECK: @_ZTV6Test2b = linkonce_odr unnamed_addr constant -// CHECK-LATE: @_ZTS6Test2b = linkonce_odr constant -// CHECK-LATE: @_ZTI6Test2b = linkonce_odr constant +// CHECK: @_ZTV6Test2b = linkonce_odr {{(dso_local )?}}unnamed_addr constant +// CHECK-LATE: @_ZTS6Test2b = linkonce_odr {{(dso_local )?}}constant +// CHECK-LATE: @_ZTI6Test2b = linkonce_odr {{(dso_local )?}}constant inline void Test2b::foo() {} @@ -132,9 +132,9 @@ inline void Test2c::foo() {} // V-table should be defined with weak linkage. Test2c::Test2c() { use(typeid(Test2c)); } -// CHECK: @_ZTV6Test2c = linkonce_odr unnamed_addr constant -// CHECK: @_ZTS6Test2c = linkonce_odr constant -// CHECK: @_ZTI6Test2c = linkonce_odr constant +// CHECK: @_ZTV6Test2c = linkonce_odr {{(dso_local )?}}unnamed_addr constant +// CHECK: @_ZTS6Test2c = linkonce_odr {{(dso_local )?}}constant +// CHECK: @_ZTI6Test2c = linkonce_odr {{(dso_local )?}}constant /*** Test3a ******************************************************************/ @@ -146,9 +146,9 @@ struct Test3a { // V-table should be defined with weak linkage. Test3a::Test3a() { use(typeid(Test3a)); } -// CHECK: @_ZTV6Test3a = linkonce_odr unnamed_addr constant -// CHECK-LATE: @_ZTS6Test3a = linkonce_odr constant -// CHECK-LATE: @_ZTI6Test3a = linkonce_odr constant +// CHECK: @_ZTV6Test3a = linkonce_odr {{(dso_local )?}}unnamed_addr constant +// CHECK-LATE: @_ZTS6Test3a = linkonce_odr {{(dso_local )?}}constant +// CHECK-LATE: @_ZTI6Test3a = linkonce_odr {{(dso_local )?}}constant // This defines the key function. inline void Test3a::bar() {} @@ -166,9 +166,9 @@ inline void Test3b::bar() {} // V-table should be defined with weak linkage. Test3b::Test3b() { use(typeid(Test3b)); } -// CHECK: @_ZTV6Test3b = linkonce_odr unnamed_addr constant -// CHECK-LATE: @_ZTS6Test3b = linkonce_odr constant -// CHECK-LATE: @_ZTI6Test3b = linkonce_odr constant +// CHECK: @_ZTV6Test3b = linkonce_odr {{(dso_local )?}}unnamed_addr constant +// CHECK-LATE: @_ZTS6Test3b = linkonce_odr {{(dso_local )?}}constant +// CHECK-LATE: @_ZTI6Test3b = linkonce_odr {{(dso_local )?}}constant // This defines the key function. inline void Test3b::foo() {} @@ -187,6 +187,6 @@ inline void Test3c::foo() {} // V-table should be defined with weak linkage. Test3c::Test3c() { use(typeid(Test3c)); } -// CHECK: @_ZTV6Test3c = linkonce_odr unnamed_addr constant -// CHECK: @_ZTS6Test3c = linkonce_odr constant -// CHECK: @_ZTI6Test3c = linkonce_odr constant +// CHECK: @_ZTV6Test3c = linkonce_odr {{(dso_local )?}}unnamed_addr constant +// CHECK: @_ZTS6Test3c = linkonce_odr {{(dso_local )?}}constant +// CHECK: @_ZTI6Test3c = linkonce_odr {{(dso_local )?}}constant |