aggregate aliasing losage

Toon Moene toon@moene.indiv.nluug.nl
Fri Jun 2 07:36:00 GMT 2000


Richard Henderson wrote:

> On Thu, Jun 01, 2000 at 03:42:55PM -0400, Richard Kenner wrote:

> > I'm wondering if this means that in Fortran, the alias set of an array
> > has to be the same as the alias set of its component.

> 
> The way I read c99's 6.5/7
> 
> ] 7    An object shall have its stored value accessed only by an lvalue
> ]      expression that has one of the following types:
> ]      - a type compatible with the effective type of the object,
> 
> the type of `b->d' is certainly compatible with the type of `a->d',
> which is the object being referenced.

Note - to return to the original question - that Fortran does not have
any type based alias restrictions.  The rules in Fortran are very
simple:

Two items alias iff they are EQUIVALENCEd.

I.e., only the Frontend knows when two items overlap; it is the
responsibility of the Frontend to convey this information to the
"middle" end.

Cheers,

-- 
Toon Moene - mailto:toon@moene.indiv.nluug.nl - phoneto: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
GNU Fortran 95: http://g95.sourceforge.net/ (under construction)


More information about the Gcc-patches mailing list