summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/vtable-key-function-ios.cpp
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2019-04-26 19:31:51 +0000
committerMartin Storsjo <martin@martin.st>2019-04-26 19:31:51 +0000
commit228ccd675484038df21d68b8178bbd56a00be56a (patch)
tree778d3da34ec6afc513c02328e7988e3856ded850 /clang/test/CodeGenCXX/vtable-key-function-ios.cpp
parent3820506960e058b04078e8301404474164fb2628 (diff)
downloadbcm5719-llvm-228ccd675484038df21d68b8178bbd56a00be56a.tar.gz
bcm5719-llvm-228ccd675484038df21d68b8178bbd56a00be56a.zip
[MinGW] Always emit local typeinfo
This makes sure that code built with headers for a statically linked libc++ also works when linking to the DLL version, when the DLL hasn't been built with --export-all-symbols. This matches what GCC for MinGW does for this test case. Differential Revision: https://reviews.llvm.org/D61177 llvm-svn: 359345
Diffstat (limited to 'clang/test/CodeGenCXX/vtable-key-function-ios.cpp')
-rw-r--r--clang/test/CodeGenCXX/vtable-key-function-ios.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/test/CodeGenCXX/vtable-key-function-ios.cpp b/clang/test/CodeGenCXX/vtable-key-function-ios.cpp
index a119c780bb4..ff2793ad51f 100644
--- a/clang/test/CodeGenCXX/vtable-key-function-ios.cpp
+++ b/clang/test/CodeGenCXX/vtable-key-function-ios.cpp
@@ -1,7 +1,7 @@
-// RUN: %clang_cc1 %s -triple=armv7-apple-darwin -emit-llvm -o - | FileCheck %s
+// RUN: %clang_cc1 %s -triple=armv7-apple-darwin -emit-llvm -o - | FileCheck -check-prefixes=CHECK,CHECK-UNIX %s
// RUN: %clang_cc1 %s -triple=armv7-apple-darwin -emit-llvm -o - | FileCheck -check-prefix=CHECK-LATE %s
-// RUN: %clang_cc1 %s -triple=x86_64-pc-windows-gnu -emit-llvm -o - | FileCheck %s
+// RUN: %clang_cc1 %s -triple=x86_64-pc-windows-gnu -emit-llvm -o - | FileCheck -check-prefixes=CHECK,CHECK-MINGW %s
// RUN: %clang_cc1 %s -triple=x86_64-pc-windows-gnu -emit-llvm -o - | FileCheck -check-prefix=CHECK-LATE %s
// The 'a' variants ask for the vtable first.
@@ -29,7 +29,8 @@ struct Test0a {
// V-table should be defined externally.
Test0a::Test0a() { use(typeid(Test0a)); }
// CHECK: @_ZTV6Test0a = external {{(dso_local )?}}unnamed_addr constant
-// CHECK: @_ZTI6Test0a = external {{(dso_local )?}}constant
+// CHECK-UNIX: @_ZTI6Test0a = external {{(dso_local )?}}constant
+// CHECK-MINGW: @_ZTI6Test0a = linkonce_odr {{(dso_local )?}}constant
// This is not a key function.
void Test0a::foo() {}
@@ -48,7 +49,8 @@ void Test0b::foo() {}
// V-table should be defined externally.
Test0b::Test0b() { use(typeid(Test0b)); }
// CHECK: @_ZTV6Test0b = external {{(dso_local )?}}unnamed_addr constant
-// CHECK: @_ZTI6Test0b = external {{(dso_local )?}}constant
+// CHECK-UNIX: @_ZTI6Test0b = external {{(dso_local )?}}constant
+// CHECK-MINGW: @_ZTI6Test0b = linkonce_odr {{(dso_local )?}}constant
/*** Test1a ******************************************************************/
OpenPOWER on IntegriCloud