summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2016-05-05 11:51:22 +0000
committerNico Weber <nicolasweber@gmx.de>2016-05-05 11:51:22 +0000
commitcff1935330656ce444e38f43f5f1397c13b3f0e0 (patch)
treef3d68806aea5057e5e6ba512525c6f4d8cfa3a1b
parent0275fac2c931bfb4f2a0c421a64c0aeb5a9d445c (diff)
downloadbcm5719-llvm-cff1935330656ce444e38f43f5f1397c13b3f0e0.tar.gz
bcm5719-llvm-cff1935330656ce444e38f43f5f1397c13b3f0e0.zip
Add a test for PR26076.
r262056 accidentally fixed this. Add a test to ensure it doesn't regress. llvm-svn: 268625
-rw-r--r--clang/test/CodeGenCXX/dllexport.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/dllexport.cpp b/clang/test/CodeGenCXX/dllexport.cpp
index b872548b2fb..c839242e43f 100644
--- a/clang/test/CodeGenCXX/dllexport.cpp
+++ b/clang/test/CodeGenCXX/dllexport.cpp
@@ -933,3 +933,17 @@ template struct __declspec(dllimport) ExplicitInstantiationDeclTemplateBase2<int
USEMEMFUNC(ExplicitInstantiationDeclTemplateBase2<int>, func)
// M32-DAG: define weak_odr dllexport x86_thiscallcc void @"\01?func@?$ExplicitInstantiationDeclTemplateBase2@H@@QAEXXZ"
// G32-DAG: define weak_odr x86_thiscallcc void @_ZN38ExplicitInstantiationDeclTemplateBase2IiE4funcEv
+
+// PR26076
+struct LayerSelectionBound;
+template <typename> struct Selection {};
+typedef Selection<LayerSelectionBound> LayerSelection;
+struct LayerImpl;
+struct __declspec(dllexport) LayerTreeImpl {
+ struct __declspec(dllexport) ElementLayers {
+ LayerImpl *main = nullptr;
+ };
+ LayerSelection foo;
+};
+// M32-DAG: define weak_odr dllexport x86_thiscallcc %"struct.LayerTreeImpl::ElementLayers"* @"\01??0ElementLayers@LayerTreeImpl@@QAE@XZ"
+// M64-DAG: define weak_odr dllexport %"struct.LayerTreeImpl::ElementLayers"* @"\01??0ElementLayers@LayerTreeImpl@@QEAA@XZ"
OpenPOWER on IntegriCloud