summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/Inputs/cxx-templates-a.h
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2013-10-15 23:19:58 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2013-10-15 23:19:58 +0000
commit0c1065fa883b79e9a0b0b22a24fdb0189d50e201 (patch)
tree035c035f802c3569833938ef86a1e27b08ddce39 /clang/test/Modules/Inputs/cxx-templates-a.h
parent2a2b57db0ef3c840bea962d78d337c875c360100 (diff)
downloadbcm5719-llvm-0c1065fa883b79e9a0b0b22a24fdb0189d50e201.tar.gz
bcm5719-llvm-0c1065fa883b79e9a0b0b22a24fdb0189d50e201.zip
Test that we can merge together explicit and partial specializations from
merged declarations of a class template. llvm-svn: 192746
Diffstat (limited to 'clang/test/Modules/Inputs/cxx-templates-a.h')
-rw-r--r--clang/test/Modules/Inputs/cxx-templates-a.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/cxx-templates-a.h b/clang/test/Modules/Inputs/cxx-templates-a.h
index 0ca6e34d0bc..0b1614d3d9e 100644
--- a/clang/test/Modules/Inputs/cxx-templates-a.h
+++ b/clang/test/Modules/Inputs/cxx-templates-a.h
@@ -40,3 +40,11 @@ const auto enum_c_from_a = CommonTemplate<int>::c;
template<int> struct UseInt;
template<typename T> void UseRedeclaredEnum(UseInt<T() + CommonTemplate<char>::a>);
constexpr void (*UseRedeclaredEnumA)(UseInt<1>) = UseRedeclaredEnum<int>;
+
+template<typename> struct MergeSpecializations;
+template<typename T> struct MergeSpecializations<T*> {
+ typedef int partially_specialized_in_a;
+};
+template<> struct MergeSpecializations<char> {
+ typedef int explicitly_specialized_in_a;
+};
OpenPOWER on IntegriCloud