blob: 5fd4c54c1d944189b2d0fe91d1fdd564d0941f2d [file] [log] [blame]
Anders Carlssonf4d84b62009-08-30 00:54:35 +00001// RUN: clang-cc -fsyntax-only -verify %s
2namespace A {
3 namespace B {
4 class C { };
5 struct S { };
6 union U { };
7 }
8}
9
10void f() {
Anders Carlsson639bfc72009-08-30 06:49:43 +000011 A::B::i; // expected-error {{no member named 'i' in namespace 'A::B'}}
12 A::B::C::i; // expected-error {{no member named 'i' in class 'A::B::C'}}
13 ::i; // expected-error {{no member named 'i' in the global namespace}}
Anders Carlssonf4d84b62009-08-30 00:54:35 +000014}
15
Anders Carlssona31d5f72009-08-30 07:09:50 +000016namespace B {
17 class B { };
18}
19
20void g() {
21 A::B::D::E; // expected-error {{no member named 'D' in namespace 'A::B'}}
22 B::B::C::D; // expected-error {{no member named 'C' in class 'B::B'}}
23 ::C::D; // expected-error {{no member named 'C' in the global namespace}}
24}
25
Anders Carlsson639bfc72009-08-30 06:49:43 +000026int A::B::i = 10; // expected-error {{no member named 'i' in namespace 'A::B'}}
27int A::B::C::i = 10; // expected-error {{no member named 'i' in class 'A::B::C'}}
28int A::B::S::i = 10; // expected-error {{no member named 'i' in struct 'A::B::S'}}
29int A::B::U::i = 10; // expected-error {{no member named 'i' in union 'A::B::U'}}
Anders Carlssonf4d84b62009-08-30 00:54:35 +000030
Anders Carlsson639bfc72009-08-30 06:49:43 +000031using A::B::D; // expected-error {{no member named 'D' in namespace 'A::B'}}
Anders Carlsson05180af2009-08-30 00:58:45 +000032
33struct S : A::B::C {
Anders Carlsson639bfc72009-08-30 06:49:43 +000034 using A::B::C::f; // expected-error {{no member named 'f' in class 'A::B::C'}}
Anders Carlsson05180af2009-08-30 00:58:45 +000035
36};