18fbe78f6SDaniel Dunbar // RUN: %clang_cc1 -fsyntax-only -verify %s 2d7c4d984SDouglas Gregor 3d7c4d984SDouglas Gregor class A {}; 4d7c4d984SDouglas Gregor 5d7c4d984SDouglas Gregor namespace B { 6493ea635SKaelyn Uhrain namespace A {} // expected-note{{namespace '::B::A' defined here}} \ 7*8aa8da85SKaelyn Uhrain // expected-note 2{{namespace 'B::A' defined here}} 8d7c4d984SDouglas Gregor using namespace A ; 9d7c4d984SDouglas Gregor } 10d7c4d984SDouglas Gregor 1110413a46SKaelyn Uhrain namespace C {} // expected-note{{namespace 'C' defined here}} 12d7c4d984SDouglas Gregor 13d7c4d984SDouglas Gregor namespace D { 14d7c4d984SDouglas Gregor 15d7c4d984SDouglas Gregor class C { 16d7c4d984SDouglas Gregor 17fec52635SDouglas Gregor using namespace B ; // expected-error{{not allowed}} 18d7c4d984SDouglas Gregor }; 19d7c4d984SDouglas Gregor 20d7c4d984SDouglas Gregor namespace B {} 21d7c4d984SDouglas Gregor 22d7c4d984SDouglas Gregor using namespace C ; 235986c3e9SKaelyn Uhrain using namespace B::A ; // expected-error{{no namespace named 'A' in namespace 'D::B'; did you mean '::B::A'?}} 24d7c4d984SDouglas Gregor using namespace ::B::A ; 2552dd02d8SKaelyn Uhrain using namespace ::D::F ; // expected-error{{expected namespace name}} 2610413a46SKaelyn Uhrain using namespace ::D::C ; // expected-error{{no namespace named 'C' in namespace 'D'; did you mean simply 'C'?}} 27d7c4d984SDouglas Gregor } 28d7c4d984SDouglas Gregor 29d7c4d984SDouglas Gregor using namespace ! ; // expected-error{{expected namespace name}} 30493ea635SKaelyn Uhrain using namespace A ; // expected-error{{no namespace named 'A'; did you mean 'B::A'?}} 31*8aa8da85SKaelyn Uhrain using namespace ::A // expected-error{{no namespace named 'A' in the global namespace; did you mean 'B::A'?}} \ 3287f95b0aSDouglas Gregor // expected-error{{expected ';' after namespace name}} 3387f95b0aSDouglas Gregor B ; 34d7c4d984SDouglas Gregor test_nslookup()3534074326SDouglas Gregorvoid test_nslookup() { 3634074326SDouglas Gregor int B; 3734074326SDouglas Gregor class C; 3834074326SDouglas Gregor using namespace B; 3934074326SDouglas Gregor using namespace C; 4034074326SDouglas Gregor } 41