brintos

brintos / llvm-project-archived public Read only

0
0
Text · 496 B · 3753790 Raw
31 lines · cpp
1// RUN: %clang_cc1 -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 enclosing function 'f3'}}28    };29  };30}31