[Bug middle-end/35526] ICE on memcpy
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Mar 10 22:12:00 GMT 2008
------- Comment #2 from ubizjak at gmail dot com 2008-03-10 22:11 -------
Confirmed with g++ -O oo.C, backtrace:
#0 fancy_abort (file=0xcb2b48 "../../gcc-svn/trunk/gcc/expr.c", line=373,
function=0xcb3e43 "convert_move")
at ../../gcc-svn/trunk/gcc/diagnostic.c:683
#1 0x00000000006a952e in convert_move (to=0x2aaaae5c28e0, from=0x2aaaae5c2900,
unsignedp=0) at ../../gcc-svn/trunk/gcc/expr.c:373
#2 0x00000000006ae785 in store_expr (exp=0x2aaaae5bc0a0,
target=0x2aaaae5c28e0, call_param_p=0,
nontemporal=<value optimized out>) at ../../gcc-svn/trunk/gcc/expr.c:4663
#3 0x00000000006b0dd2 in expand_assignment (to=0x2aaaae46f5f0,
from=0x2aaaae5bc0a0, nontemporal=0 '\0')
at ../../gcc-svn/trunk/gcc/expr.c:4258
#4 0x0000000000697c89 in expand_expr_real_1 (exp=0x2aaaae5c5450, target=0x0,
tmode=VOIDmode, modifier=EXPAND_NORMAL,
alt_rtl=<value optimized out>) at ../../gcc-svn/trunk/gcc/expr.c:9141
#5 0x00000000006a75f3 in expand_expr_real (exp=0x2aaaae5c5450,
target=0x2aaaae46d400, tmode=VOIDmode, modifier=EXPAND_NORMAL,
alt_rtl=0x0) at ../../gcc-svn/trunk/gcc/expr.c:7088
we hit
gcc_assert (from_mode != BLKmode);
with
(gdb) p debug_rtx (from)
(mem/s/c:BLK (symbol_ref:DI ("internal_crash_read_ip") [flags 0x2] <var_decl
0x2aaaae5bc0a0 internal_crash_read_ip>) [0 internal_crash_read_ip+0 S1 A8])
probably we need
Index: expr.c
===================================================================
--- expr.c (revision 133091)
+++ expr.c (working copy)
@@ -4654,7 +4654,8 @@ store_expr (tree exp, rtx target, int ca
temp = convert_to_mode (GET_MODE (target), temp, unsignedp);
emit_move_insn (target, temp);
}
- else if (GET_MODE (target) == BLKmode)
+ else if (GET_MODE (target) == BLKmode
+ || GET_MODE (temp) == BLKmode)
emit_block_move (target, temp, expr_size (exp),
(call_param_p
? BLOCK_OP_CALL_PARM
--
ubizjak at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2008-03-10 22:11:35
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35526
More information about the Gcc-bugs
mailing list