diff options
Diffstat (limited to 'test/Modules/template-default-args.cpp')
-rw-r--r-- | test/Modules/template-default-args.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/test/Modules/template-default-args.cpp b/test/Modules/template-default-args.cpp index 63187b8..dc44534 100644 --- a/test/Modules/template-default-args.cpp +++ b/test/Modules/template-default-args.cpp @@ -1,12 +1,13 @@ // RUN: rm -rf %t -// RUN: %clang_cc1 -fmodules -verify -fmodules-cache-path=%t -I %S/Inputs/template-default-args -std=c++11 %s -// -// expected-no-diagnostics +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -verify -fmodules-cache-path=%t -fno-modules-error-recovery -I %S/Inputs/template-default-args -std=c++11 %s template<typename T> struct A; template<typename T> struct B; template<typename T> struct C; template<typename T = int> struct D; +template<typename T = int> struct E {}; +template<typename T> struct H {}; +template<typename T = int, typename U = int> struct I {}; #include "b.h" @@ -15,8 +16,19 @@ template<typename T> struct B {}; template<typename T = int> struct B; template<typename T = int> struct C; template<typename T> struct D {}; +template<typename T> struct F {}; +template<typename T> struct G {}; + +#include "c.h" A<> a; B<> b; extern C<> c; D<> d; +E<> e; +F<> f; +G<> g; // expected-error {{default argument of 'G' must be imported from module 'X.A' before it is required}} +// expected-note@a.h:6 {{default argument declared here}} +H<> h; // expected-error {{default argument of 'H' must be imported from module 'X.A' before it is required}} +// expected-note@a.h:7 {{default argument declared here}} +I<> i; |