1 // RUN: rm -rf %t
2 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -verify -fmodules-cache-path=%t -I %S/Inputs/template-specialization-visibility -std=c++11 %s
3 //
4 // expected-no-diagnostics
5 
6 #include "c.h"
7 
8 S<int> implicit_inst_class_template;
9 int k1 = implicit_inst_class_template.n;
10 
11 S<char> explicit_inst_class_template;
12 int k2 = explicit_inst_class_template.n;
13 
14 #include "a.h"
15 
16 T<int>::S implicit_inst_member_class_template;
17 int k3 = implicit_inst_member_class_template.n;
18 
19 T<char>::S explicit_inst_member_class_template;
20 int k4 = explicit_inst_member_class_template.n;
21 
22 T<int>::E implicit_inst_member_enum_template;
23 int k5 = decltype(implicit_inst_member_enum_template)::e;
24 
25 T<char>::E explicit_inst_member_enum_template;
26 int k6 = decltype(explicit_inst_member_enum_template)::e;
27