------- Comment #3 from jakub at gcc dot gnu dot org 2010-05-05 19:06 ------- Two issues discovered with the patch. One is easy: --- gcc/dwarf2out.c 2010-05-05 17:14:56.000000000 +0200 +++ gcc/dwarf2out.c 2010-05-05 20:51:40.000000000 +0200 @@ -7916,7 +7916,7 @@ { rtx piece = *piece_loc; diff -= decl_piece_bitsize (piece); - piece_loc = &XEXP (piece, 1); + *piece_loc = XEXP (piece, 1); free_EXPR_LIST_node (piece); } /* Add padding if needed. */
The other shows on various libgcc files with -m32 - apparently SRA leaves sometimes the original decl in the IL together with SRAed variables, the patch assumed that either the SRAed variables, or the original appear, but not both. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43983