re PR lto/54598 (ICE: Segmentation fault in lto1 at tree-streamer-in.c:unpack_ts_fixed_cst_value_fields())

PR lto/54598
	* tree-streamer-in.c (unpack_ts_real_cst_value_fields): Use ggc'ed
	FIXED_VALUE_TYPE instead of struct fixed_value.

From-SVN: r191394
This commit is contained in:
Richard Guenther 2012-09-17 16:03:44 +00:00 committed by Georg-Johann Lay
parent a7b3cdfc28
commit f57f20bb75
2 changed files with 11 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2012-09-17 Georg-Johann Lay <avr@gjlay.de>
PR lto/54598
* tree-streamer-in.c (unpack_ts_real_cst_value_fields): Use ggc'ed
FIXED_VALUE_TYPE instead of struct fixed_value.
2012-09-17 Georg-Johann Lay <avr@gjlay.de>
* config/avr/avr.c (CONST_FIXED_P): Remove define.

View File

@ -172,12 +172,11 @@ unpack_ts_real_cst_value_fields (struct bitpack_d *bp, tree expr)
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;
}