reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | // RUN: %clang_cc1 -emit-llvm-only -verify %s // This lame little test was ripped straight from the standard. namespace { int i; // expected-note {{candidate}} } void test0() { i++; } namespace A { namespace { int i; // expected-note {{candidate}} int j; } void test1() { i++; } } using namespace A; void test2() { i++; // expected-error {{reference to 'i' is ambiguous}} A::i++; j++; } // Test that all anonymous namespaces in a translation unit are // considered the same context. namespace { class Test3 {}; // expected-note {{previous definition}} } namespace { class Test3 {}; // expected-error {{redefinition of 'Test3'}} } namespace test4 { namespace { class Test4 {}; // expected-note {{previous definition}} } namespace { class Test4 {}; // expected-error {{redefinition of 'Test4'}} } } |