------- Additional Comments From rguenth at gcc dot gnu dot org  2005-05-14 
16:48 -------
actually trees look like

3845              ret = gimplify_modify_expr (expr_p, pre_p, post_p,
Value returned is $3 = GS_ALL_DONE
(gdb) call debug_tree(*expr_p)
 <modify_expr 0x401481d4
    type <pointer_type 0x40156bd0
        type <integer_type 0x401493cc char public QI
            size <integer_cst 0x40141210 constant invariant 8>
            unit size <integer_cst 0x40141228 constant invariant 1>
            align 8 symtab 0 alias set -1 precision 8 min <integer_cst
0x40141270 -128> max <integer_cst 0x401412d0 127>
            pointer_to_this <pointer_type 0x40156bd0>>
        unsigned SI
        size <integer_cst 0x40141408 constant invariant 32>
        unit size <integer_cst 0x40141198 constant invariant 4>
        align 32 symtab 0 alias set -1>
    side-effects
    arg 0 <var_decl 0x401be6c0 D.1238 type <pointer_type 0x40156bd0>
        used unsigned ignored SI file 20031215-1.c line 12 size <integer_cst
0x40141408 32> unit size <integer_cst 0x40141198 4>
        align 32 context <function_decl 0x401be438 test1>>
    arg 1 <plus_expr 0x4014818c type <pointer_type 0x40156bd0>
        constant invariant
        arg 0 <addr_expr 0x40146400 type <pointer_type 0x4015821c>
            constant invariant
            arg 0 <array_ref 0x401b91d4 type <integer_type 0x401581b0 char>
               
                arg 0 <component_ref 0x4014e078 type <array_type 0x401b7e58>
                    readonly arg 0 <var_decl 0x401be0d8 ao> arg 1 <field_decl
0x401b7ec4 ch>>
                arg 1 <integer_cst 0x401411b0 constant invariant 0> arg 2
<integer_cst 0x401411b0 0> arg 3 <integer_cst 0x40141228 1>>>
        arg 1 <integer_cst 0x40141d50 constant invariant 2>>
    20031215-1.c:12>

which is mismatched types for the PLUS_EXPR.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21541

Reply via email to