blob: 91cde600f90016dc5de2be54297d0a74e537a345 [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 Carlsson639bfc72009-08-30 06:49:43 +000016int A::B::i = 10; // expected-error {{no member named 'i' in namespace 'A::B'}}
17int A::B::C::i = 10; // expected-error {{no member named 'i' in class 'A::B::C'}}
18int A::B::S::i = 10; // expected-error {{no member named 'i' in struct 'A::B::S'}}
19int A::B::U::i = 10; // expected-error {{no member named 'i' in union 'A::B::U'}}
Anders Carlssonf4d84b62009-08-30 00:54:35 +000020
Anders Carlsson639bfc72009-08-30 06:49:43 +000021using A::B::D; // expected-error {{no member named 'D' in namespace 'A::B'}}
Anders Carlsson05180af2009-08-30 00:58:45 +000022
23struct S : A::B::C {
Anders Carlsson639bfc72009-08-30 06:49:43 +000024 using A::B::C::f; // expected-error {{no member named 'f' in class 'A::B::C'}}
Anders Carlsson05180af2009-08-30 00:58:45 +000025
26};