1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// RUN: %clang_cc1 -fsyntax-only -verify %s
2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// This is basically paraphrased from the standard.
4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaonamespace Root {
6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  int i = 0;
7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  void f();
8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaonamespace A {
11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  using namespace Root;
12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaonamespace B {
15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  using namespace Root;
16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaonamespace AB {
19ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  using namespace A;
20ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  using namespace B;
21ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
22ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
23ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid test() {
24ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  if (AB::i)
25ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao    AB::f();
26ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
27ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
28ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaonamespace C {
29ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  using Root::i;
30ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  using Root::f;
31ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
32ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
33ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaonamespace AC {
34ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  using namespace A;
35ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  using namespace C;
36ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
37ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
38ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid test2() {
39ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  if (AC::i)
40ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao    AC::f();
41ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
42