Problem with operand handling

Diego Novillo dnovillo@redhat.com
Tue Sep 7 14:41:00 GMT 2004


On Tue, 2004-09-07 at 10:02, Richard Kenner wrote:

> GNAT.EXCEPTION_TRACES.DECORATOR_WRAPPER (traceback, len)
> {
>   system__traceback_entries__traceback_entry___XDLU_0__18446744073709551615[1 .. T.2] & decorator_traceback;
>
What does this declaration mean?  Is decorator_traceback

>   decorator_traceback_17 = (system__traceback_entries__traceback_entry___XDLU_0__18446744073709551615[1 .. T.2] &) traceback_16;
>
According to this, decorator_traceback is a GIMPLE register.  It seems
to be a pointer of some kind?  I can't parse the original declaration. 
You'll have to figure out why we first think that decorator_traceback is
a gimple reg, and then we think otherwise.

This may help.  Put this test in add_may_alias:

if (is_gimple_reg (var) || is_gimple_reg (alias))
  abort ();


Diego.



More information about the Gcc mailing list