// RUN: %clang_cc1 -emit-llvm -triple i686-windows-itanium -fdeclspec %s -o - | FileCheck %s struct __declspec(dllexport) s { void f() {} }; // CHECK: define {{.*}} dllexport {{.*}} @_ZN1saSERKS_ // CHECK: define {{.*}} dllexport {{.*}} @_ZN1s1fEv template class c { void f() {} }; template class __declspec(dllexport) c; // CHECK: define {{.*}} dllexport {{.*}} @_ZN1cIiEaSERKS0_ // CHECK: define {{.*}} dllexport {{.*}} @_ZN1cIiE1fEv extern template class c; template class __declspec(dllexport) c; // CHECK: define {{.*}} dllexport {{.*}} @_ZN1cIcEaSERKS0_ // CHECK: define {{.*}} dllexport {{.*}} @_ZN1cIcE1fEv c g; template class __declspec(dllexport) c; // CHECK: define {{.*}} dllexport {{.*}} @_ZN1cIdEaSERKS0_ // CHECK: define {{.*}} dllexport {{.*}} @_ZN1cIdE1fEv