summaryrefslogtreecommitdiff
path: root/test/Modules/template-default-args.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-04-26 19:24:09 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-04-26 19:24:09 +0000
commitf0c55418e2b09eaab37c820d3756cc1b4584d084 (patch)
tree9263bf60f263bb5a7aaa4d2c1be43e5fc4d942e0 /test/Modules/template-default-args.cpp
parent583e75cce441388bc562fa225d23499261a0091e (diff)
Notes
Diffstat (limited to 'test/Modules/template-default-args.cpp')
-rw-r--r--test/Modules/template-default-args.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/Modules/template-default-args.cpp b/test/Modules/template-default-args.cpp
index 9d16cbf43420..c51cb2840884 100644
--- a/test/Modules/template-default-args.cpp
+++ b/test/Modules/template-default-args.cpp
@@ -44,3 +44,20 @@ H<> h; // expected-error {{default argument of 'H' must be imported from module
I<> i;
L<> *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>(); // expected-warning {{extension}}
+ template<typename T> struct S { X<T> xt; enum E : int; };
+ template<typename T> enum S<T>::E : int { a = X<T>() };
+
+ void test() {
+ f<int>();
+ n<int> = 1;
+ S<int> s;
+ S<int>::E e = S<int>::E::a;
+
+ Indirect::B<int>::C<int> indirect;
+ }
+}