http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48341

--- Comment #1 from joseph at codesourcery dot com <joseph at codesourcery dot 
com> 2011-03-29 18:50:47 UTC ---
On Tue, 29 Mar 2011, ro at gcc dot gnu.org wrote:

> Running the testcase through g++ -g3 -save-temps, epsilon.ii reveals
> 
> #define __FLT_EPSILON__ 1.19209289550781250000000000000000e-7F
> #define __DBL_EPSILON__ double(2.22044604925031308084726333618164e-16L)
> #define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
> 
> which is obviously bogus.  The native <internal/float_core.h> has

Why do you think this is bogus?  It's correct for IBM long double, where 
the mantissa bits can be discontiguous, and so the least value greater 
than 1 that is representable has such discontiguous bits.  See PR 19405 
and <http://gcc.gnu.org/ml/gcc-patches/2005-01/msg00374.html>.

Reply via email to