tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure all padding bits...
authorJakub Jelinek <jakub@redhat.com>
Thu, 22 May 2014 07:59:32 +0000 (09:59 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 22 May 2014 07:59:32 +0000 (09:59 +0200)
* tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
all padding bits in REAL_VALUE_TYPE are cleared.

From-SVN: r210748

gcc/ChangeLog
gcc/tree-streamer-in.c

index c86e5a8..1d766a3 100644 (file)
@@ -1,3 +1,8 @@
+2014-05-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
+       all padding bits in REAL_VALUE_TYPE are cleared.
+
 2014-05-22  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
 
        Cleanup and improve multipass_dfa_lookahead_guard
index bead119..97ffc1e 100644 (file)
@@ -168,6 +168,9 @@ unpack_ts_real_cst_value_fields (struct bitpack_d *bp, tree expr)
   REAL_VALUE_TYPE r;
   REAL_VALUE_TYPE *rp;
 
+  /* Clear all bits of the real value type so that we can later do
+     bitwise comparisons to see if two values are the same.  */
+  memset (&r, 0, sizeof r);
   r.cl = (unsigned) bp_unpack_value (bp, 2);
   r.decimal = (unsigned) bp_unpack_value (bp, 1);
   r.sign = (unsigned) bp_unpack_value (bp, 1);