1*f4a2713aSLionel Sambuc // Test this without pch. 2*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -x c++ -include %S/Inputs/namespaces.h -fsyntax-only %s 3*f4a2713aSLionel Sambuc 4*f4a2713aSLionel Sambuc // Test with pch. 5*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -x c++ -emit-pch -o %t %S/Inputs/namespaces.h 6*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -x c++ -include-pch %t -fsyntax-only %s 7*f4a2713aSLionel Sambuc 8*f4a2713aSLionel Sambuc int int_val; 9*f4a2713aSLionel Sambuc N1::t1 *ip1 = &int_val; 10*f4a2713aSLionel Sambuc N1::t2 *ip2 = &int_val; 11*f4a2713aSLionel Sambuc N2::Inner::t3 *ip3 = &int_val; 12*f4a2713aSLionel Sambuc 13*f4a2713aSLionel Sambuc float float_val; 14*f4a2713aSLionel Sambuc namespace N2 { } 15*f4a2713aSLionel Sambuc N2::t1 *fp1 = &float_val; 16*f4a2713aSLionel Sambuc 17*f4a2713aSLionel Sambuc Alias1::t3 *ip4 = &int_val; 18*f4a2713aSLionel Sambuc t3 *ip5 = &int_val; 19*f4a2713aSLionel Sambuc 20*f4a2713aSLionel Sambuc void(*funp1)() = anon; 21*f4a2713aSLionel Sambuc 22*f4a2713aSLionel Sambuc namespace { 23*f4a2713aSLionel Sambuc class C; 24*f4a2713aSLionel Sambuc } 25*f4a2713aSLionel Sambuc C* cp1; 26*f4a2713aSLionel Sambuc 27*f4a2713aSLionel Sambuc namespace N3 { 28*f4a2713aSLionel Sambuc namespace { 29*f4a2713aSLionel Sambuc class C; 30*f4a2713aSLionel Sambuc } 31*f4a2713aSLionel Sambuc } 32*f4a2713aSLionel Sambuc 33*f4a2713aSLionel Sambuc N3::C *cp2; 34*f4a2713aSLionel Sambuc 35*f4a2713aSLionel Sambuc void(*funp2)() = ext; 36*f4a2713aSLionel Sambuc 37*f4a2713aSLionel Sambuc using N1::used_func; 38*f4a2713aSLionel Sambuc void (*pused)() = used_func; 39*f4a2713aSLionel Sambuc 40*f4a2713aSLionel Sambuc using N1::used_cls; 41*f4a2713aSLionel Sambuc used_cls s1; 42*f4a2713aSLionel Sambuc used_cls* ps1 = &s1; 43*f4a2713aSLionel Sambuc 44*f4a2713aSLionel Sambuc inline namespace N4 { } 45*f4a2713aSLionel Sambuc struct MemberOfN4 *mn4; 46