This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Olivier Hainque wrote: > Experimenting variants around a track ... Back after some delay introduced by various events, attached is a first attempt which passes testing on x86-linux with languages=all,ada. As discussed, the idea here is not to recurse into pointed-to types from gimplify_type_sizes any more, and have the C front-end attach an artificial pointed-to type declaration node when necessary instead. A key aspect is the call to finish_decl, which builds the DECL_EXPR node required to push the gimplifier into gimplify_type_sizes. First dive into the C front-end, so I might very well have overlooked a number of rules or issues. Suggestions for rework or improvements welcome :-) Thanks in advance, Olivier 2006-09-25 Olivier Hainque <hainque@adacore.com> * gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]: Don't recurse on the pointed-to type. * c-decl.c (grokdeclarator) [cdk_pointer]: If the pointed-to type is anonymous and involves components of variable size, build an artificial TYPE_DECL for it to force the size evaluation at the pointer declaration point. testsuite/ * gnat.dg/forward_vla.adb: New case.
Attachment:
gimple-sizes.dif
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |