------- Additional Comments From steven at gcc dot gnu dot org  2005-04-12 
13:38 -------
FWIW, I think the problem might be that there are cases where  
force_gimple_operand generates more sub-expressions, but we do 
not add value handles for them: 
 
(gdb) 
1369      folded = fold (build (TREE_CODE (expr), TREE_TYPE (expr), 
(gdb) p expr->common.code 
$36 = NOP_EXPR 
(gdb) next 
1371      newexpr = force_gimple_operand (folded, &forced_stmts, false, NULL); 
(gdb) p debug_generic_expr(folded) 
(charD.3 *) &0B->typeD.1931 
$37 = void 
(gdb) next 
1372      if (forced_stmts) 
(gdb) p debug_generic_expr(newexpr) 
(charD.3 *) D.1971_2 
$38 = void 
(gdb) p debug_generic_stmt(forced_stmts) 
D.1970_10 = 0B; 
D.1971_2 = &D.1970_10->typeD.1931; 
 
$39 = void 
(gdb)     
 
We never add the value handles for the expressions in those two 
"forced_stmts", and we ICE when we look for a leader for one of 
them... 
 
But I'll leave it to Dan to figure out the details ;-) 

-- 


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

Reply via email to