33 lines
792 B
C
33 lines
792 B
C
// { 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;
|