Hello,

> VIEW_CONVERT_EXPR is tcc_reference, but we can have a statement like:
> 
>       x = <VIEW_CONVERT_EXPR some_type> 22;

what is the semantics of this expression?  Should not this rather be

x = <NOP_EXPR some_type> 22

(or just INTEGER_CST:some_type 22)?

Zdenek

> What ends up happening here is that find_interesting_uses_stmt calls
> find_interesting_uses_address, which goes down the references and
> runs into the constant, which it doesn't know how to handle.  I think
> the simplest fix is below.  It's certainly safe in that it converts
> an ICE into not aborting and seems to do the right thing.  The test case
> is in Ada and proprietary and it didn't seem worthwhile to make a small
> one for something this simple.
> 
> Does the following look correct?
> 
> *** tree-ssa-loop-im.c        11 Mar 2005 09:05:10 -0000      2.31
> --- tree-ssa-loop-im.c        19 Mar 2005 00:12:02 -0000
> *************** for_each_index (tree *addr_p, bool (*cbc
> *** 195,198 ****
> --- 195,199 ----
>       case STRING_CST:
>       case RESULT_DECL:
> +     case INTEGER_CST:
>         return true;
>   

Reply via email to