summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/dllimport-rtti.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-11-07 07:26:38 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-11-07 07:26:38 +0000
commit1fb1a044e5cedc0ebda23ae0566565c336f9ceb5 (patch)
tree5970aab05a5b4b7ff1c04a360b372da9db813f16 /clang/test/CodeGenCXX/dllimport-rtti.cpp
parent771c132e0f0590f2c82f048998d33a62d8c3f636 (diff)
downloadbcm5719-llvm-1fb1a044e5cedc0ebda23ae0566565c336f9ceb5.tar.gz
bcm5719-llvm-1fb1a044e5cedc0ebda23ae0566565c336f9ceb5.zip
CodeGen, Itanium: Properly dllimport RTTI data
We would blindly assume that RTTI data should have the same linkage as the vtable because we didn't think the RTTI data was external. This oversight stemmed because we didn't take dllimport into account. This fixes PR21512. llvm-svn: 221511
Diffstat (limited to 'clang/test/CodeGenCXX/dllimport-rtti.cpp')
-rw-r--r--clang/test/CodeGenCXX/dllimport-rtti.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/clang/test/CodeGenCXX/dllimport-rtti.cpp b/clang/test/CodeGenCXX/dllimport-rtti.cpp
index 7ed7dadfe40..b5a5d543d6e 100644
--- a/clang/test/CodeGenCXX/dllimport-rtti.cpp
+++ b/clang/test/CodeGenCXX/dllimport-rtti.cpp
@@ -1,13 +1,17 @@
-// RUN: %clang_cc1 -triple i686-windows-msvc -emit-llvm -std=c++1y -O1 -disable-llvm-optzns -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple i686-windows-msvc -emit-llvm -std=c++1y -O1 -disable-llvm-optzns -o - %s | FileCheck %s --check-prefix=MSVC
+// RUN: %clang_cc1 -triple i686-windows-gnu -emit-llvm -std=c++1y -O1 -disable-llvm-optzns -o - %s | FileCheck %s --check-prefix=GNU
struct __declspec(dllimport) S {
- virtual void f();
+ virtual void f() {}
} s;
-// CHECK-DAG: @"\01??_7S@@6B@" = available_externally dllimport
-// CHECK-DAG: @"\01??_R0?AUS@@@8" = linkonce_odr
-// CHECK-DAG: @"\01??_R1A@?0A@EA@S@@8" = linkonce_odr
-// CHECK-DAG: @"\01??_R2S@@8" = linkonce_odr
-// CHECK-DAG: @"\01??_R3S@@8" = linkonce_odr
+// MSVC-DAG: @"\01??_7S@@6B@" = available_externally dllimport
+// MSVC-DAG: @"\01??_R0?AUS@@@8" = linkonce_odr
+// MSVC-DAG: @"\01??_R1A@?0A@EA@S@@8" = linkonce_odr
+// MSVC-DAG: @"\01??_R2S@@8" = linkonce_odr
+// MSVC-DAG: @"\01??_R3S@@8" = linkonce_odr
+
+// GNU-DAG: @_ZTV1S = available_externally dllimport
+// GNU-DAG: @_ZTI1S = external dllimport
struct U : S {
} u;
OpenPOWER on IntegriCloud