aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-streamer-in.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-streamer-in.cc')
-rw-r--r--gcc/tree-streamer-in.cc14
1 files changed, 1 insertions, 13 deletions
diff --git a/gcc/tree-streamer-in.cc b/gcc/tree-streamer-in.cc
index d4dc30f..bf4bd5c 100644
--- a/gcc/tree-streamer-in.cc
+++ b/gcc/tree-streamer-in.cc
@@ -188,21 +188,9 @@ unpack_ts_int_cst_value_fields (struct bitpack_d *bp, tree expr)
static void
unpack_ts_real_cst_value_fields (struct bitpack_d *bp, tree expr)
{
- unsigned i;
REAL_VALUE_TYPE r;
- /* 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);
- r.signalling = (unsigned) bp_unpack_value (bp, 1);
- r.canonical = (unsigned) bp_unpack_value (bp, 1);
- r.uexp = (unsigned) bp_unpack_value (bp, EXP_BITS);
- for (i = 0; i < SIGSZ; i++)
- r.sig[i] = (unsigned long) bp_unpack_value (bp, HOST_BITS_PER_LONG);
-
+ bp_unpack_real_value (bp, &r);
memcpy (TREE_REAL_CST_PTR (expr), &r, sizeof (REAL_VALUE_TYPE));
}