Commit db7e5239 by Richard Stallman

entered into RCS

From-SVN: r1559
parent d75e62a9
...@@ -1107,7 +1107,7 @@ real_value_from_int_cst (i) ...@@ -1107,7 +1107,7 @@ real_value_from_int_cst (i)
#ifdef REAL_ARITHMETIC #ifdef REAL_ARITHMETIC
REAL_VALUE_FROM_INT (d, TREE_INT_CST_LOW (i), TREE_INT_CST_HIGH (i)); REAL_VALUE_FROM_INT (d, TREE_INT_CST_LOW (i), TREE_INT_CST_HIGH (i));
#else /* not REAL_ARITHMETIC */ #else /* not REAL_ARITHMETIC */
if (TREE_INT_CST_HIGH (i) < 0) if (TREE_INT_CST_HIGH (i) < 0 && ! TREE_UNSIGNED (TREE_TYPE (i)))
{ {
d = (double) (~ TREE_INT_CST_HIGH (i)); d = (double) (~ TREE_INT_CST_HIGH (i));
d *= ((double) ((HOST_WIDE_INT) 1 << (HOST_BITS_PER_WIDE_INT / 2)) d *= ((double) ((HOST_WIDE_INT) 1 << (HOST_BITS_PER_WIDE_INT / 2))
...@@ -1117,7 +1117,7 @@ real_value_from_int_cst (i) ...@@ -1117,7 +1117,7 @@ real_value_from_int_cst (i)
} }
else else
{ {
d = (double) TREE_INT_CST_HIGH (i); d = (double) (unsigned HOST_WIDE_INT) TREE_INT_CST_HIGH (i);
d *= ((double) ((HOST_WIDE_INT) 1 << (HOST_BITS_PER_WIDE_INT / 2)) d *= ((double) ((HOST_WIDE_INT) 1 << (HOST_BITS_PER_WIDE_INT / 2))
* (double) ((HOST_WIDE_INT) 1 << (HOST_BITS_PER_WIDE_INT / 2))); * (double) ((HOST_WIDE_INT) 1 << (HOST_BITS_PER_WIDE_INT / 2)));
d += (double) (unsigned HOST_WIDE_INT) TREE_INT_CST_LOW (i); d += (double) (unsigned HOST_WIDE_INT) TREE_INT_CST_LOW (i);
...@@ -1140,7 +1140,7 @@ build_real_from_int_cst (type, i) ...@@ -1140,7 +1140,7 @@ build_real_from_int_cst (type, i)
v = make_node (REAL_CST); v = make_node (REAL_CST);
TREE_TYPE (v) = type; TREE_TYPE (v) = type;
d = real_value_from_int_cst (i); d = REAL_VALUE_TRUNCATE (TYPE_MODE (type), real_value_from_int_cst (i));
/* Check for valid float value for this type on this target machine; /* Check for valid float value for this type on this target machine;
if not, can print error message and store a valid value in D. */ if not, can print error message and store a valid value in D. */
#ifdef CHECK_FLOAT_VALUE #ifdef CHECK_FLOAT_VALUE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment