1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 3 class A {}; 4 5 namespace B { 6 namespace A {} // expected-note{{namespace '::B::A' defined here}} \ 7 // expected-note 2{{namespace 'B::A' defined here}} 8 using namespace A ; 9 } 10 11 namespace C {} // expected-note{{namespace 'C' defined here}} 12 13 namespace D { 14 15 class C { 16 17 using namespace B ; // expected-error{{not allowed}} 18 }; 19 20 namespace B {} 21 22 using namespace C ; 23 using namespace B::A ; // expected-error{{no namespace named 'A' in namespace 'D::B'; did you mean '::B::A'?}} 24 using namespace ::B::A ; 25 using namespace ::D::F ; // expected-error{{expected namespace name}} 26 using namespace ::D::C ; // expected-error{{no namespace named 'C' in namespace 'D'; did you mean simply 'C'?}} 27 } 28 29 using namespace ! ; // expected-error{{expected namespace name}} 30 using namespace A ; // expected-error{{no namespace named 'A'; did you mean 'B::A'?}} 31 using namespace ::A // expected-error{{no namespace named 'A' in the global namespace; did you mean 'B::A'?}} \ 32 // expected-error{{expected ';' after namespace name}} 33 B ; 34 35 void test_nslookup() { 36 int B; 37 class C; 38 using namespace B; 39 using namespace C; 40 } 41