aboutsummaryrefslogtreecommitdiff
path: root/test/Modules/templates.mm
diff options
context:
space:
mode:
Diffstat (limited to 'test/Modules/templates.mm')
-rw-r--r--test/Modules/templates.mm8
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>;