http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54598
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2012-09-17 CC| |rguenth at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-09-17 12:23:56 UTC --- Confirmed. Fix: Index: gcc/tree-streamer-in.c =================================================================== --- gcc/tree-streamer-in.c (revision 191376) +++ gcc/tree-streamer-in.c (working copy) @@ -172,12 +172,11 @@ unpack_ts_real_cst_value_fields (struct static void unpack_ts_fixed_cst_value_fields (struct bitpack_d *bp, tree expr) { - struct fixed_value fv; - - fv.mode = bp_unpack_enum (bp, machine_mode, MAX_MACHINE_MODE); - fv.data.low = bp_unpack_var_len_int (bp); - fv.data.high = bp_unpack_var_len_int (bp); - TREE_FIXED_CST (expr) = fv; + FIXED_VALUE_TYPE *fp = ggc_alloc_fixed_value (); + fp->mode = bp_unpack_enum (bp, machine_mode, MAX_MACHINE_MODE); + fp->data.low = bp_unpack_var_len_int (bp); + fp->data.high = bp_unpack_var_len_int (bp); + TREE_FIXED_CST_PTR (expr) = fp; } please test it, patch pre-approved if it works (it works for the testcase with a cross).