summaryrefslogtreecommitdiff
path: root/test/Modules/Inputs/template-default-args
diff options
context:
space:
mode:
Diffstat (limited to 'test/Modules/Inputs/template-default-args')
-rw-r--r--test/Modules/Inputs/template-default-args/a.h13
-rw-r--r--test/Modules/Inputs/template-default-args/d.h7
2 files changed, 20 insertions, 0 deletions
diff --git a/test/Modules/Inputs/template-default-args/a.h b/test/Modules/Inputs/template-default-args/a.h
index 532cbc8be035..1541d5f6a1b5 100644
--- a/test/Modules/Inputs/template-default-args/a.h
+++ b/test/Modules/Inputs/template-default-args/a.h
@@ -14,3 +14,16 @@ struct FriendL {
template<typename T> friend struct L;
};
END
+
+namespace DeferredLookup {
+ template<typename T, typename U = T> using X = U;
+ template<typename T> void f() { (void) X<T>(); }
+ template<typename T> int n = X<T>();
+ template<typename T> struct S { X<T> xt; enum E : int; };
+ template<typename T> enum S<T>::E : int { a = X<T>() };
+
+ namespace Indirect {
+ template<typename, bool = true> struct A {};
+ template<typename> struct B { template<typename T> using C = A<T>; };
+ }
+}
diff --git a/test/Modules/Inputs/template-default-args/d.h b/test/Modules/Inputs/template-default-args/d.h
index 5961c91a82ec..07ececc1f41d 100644
--- a/test/Modules/Inputs/template-default-args/d.h
+++ b/test/Modules/Inputs/template-default-args/d.h
@@ -4,3 +4,10 @@ struct FriendL {
template<typename T> friend struct L;
};
END
+
+namespace DeferredLookup {
+ namespace Indirect {
+ template<typename, bool = true> struct A {};
+ template<typename> struct B { template<typename T> using C = A<T>; };
+ }
+}