1a5728872c7702ddd09537c95bc3cbd20e1f2fb09Daniel Dunbar// RUN: %clang_cc1 -fsyntax-only -verify %s 28e8fb3be5bd78f0564444eca02b404566a5f3b5dAndy Gibbs// expected-no-diagnostics 36e24726524c2b51b31bb4b622aa678a46b024f42John McCall 46e24726524c2b51b31bb4b622aa678a46b024f42John McCall// This is basically paraphrased from the standard. 56e24726524c2b51b31bb4b622aa678a46b024f42John McCall 66e24726524c2b51b31bb4b622aa678a46b024f42John McCallnamespace Root { 76e24726524c2b51b31bb4b622aa678a46b024f42John McCall int i = 0; 86e24726524c2b51b31bb4b622aa678a46b024f42John McCall void f(); 96e24726524c2b51b31bb4b622aa678a46b024f42John McCall} 106e24726524c2b51b31bb4b622aa678a46b024f42John McCall 116e24726524c2b51b31bb4b622aa678a46b024f42John McCallnamespace A { 126e24726524c2b51b31bb4b622aa678a46b024f42John McCall using namespace Root; 136e24726524c2b51b31bb4b622aa678a46b024f42John McCall} 146e24726524c2b51b31bb4b622aa678a46b024f42John McCall 156e24726524c2b51b31bb4b622aa678a46b024f42John McCallnamespace B { 166e24726524c2b51b31bb4b622aa678a46b024f42John McCall using namespace Root; 176e24726524c2b51b31bb4b622aa678a46b024f42John McCall} 186e24726524c2b51b31bb4b622aa678a46b024f42John McCall 196e24726524c2b51b31bb4b622aa678a46b024f42John McCallnamespace AB { 206e24726524c2b51b31bb4b622aa678a46b024f42John McCall using namespace A; 216e24726524c2b51b31bb4b622aa678a46b024f42John McCall using namespace B; 226e24726524c2b51b31bb4b622aa678a46b024f42John McCall} 236e24726524c2b51b31bb4b622aa678a46b024f42John McCall 246e24726524c2b51b31bb4b622aa678a46b024f42John McCallvoid test() { 256e24726524c2b51b31bb4b622aa678a46b024f42John McCall if (AB::i) 266e24726524c2b51b31bb4b622aa678a46b024f42John McCall AB::f(); 276e24726524c2b51b31bb4b622aa678a46b024f42John McCall} 286e24726524c2b51b31bb4b622aa678a46b024f42John McCall 296e24726524c2b51b31bb4b622aa678a46b024f42John McCallnamespace C { 306e24726524c2b51b31bb4b622aa678a46b024f42John McCall using Root::i; 316e24726524c2b51b31bb4b622aa678a46b024f42John McCall using Root::f; 326e24726524c2b51b31bb4b622aa678a46b024f42John McCall} 336e24726524c2b51b31bb4b622aa678a46b024f42John McCall 346e24726524c2b51b31bb4b622aa678a46b024f42John McCallnamespace AC { 356e24726524c2b51b31bb4b622aa678a46b024f42John McCall using namespace A; 366e24726524c2b51b31bb4b622aa678a46b024f42John McCall using namespace C; 376e24726524c2b51b31bb4b622aa678a46b024f42John McCall} 386e24726524c2b51b31bb4b622aa678a46b024f42John McCall 396e24726524c2b51b31bb4b622aa678a46b024f42John McCallvoid test2() { 406e24726524c2b51b31bb4b622aa678a46b024f42John McCall if (AC::i) 416e24726524c2b51b31bb4b622aa678a46b024f42John McCall AC::f(); 426e24726524c2b51b31bb4b622aa678a46b024f42John McCall} 43