diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-05-28 18:49:51 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-05-28 18:49:51 +0000 |
commit | e968c41c24d7d3c5664acd6160b47e0b836608f6 (patch) | |
tree | a257ccf3f4392ed6e69eaa8a19d53a5dd19d8f65 | |
parent | 134c053efb725c8dfa8238c3329ea0439f96df09 (diff) | |
download | gcc-e968c41c24d7d3c5664acd6160b47e0b836608f6.tar.gz |
2010-05-28 Richard Guenther <rguenther@suse.de>
PR lto/44312
* lto-streamer-in.c (unpack_ts_fixed_cst_value_fields):
Stream fixed-point constants mode.
(unpack_ts_type_value_fields): Fix width of TYPE_MODE
and TYPE_PRECISION.
* lto-streamer-out.c (pack_ts_fixed_cst_value_fields):
Stream fixed-point constants mode.
(pack_ts_function_decl_value_fields): Fix width of TYPE_MODE
and TYPE_PRECISION.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159993 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 12 | ||||
-rw-r--r-- | gcc/lto-streamer-in.c | 5 | ||||
-rw-r--r-- | gcc/lto-streamer-out.c | 5 |
3 files changed, 18 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5b083fd4d7b..1406ba2c78d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2010-05-28 Richard Guenther <rguenther@suse.de> + + PR lto/44312 + * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields): + Stream fixed-point constants mode. + (unpack_ts_type_value_fields): Fix width of TYPE_MODE + and TYPE_PRECISION. + * lto-streamer-out.c (pack_ts_fixed_cst_value_fields): + Stream fixed-point constants mode. + (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE + and TYPE_PRECISION. + 2010-05-28 Sebastian Pop <sebastian.pop@amd.com> * tree-scalar-evolution.c (set_nb_iterations_in_loop): Inlined in the diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index 2be1a40e5ae..f562d9c38a3 100644 --- a/gcc/lto-streamer-in.c +++ b/gcc/lto-streamer-in.c @@ -1637,6 +1637,7 @@ unpack_ts_fixed_cst_value_fields (struct bitpack_d *bp, tree expr) fv.data.low = (HOST_WIDE_INT) bp_unpack_value (bp, HOST_BITS_PER_WIDE_INT); fv.data.high = (HOST_WIDE_INT) bp_unpack_value (bp, HOST_BITS_PER_WIDE_INT); + fv.mode = (enum machine_mode) bp_unpack_value (bp, HOST_BITS_PER_INT); TREE_FIXED_CST (expr) = fv; } @@ -1770,8 +1771,8 @@ unpack_ts_type_value_fields (struct bitpack_d *bp, tree expr) { enum machine_mode mode; - TYPE_PRECISION (expr) = (unsigned) bp_unpack_value (bp, 9); - mode = (enum machine_mode) bp_unpack_value (bp, 7); + TYPE_PRECISION (expr) = (unsigned) bp_unpack_value (bp, 10); + mode = (enum machine_mode) bp_unpack_value (bp, 8); SET_TYPE_MODE (expr, mode); TYPE_STRING_FLAG (expr) = (unsigned) bp_unpack_value (bp, 1); TYPE_NO_FORCE_BLK (expr) = (unsigned) bp_unpack_value (bp, 1); diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index 58fe70e3018..d43de21616a 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -387,6 +387,7 @@ pack_ts_fixed_cst_value_fields (struct bitpack_d *bp, tree expr) struct fixed_value fv = TREE_FIXED_CST (expr); bp_pack_value (bp, fv.data.low, HOST_BITS_PER_WIDE_INT); bp_pack_value (bp, fv.data.high, HOST_BITS_PER_WIDE_INT); + bp_pack_value (bp, fv.mode, HOST_BITS_PER_INT); } @@ -513,8 +514,8 @@ pack_ts_function_decl_value_fields (struct bitpack_d *bp, tree expr) static void pack_ts_type_value_fields (struct bitpack_d *bp, tree expr) { - bp_pack_value (bp, TYPE_PRECISION (expr), 9); - bp_pack_value (bp, TYPE_MODE (expr), 7); + bp_pack_value (bp, TYPE_PRECISION (expr), 10); + bp_pack_value (bp, TYPE_MODE (expr), 8); bp_pack_value (bp, TYPE_STRING_FLAG (expr), 1); bp_pack_value (bp, TYPE_NO_FORCE_BLK (expr), 1); bp_pack_value (bp, TYPE_NEEDS_CONSTRUCTING (expr), 1); |