------- Comment #20 from hjl at lucon dot org  2007-04-18 22:11 -------
build_array_ref calls

    return build_indirect_ref (cp_build_binary_op (PLUS_EXPR, ar, ind),
                               "array indexing");

with ar as pointer and ind as integer. cp_build_binary_op turns ind into
pointer and we wind up with

    D.2455 = (long unsigned int) i;
    D.2456 = D.2455 * 4;
    D.2457 = (const int *) D.2456;
    D.2458 = D.2454 + D.2457;


-- 

hjl at lucon dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mark at codesourcery dot com
  GCC build triplet|i686-pc-linux-gnu           |
   GCC host triplet|i686-pc-linux-gnu           |
 GCC target triplet|i686-pc-linux-gnu           |
            Summary|-fPIC -O3 optimizer bug (32-|-fPIC -O3 optimizer bug
                   |bit target only)            |


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

Reply via email to