Home | History | Annotate | Download | only in class.local
      1 // RUN: %clang_cc1 -fsyntax-only -verify %s
      2 
      3 void f1() {
      4   struct X {
      5     struct Y;
      6   };
      7 
      8   struct X::Y {
      9     void f() {}
     10   };
     11 }
     12 
     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.
     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 enclosing function 'f3'}}
     28     };
     29   };
     30 }
     31