blob: d888a6d93633098feb1af48d81b7a17e6741f8d7 [file] [log] [blame]
Anders Carlssone41590d2009-06-24 00:10:43 +00001// RUN: clang-cc -fsyntax-only -verify %s
2
3void f1() {
4 struct X {
5 struct Y;
6 };
7
8 struct X::Y {
9 void f() {}
10 };
11}
12
13void 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.
24void 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}