• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  // RUN: %clang_cc1 -fsyntax-only -verify %s
2  
f1()3  void f1() {
4    struct X {
5      struct Y;
6    };
7  
8    struct X::Y {
9      void f() {}
10    };
11  }
12  
f2()13  void f2() {
14    struct X {
15      struct Y;
16  
17      struct Y {
18        void f() {}
19      };
20    };
21  }
22  
23  // A class nested within a local class is a local class.
f3(int a)24  void f3(int a) { // expected-note{{'a' declared here}}
25    struct X {
26      struct Y {
27        int f() { return a; } // expected-error{{reference to local variable 'a' declared in enclosed function 'f3'}}
28      };
29    };
30  }
31