diff options
Diffstat (limited to 'test/Modules/templates.mm')
-rw-r--r-- | test/Modules/templates.mm | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/Modules/templates.mm b/test/Modules/templates.mm index fb4303f6a2..feeae85cc1 100644 --- a/test/Modules/templates.mm +++ b/test/Modules/templates.mm @@ -39,6 +39,11 @@ void testRedeclDefinition() { redeclDefinitionEmit(); } +// CHECK-NOT: @_ZN21ExplicitInstantiationILb0ELb0EE1fEv( +// CHECK: declare {{.*}}@_ZN21ExplicitInstantiationILb1ELb0EE1fEv( +// CHECK: define {{.*}}@_ZN21ExplicitInstantiationILb1ELb1EE1fEv( +// CHECK-NOT: @_ZN21ExplicitInstantiationILb0ELb0EE1fEv( + // These three are all the same type. typedef OuterIntInner_left OuterIntInner; typedef OuterIntInner_right OuterIntInner; @@ -76,3 +81,6 @@ template<typename T> struct MergePatternDecl { void f(Type); }; template<typename T> void MergePatternDecl<T>::f(Type type) {} +// CHECK: define {{.*}}@_ZN21ExplicitInstantiationILb0ELb1EE1fEv( +template struct ExplicitInstantiation<false, true>; +template struct ExplicitInstantiation<true, true>; |