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