aboutsummaryrefslogtreecommitdiff
path: root/gcc/real.c
diff options
context:
space:
mode:
authorManuel López-Ibáñez <manu@gcc.gnu.org>2006-11-23 18:49:22 +0000
committerManuel López-Ibáñez <manu@gcc.gnu.org>2006-11-23 18:49:22 +0000
commit313f234ba168ed8376ef0e2d874989dfa54aa336 (patch)
treedf3f642a41dbe83c7c2667bea513265952d3112a /gcc/real.c
parent05170031abc9baabb16c0f181228bd9343b0bfc4 (diff)
downloadgcc-313f234ba168ed8376ef0e2d874989dfa54aa336.zip
gcc-313f234ba168ed8376ef0e2d874989dfa54aa336.tar.gz
gcc-313f234ba168ed8376ef0e2d874989dfa54aa336.tar.bz2
real.h (real_isinteger): Declare.
2006-11-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org> * real.h (real_isinteger): Declare. * real.c (real_isinteger): Define. * builtins.c (integer_valued_real_p): Use it. From-SVN: r119130
Diffstat (limited to 'gcc/real.c')
-rw-r--r--gcc/real.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/real.c b/gcc/real.c
index bfb8462..0d239b3 100644
--- a/gcc/real.c
+++ b/gcc/real.c
@@ -4968,3 +4968,14 @@ real_from_mpfr (REAL_VALUE_TYPE *r, mpfr_srcptr m)
real_from_string (r, buf);
}
+
+/* Check whether the real constant value given is an integer. */
+
+bool
+real_isinteger (const REAL_VALUE_TYPE *c, enum machine_mode mode)
+{
+ REAL_VALUE_TYPE cint;
+
+ real_trunc (&cint, mode, c);
+ return real_identical (c, &cint);
+}