diff options
author | gjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-09-17 16:03:44 +0000 |
---|---|---|
committer | gjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-09-17 16:03:44 +0000 |
commit | 0920ab5944666b0c558444c57af9a1bc6f1282fe (patch) | |
tree | 4f9e936d7fd8490ff3982d32427fc8a0c4916c32 /gcc/tree-streamer-in.c | |
parent | e0dbf365faae12e2ca89e05a81436f3aac15a6b4 (diff) | |
download | gcc-0920ab5944666b0c558444c57af9a1bc6f1282fe.tar.gz |
PR lto/54598
* tree-streamer-in.c (unpack_ts_real_cst_value_fields): Use ggc'ed
FIXED_VALUE_TYPE instead of struct fixed_value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191394 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-streamer-in.c')
-rw-r--r-- | gcc/tree-streamer-in.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c index a38fb470b1f..5f9f7a2fef7 100644 --- a/gcc/tree-streamer-in.c +++ b/gcc/tree-streamer-in.c @@ -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; } |