diff options
author | Kevin Ryde <user42@zip.com.au> | 2003-10-15 02:35:26 +0200 |
---|---|---|
committer | Kevin Ryde <user42@zip.com.au> | 2003-10-15 02:35:26 +0200 |
commit | 134d3b44a483ff6b3e31b7e83fe1641e803563b7 (patch) | |
tree | 3a2c9e68c721e0d38ed7c372500a75ef5fe08433 /mpfr/BUGS | |
parent | 767baa14d7b1783499e3d6b961207b13040bd9c2 (diff) | |
download | gmp-134d3b44a483ff6b3e31b7e83fe1641e803563b7.tar.gz |
* mpfr/*: Update to mpfr cvs 2003-10-15.
Diffstat (limited to 'mpfr/BUGS')
-rw-r--r-- | mpfr/BUGS | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -52,3 +52,26 @@ Potential bugs: * mpfr_hypot may fail for x very large, y very small and a very large target precision. Other functions may be affected by similar problems. + +Problems due to compiler bugs: + +* on some architectures (for example alpha-dec-osf), gcc 3.3 wrongly + compares "long double" floating-point numbers, with optimization level + 1 or higher. This bug can be detected by the following program: + + #include <stdio.h> + #include <stdlib.h> + #include <float.h> + int + main () + { + long double d; + d = 1.0; while (d < LDBL_MAX / 2.0) d += d; + if (d == (long double) 0.0) + printf ("d equals 0.0\n"); + } + + This results in a problem in the mpfr_set_ld function. A workaround is + to compile set_ld.c with -O0 (no optimization). + + |