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);