> 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?

-- 
Eric Botcazou

Reply via email to