1651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: rm -rf %t 2651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -fmodules -verify -fmodules-cache-path=%t -I %S/Inputs/template-specialization-visibility -std=c++11 %s 3651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// 46bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// expected-no-diagnostics 5651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 6651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines#include "c.h" 7651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 8651f13cea278ec967336033dd032faef0e9fc2ecStephen HinesS<int> implicit_inst_class_template; 9651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint k1 = implicit_inst_class_template.n; 10651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 116bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen HinesS<char> explicit_inst_class_template; 12651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint k2 = explicit_inst_class_template.n; 13651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 14651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines#include "a.h" 15651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 16651f13cea278ec967336033dd032faef0e9fc2ecStephen HinesT<int>::S implicit_inst_member_class_template; 17651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint k3 = implicit_inst_member_class_template.n; 18651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 196bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen HinesT<char>::S explicit_inst_member_class_template; 20651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint k4 = explicit_inst_member_class_template.n; 21651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 22651f13cea278ec967336033dd032faef0e9fc2ecStephen HinesT<int>::E implicit_inst_member_enum_template; 23651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint k5 = decltype(implicit_inst_member_enum_template)::e; 24651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 256bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen HinesT<char>::E explicit_inst_member_enum_template; 26651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesint k6 = decltype(explicit_inst_member_enum_template)::e; 27