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.

Reply via email to