Hello,

> Don't know how to fix this - nothing obvious.  But we create at
> 
>   *op = build1 (INDIRECT_REF, TREE_TYPE (*op), with);
> 
> an INDRECT_REF of the form
> 
>  <indirect_ref 0x4066b580
>     type <integer_type 0x401493cc char asm_written public QI
>         size <integer_cst 0x40141210 constant invariant 8>
>         unit size <integer_cst 0x40141228 constant invariant 1>
>         align 8 symtab 1075593216 alias set -1 precision 8 min
> <integer_cst 0x40141270 -128> max <integer_cst 0x401412d0 127>
>         pointer_to_this <pointer_type 0x40156bd0>>
> 
>     arg 0 <ssa_name 0x40660740
>         type <pointer_type 0x404785e8 type <record_type 0x40476ec4
> frame_state>
>             public unsigned SI
>             size <integer_cst 0x40141408 constant invariant 32>
>             unit size <integer_cst 0x40141198 constant invariant 4>
>             align 32 symtab 0 alias set -1>
>         var <parm_decl 0x40478804 state_in> def_stmt <modify_expr
> 0x4066c1f8>
>         version 38
>         ptr-info 0x4065b8ac>>
> 
> where we confuse type <integer_type 0x401493cc> and
> type <record_type 0x40476ec4 frame_state>.  Testcase is compiling
> with -O2 -g
> 
> /net/alwazn/home/rguenth/src/gcc/cvs/gcc-4.1/gcc/unwind-dw2.c: In function
> '__frame_state_for':
> /net/alwazn/home/rguenth/src/gcc/cvs/gcc-4.1/gcc/unwind-dw2.c:1036
> 
> 
> Please fix / advice.

rewrite_address_base is a piece of hack needed to cheat the alias
representation system.  I would not worry about it much now, once the
TARGET_MEM_REF patch is approved, this whole function will be removed.

Zdenek

Reply via email to