Question about generated type for common block in fortran
Michael Matz
matz@suse.de
Mon Nov 13 10:01:00 GMT 2017
Hi,
On Thu, 9 Nov 2017, Bin.Cheng wrote:
> So I have two questions here.
> A) Is this special kind union type only generated by fortran FE for
> equivalence+common?
It's not special in that it isn't marked in any way. For all purposes
it's a normal union type with surprising field(offset)s. I don't know if
it can occur for any situations except equivalence+common. Not from the
fortran frontend I believe.
> B) For the special union type that has non-zero offset fields. Is it
> safe to assume field A is not the last flex array: if there is field B
> that offset_B >= (offset_A + length_A)?
No. You can make equivalences between all kinds of objects,
including non-arrays. You can also equivalence (say) an integer variable
and an individual array element. Also flex arrays don't enter the
picture, you can equivalize (tm) also arrays of fixed size.
Ciao,
Michael.
More information about the Gcc
mailing list