aboutsummaryrefslogtreecommitdiff
path: root/gcc/real.h
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>2007-07-18 17:30:38 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>2007-07-18 17:30:38 +0000
commit7faa1bbb5d0206cc83f20c1145f612f7754fdcf3 (patch)
treeeb2db58c64bbaba8f0181d8d24ef99a386911de5 /gcc/real.h
parentb5d32c25372d1e0604bbd8471d735e46215dbe03 (diff)
downloadgcc-7faa1bbb5d0206cc83f20c1145f612f7754fdcf3.zip
gcc-7faa1bbb5d0206cc83f20c1145f612f7754fdcf3.tar.gz
gcc-7faa1bbb5d0206cc83f20c1145f612f7754fdcf3.tar.bz2
re PR target/30652 (SSE expansion is missing for isinf() and other fpclassify functions)
PR target/30652 PR middle-end/20558 * builtins.c (expand_builtin_interclass_mathfn): Provide a generic fallback for isinf. * c-cppbuiltin.c (builtin_define_float_constants): Move FP max calculation code ... * real.c (get_max_float): ... to here. * real.h (get_max_float): New. testsuite: * gcc.dg/pr28796-1.c: Add more cases. * gcc.dg/pr28796-2.c: Likewise. From-SVN: r126724
Diffstat (limited to 'gcc/real.h')
-rw-r--r--gcc/real.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/real.h b/gcc/real.h
index 09b1e52..68ad362 100644
--- a/gcc/real.h
+++ b/gcc/real.h
@@ -438,4 +438,8 @@ extern void mpfr_from_real (mpfr_ptr, const REAL_VALUE_TYPE *, mp_rnd_t);
/* Check whether the real constant value given is an integer. */
extern bool real_isinteger (const REAL_VALUE_TYPE *c, enum machine_mode mode);
+/* Write into BUF the maximum representable finite floating-point
+ number, (1 - b**-p) * b**emax for a given FP format FMT as a hex
+ float string. BUF must be large enough to contain the result. */
+extern void get_max_float (const struct real_format *, char *, size_t);
#endif /* ! GCC_REAL_H */