1 // RUN: rm -rf %t 2 // RUN: %clang_cc1 -fmodules -verify -fmodules-cache-path=%t -I %S/Inputs/template-default-args -std=c++11 %s 3 4 template<typename T> struct A; 5 template<typename T> struct B; 6 template<typename T> struct C; 7 template<typename T = int> struct D; 8 template<typename T = int> struct E {}; 9 template<typename T> struct H {}; // expected-note {{here}} 10 11 #include "b.h" 12 13 template<typename T = int> struct A {}; 14 template<typename T> struct B {}; 15 template<typename T = int> struct B; 16 template<typename T = int> struct C; 17 template<typename T> struct D {}; 18 template<typename T> struct F {}; 19 template<typename T> struct G {}; // expected-note {{here}} 20 21 #include "c.h" 22 23 A<> a; 24 B<> b; 25 extern C<> c; 26 D<> d; 27 E<> e; 28 F<> f; 29 G<> g; // expected-error {{too few}} 30 H<> h; // expected-error {{too few}} 31