]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
2010-05-28 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 May 2010 18:49:51 +0000 (18:49 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 May 2010 18:49:51 +0000 (18:49 +0000)
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

gcc/ChangeLog
gcc/lto-streamer-in.c
gcc/lto-streamer-out.c

index 5b083fd4d7bcafa2c135b0f43c4633a7a3697cd3..1406ba2c78d37fb9fd9d7b1968e1c2cf364c8d78 100644 (file)
@@ -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
index 2be1a40e5ae705c0830a4cc1cc4c3a08b58a1a97..f562d9c38a30371fe47c3b0b46d75e6c540888ba 100644 (file)
@@ -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);
index 58fe70e3018b3df9083c532cbb58d32540c05977..d43de21616a9ebc63bbfab556df92284e0b36723 100644 (file)
@@ -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);