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