aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-streamer-in.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2014-05-22 09:59:32 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2014-05-22 09:59:32 +0200
commita822564db5c2745e4ea1394cd33aa2079baaec8d (patch)
tree99874eff93213cb740317568554938f65e179ed2 /gcc/tree-streamer-in.c
parent4960a0cb385939bfebf5fb158d60a200d1c3e19e (diff)
downloadgcc-a822564db5c2745e4ea1394cd33aa2079baaec8d.zip
gcc-a822564db5c2745e4ea1394cd33aa2079baaec8d.tar.gz
gcc-a822564db5c2745e4ea1394cd33aa2079baaec8d.tar.bz2
tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure all padding bits in REAL_VALUE_TYPE are cleared.
* tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure all padding bits in REAL_VALUE_TYPE are cleared. From-SVN: r210748
Diffstat (limited to 'gcc/tree-streamer-in.c')
-rw-r--r--gcc/tree-streamer-in.c3
1 files changed, 3 insertions, 0 deletions
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);