-fstrict-aliasing fixes 5/6: make type system independent of flag_strict_aliasing

Richard Biener rguenther@suse.de
Tue Dec 8 12:19:00 GMT 2015


On Tue, 8 Dec 2015, Eric Botcazou wrote:

> > The problem is with the type:
> > (gdb) p debug_tree (p)
> >  <pointer_type 0x7ffff6af02a0 type <pointer_type 0x7ffff6af02a0>
> >     sizes-gimplified public visited unsigned DI
> >     size <integer_cst 0x7ffff6ad7bb8 type <integer_type 0x7ffff6adb2a0
> > bitsizetype> constant visited 64> unit size <integer_cst 0x7ffff6ad7bd0
> > type <integer_type 0x7ffff6adb1f8 sizetype> constant visited 8> align 64
> > symtab 0 alias set -1 canonical type 0x7ffff6af02a0
> >     pointer_to_this <pointer_type 0x7ffff6af02a0>>
> > 
> > it is a recursive pointer to itself. Does this make sense in Ada?  If so we
> > will need to add a recursion guard into the loop and put the alias set into
> > voidptr_alias_set.  It more looks like a frontend bug to me - I can not
> > think of a use for this beast.
> 
> This one (access1) is admittedly border line and we can probably kludge around 
> it in the front-end, but what about access2 and more generally pointer cycles?

Usually cycles happen through structure members and it might be that
all other frontends have the pointed-to type incomplete.  But the
above recursion shouldn't apply for the structure case.

Not sure how your other examples look like.



More information about the Gcc-patches mailing list