1// RUN: %clang_cc1 -fsyntax-only -verify %s
2
3class A {};
4
5namespace B {
6  namespace A {}
7  using namespace A ;
8}
9
10namespace C {}
11
12namespace D {
13
14  class C {
15
16    using namespace B ; // expected-error{{not allowed}}
17  };
18
19  namespace B {}
20
21  using namespace C ;
22  using namespace B::A ; // expected-error{{expected namespace name}}
23  //FIXME: would be nice to note, that A is not member of D::B
24  using namespace ::B::A ;
25  using namespace ::D::C ; // expected-error{{expected namespace name}}
26}
27
28using namespace ! ; // expected-error{{expected namespace name}}
29using namespace A ; // expected-error{{expected namespace name}}
30using namespace ::A // expected-error{{expected namespace name}} \
31                    // expected-error{{expected ';' after namespace name}}
32                    B ;
33
34void test_nslookup() {
35  int B;
36  class C;
37  using namespace B;
38  using namespace C;
39}
40
41