diff options
author | Nico Weber <nicolasweber@gmx.de> | 2016-05-05 11:51:22 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2016-05-05 11:51:22 +0000 |
commit | cff1935330656ce444e38f43f5f1397c13b3f0e0 (patch) | |
tree | f3d68806aea5057e5e6ba512525c6f4d8cfa3a1b | |
parent | 0275fac2c931bfb4f2a0c421a64c0aeb5a9d445c (diff) | |
download | bcm5719-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.cpp | 14 |
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" |