summaryrefslogtreecommitdiff
path: root/gcc/real.c
diff options
context:
space:
mode:
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-16 03:50:16 +0000
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-16 03:50:16 +0000
commitcada167060726e14f526e246a3d1a7578b3172c1 (patch)
treef2a0568805fd42d2791c79a11fa29f7364f5b42c /gcc/real.c
parent7698a624b8b1268f4e0da54807c74833e55b667e (diff)
downloadgcc-cada167060726e14f526e246a3d1a7578b3172c1.tar.gz
2006-11-15 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/29862 * real.c (mpfr_from_real): Call mpfr_set_str before gcc_assert. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118881 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/real.c')
-rw-r--r--gcc/real.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/real.c b/gcc/real.c
index 8c263e0097b..bfb8462baea 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -4930,11 +4930,13 @@ mpfr_from_real (mpfr_ptr m, const REAL_VALUE_TYPE *r)
{
/* We use a string as an intermediate type. */
char buf[128];
+ int ret;
real_to_hexadecimal (buf, r, sizeof (buf), 0, 1);
/* mpfr_set_str() parses hexadecimal floats from strings in the same
format that GCC will output them. Nothing extra is needed. */
- gcc_assert (mpfr_set_str (m, buf, 16, GMP_RNDN) == 0);
+ ret = mpfr_set_str (m, buf, 16, GMP_RNDN);
+ gcc_assert (ret == 0);
}
/* Convert from MPFR to REAL_VALUE_TYPE. */