| // { dg-do assemble } |
| // Message-Id: <m0lLuUK-0000fRC@nix.appli.se> |
| // Date: Wed, 4 Mar 92 12:50 MET |
| // From: niklas@appli.se (Niklas Hallqvist) |
| // To: eichin@cygnus.com, tiemann@cygnus.com |
| // Cc: gcc2@cygnus.com |
| // Subject: nested type handling |
| // |
| // The last couple of days I've been struggling with nested types in the |
| // C++ compiler. Frankly, it's a mess! Was it impossible to put the stuff |
| // into the parser instead of the lexer? Well, anyway, to get the following |
| // code to compile: |
| // |
| // struct O { |
| // struct M { |
| // struct I |
| // {}; |
| // }; |
| // }; |
| // O::M::I s; |
| // |
| // a patch enclosed below is needed. I'm not sure if it causes any |
| // unanticipated side-effects, but it seem to work well for me. |
| |
| |
| struct O { |
| struct M { |
| struct I |
| {}; |
| }; |
| }; |
| O::M::I s; |