-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