// 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'}} } }