From a822564db5c2745e4ea1394cd33aa2079baaec8d Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 22 May 2014 09:59:32 +0200 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/tree-streamer-in.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c86e5a8b9a6..1d766a3635e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-05-22 Jakub Jelinek + + * 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 Cleanup and improve multipass_dfa_lookahead_guard diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c index bead1198018..97ffc1e03c5 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);