> Eric, would emitting GIMPLE from gigi make that a lot more > complicated? That is, would you prefer to have an even > higher-level early GIMPLE (considering stuff like TARGET_EXPR > and WITH_CLEANUP_EXPR, etc.)?
This would mean privatizing in gigi all the machinery needed to support types with variable size scattered over the middle-end (tree.c, fold-const.c and stor-layout.c) unless you want to make them first-class citizens in GIMPLE, which is very unlikely I presume. Not undoable, but IMO that would be a step backwards from GENERIC in which you can express a lot a things, and not only the semantics of C and its close relatives. -- Eric Botcazou