// RUN: rm -rf %t // 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 struct A; template struct B; template struct C; template struct D; template struct E {}; template struct H {}; template struct I {}; #include "b.h" template struct A {}; template struct B {}; template struct B; template struct C; template struct D {}; template struct F {}; template 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;