Question about generated type for common block in fortran
Michael Matz
matz@suse.de
Wed Nov 8 14:45:00 GMT 2017
Hi,
On Wed, 8 Nov 2017, Richard Biener wrote:
> Not sure how - the issue is the FIELD_DECLs overlap which rules out a
> RECORD_TYPE and leaves us with a UNION_TYPE.
No, as the initial mail already mentioned, for the example in
question the overlapping fields can be put into a union which itself is
part of a struct:
struct S {
union { T mem1[len]; T overlap1[len]; };
union { T mem2[len]; T overlap2[len]; };
};
If you do real fancy equivalences with partial overlaps then you're right,
the type necessarily will look strange then. But for this example the
type could be improved (if that helps anything I don't know, though).
Ciao,
Michael.
More information about the Gcc
mailing list