aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-streamer-in.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c86e5a8..1d766a3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c
index bead119..97ffc1e 100644
--- a/gcc/tree-streamer-in.c
+++ b/gcc/tree-streamer-in.c
@@ -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);