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. Thanks, Richard. -- Richard Guenther <richard dot guenther at uni-tuebingen dot de> WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/