This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/48341] LDBL_EPSILON is wrong on IRIX 6.5
- From: "joseph at codesourcery dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 29 Mar 2011 18:50:56 +0000
- Subject: [Bug c/48341] LDBL_EPSILON is wrong on IRIX 6.5
- Auto-submitted: auto-generated
- References: <bug-48341-4@http.gcc.gnu.org/bugzilla/>
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>.