------- Comment #9 from rguenth at gcc dot gnu dot org 2006-03-07 11:02 ------- Pointed-to sets for pointers in main
ptr_8, points-to vars: { BF_current } ptr_3, points-to vars: { BF_current } ptr_9, points-to vars: { BF_current } D.1543_15, is dereferenced, points-to anything D.1544_16, points-to vars: { BF_current } is wrong because of: handle_ptr_arith (struct constraint_expr lhs, tree expr) { tree op0, op1; struct constraint_expr base, offset; if (TREE_CODE (expr) != PLUS_EXPR) return false; and (gdb) call debug_tree(expr) <minus_expr 0x40194360 type <pointer_type 0x402260b8 type <integer_type 0x4021df74 BF_word sizes-gimplified public unsigned SI size <integer_cst 0x4018d3f0 constant invariant 32> unit size <integer_cst 0x4018d180 constant invariant 4> align 32 symtab 0 alias set -1 precision 32 min <integer_cst 0x4018d468 0> max <integer_cst 0x4018d450 4294967295> pointer_to_this <pointer_type 0x402260b8>> sizes-gimplified unsigned SI size <integer_cst 0x4018d3f0 32> unit size <integer_cst 0x4018d180 4> align 32 symtab 0 alias set -1> arg 0 <ssa_name 0x40228e38 type <pointer_type 0x402260b8> visited var <var_decl 0x40199210 ptr> def_stmt <modify_expr 0x40194264> version 9 ptr-info 0x4021f740> arg 1 <integer_cst 0x402271c8 type <pointer_type 0x402260b8> constant invariant 8>> I have a fix. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26587