diff options
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/Modules/Inputs/cxx-templates-a.h | 2 | ||||
| -rw-r--r-- | clang/test/Modules/Inputs/cxx-templates-b.h | 2 | ||||
| -rw-r--r-- | clang/test/Modules/Inputs/cxx-templates-common.h | 4 | ||||
| -rw-r--r-- | clang/test/Modules/cxx-templates.cpp | 2 |
4 files changed, 10 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/cxx-templates-a.h b/clang/test/Modules/Inputs/cxx-templates-a.h index f3150398e7a..928a544fc4d 100644 --- a/clang/test/Modules/Inputs/cxx-templates-a.h +++ b/clang/test/Modules/Inputs/cxx-templates-a.h @@ -85,3 +85,5 @@ template<typename T> struct PartiallyInstantiatePartialSpec<T*> { static T *bar() { return reinterpret_cast<T*>(0); } }; typedef PartiallyInstantiatePartialSpec<int*> PartiallyInstantiatePartialSpecHelper; + +void InstantiateWithAliasTemplate(WithAliasTemplate<int>::X<char>); diff --git a/clang/test/Modules/Inputs/cxx-templates-b.h b/clang/test/Modules/Inputs/cxx-templates-b.h index 8b97d22a370..cfaea282df0 100644 --- a/clang/test/Modules/Inputs/cxx-templates-b.h +++ b/clang/test/Modules/Inputs/cxx-templates-b.h @@ -69,6 +69,8 @@ template<> struct MergeSpecializations<double> { template<typename U> using AliasTemplate = U; +void InstantiateWithAliasTemplate(WithAliasTemplate<int>::X<char>); + @import cxx_templates_a; template<typename T> void UseDefinedInBImplIndirectly(T &v) { PerformDelayedLookup(v); diff --git a/clang/test/Modules/Inputs/cxx-templates-common.h b/clang/test/Modules/Inputs/cxx-templates-common.h index f3c90223091..d729c6edf4c 100644 --- a/clang/test/Modules/Inputs/cxx-templates-common.h +++ b/clang/test/Modules/Inputs/cxx-templates-common.h @@ -41,4 +41,8 @@ typedef WithExplicitSpecialization<int> WithExplicitSpecializationUse; template<typename T> struct WithImplicitSpecialMembers { int n; }; +template<typename T> struct WithAliasTemplate { + template<typename> using X = T; +}; + #include "cxx-templates-textual.h" diff --git a/clang/test/Modules/cxx-templates.cpp b/clang/test/Modules/cxx-templates.cpp index fedaa03ef4f..d0a6c0f9e5d 100644 --- a/clang/test/Modules/cxx-templates.cpp +++ b/clang/test/Modules/cxx-templates.cpp @@ -143,6 +143,8 @@ MergeSpecializations<double>::explicitly_specialized_in_b spec_in_b_2; MergeSpecializations<bool>::explicitly_specialized_in_c spec_in_c_2; #endif +using AliasTemplateMergingTest = WithAliasTemplate<int>::X<char>; + @import cxx_templates_common; typedef SomeTemplate<int*> SomeTemplateIntPtr; |

