aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@gcc.gnu.org>2003-02-26 13:07:40 -0800
committerRichard Henderson <rth@gcc.gnu.org>2003-02-26 13:07:40 -0800
commiteeec05e1dbd553dc97695ac6bb91112c42599d30 (patch)
tree475d251159529c14f0e14a5419a166e4af731ffd /gcc
parent49b973cbaf7ed0c6fb2ac4a639d000e7c7287f97 (diff)
downloadgcc-eeec05e1dbd553dc97695ac6bb91112c42599d30.zip
gcc-eeec05e1dbd553dc97695ac6bb91112c42599d30.tar.gz
gcc-eeec05e1dbd553dc97695ac6bb91112c42599d30.tar.bz2
Update commentary.
From-SVN: r63484
Diffstat (limited to 'gcc')
-rw-r--r--gcc/real.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/real.c b/gcc/real.c
index d04afab..1e70bf7 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -1311,6 +1311,10 @@ real_to_integer (r)
case rvc_normal:
if (r->exp <= 0)
goto underflow;
+ /* Only force overflow for unsigned overflow. Signed overflow is
+ undefined, so it doesn't matter what we return, and some callers
+ expect to be able to use this routine for both signed and
+ unsigned conversions. */
if (r->exp > HOST_BITS_PER_WIDE_INT)
goto overflow;
@@ -1371,6 +1375,10 @@ real_to_integer2 (plow, phigh, r)
exp = r->exp;
if (exp <= 0)
goto underflow;
+ /* Only force overflow for unsigned overflow. Signed overflow is
+ undefined, so it doesn't matter what we return, and some callers
+ expect to be able to use this routine for both signed and
+ unsigned conversions. */
if (exp > 2*HOST_BITS_PER_WIDE_INT)
goto overflow;