SIMPLE and fat pointers

Steven Bosscher s.bosscher@student.tudelft.nl
Thu Jul 4 16:30:00 GMT 2002


Hello Diego, others,

Thanks to Paul Brook, G95 can now generate code for Fortran 95 arrays
(well, some special cases at least).

G95 uses "fat pointers" because F95 needs array descriptors, so we use
the PLACEHOLDER_EXPR and WITH_RECORD_EXPR tree codes. G95 is the second
front end I know of that uses these nodes to implement unconstrained
array types (the other is GNAT). G95 tries to translate its AST to
SIMPLE, and we use the C tree expander to generate RTL.

The C expander seems to have no problems with PLACEHOLDER_EXPR and
WITH_RECORD_EXPR nodes. But in the SIMPLE grammar there's no such thing
as an unconstrained array; SIMPLE doesn't really need these nodes.

So I'm not sure these nodes will be supported in SIMPLE. But if the
long-term goal is to make all front ends generate SIMPLE (and from what
I understand, it is), then support for these nodes is important for all
languages that support unconstrained arrays.

Therefore, my question is: Will the SIMPLE expanded support the
aforementioned nodes? If not, what would you suggest as an alternative
approach?

Greetz
Steven




More information about the Gcc mailing list