summaryrefslogtreecommitdiff
path: root/test/SemaCXX/dllimport.cpp
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2014-06-24 23:57:13 +0000
committerHans Wennborg <hans@hanshq.net>2014-06-24 23:57:13 +0000
commitd03ed82c9d0c2fb1a03e4f8e1f2107a5fe15ec63 (patch)
tree4e5051518f4b3c9f2fb3e8af4320e2febb04c420 /test/SemaCXX/dllimport.cpp
parent2c183aa7d4674ae3bea0cd1611415a8e8fe447f6 (diff)
downloadclang-d03ed82c9d0c2fb1a03e4f8e1f2107a5fe15ec63.tar.gz
clang-d03ed82c9d0c2fb1a03e4f8e1f2107a5fe15ec63.tar.bz2
clang-d03ed82c9d0c2fb1a03e4f8e1f2107a5fe15ec63.tar.xz
MS ABI: Ignore dll attributes on partial template specializations
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@211648 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaCXX/dllimport.cpp')
-rw-r--r--test/SemaCXX/dllimport.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/SemaCXX/dllimport.cpp b/test/SemaCXX/dllimport.cpp
index 7aaf1c64b3..8df17d7627 100644
--- a/test/SemaCXX/dllimport.cpp
+++ b/test/SemaCXX/dllimport.cpp
@@ -991,3 +991,12 @@ template <typename> struct __declspec(dllimport) S {
};
S<int> s;
}
+
+#ifdef MS
+// expected-warning@+3{{'dllimport' attribute ignored}}
+#endif
+template <typename T> struct PartiallySpecializedClassTemplate {};
+template <typename T> struct __declspec(dllimport) PartiallySpecializedClassTemplate<T*> { void f() {} };
+
+template <typename T> struct ExpliciallySpecializedClassTemplate {};
+template <> struct __declspec(dllimport) ExpliciallySpecializedClassTemplate<int> { void f() {} };