diff options
author | das <das@FreeBSD.org> | 2013-05-27 08:50:10 +0000 |
---|---|---|
committer | das <das@FreeBSD.org> | 2013-05-27 08:50:10 +0000 |
commit | e7b0a63c190c7ecb475b09f41387a75952540f49 (patch) | |
tree | fe26b077920f74a021643eb895e508cd1a90d404 /lib/msun/src/s_expm1.c | |
parent | e97a0dc9656bc3f5214866731094513064e59725 (diff) | |
download | FreeBSD-src-e7b0a63c190c7ecb475b09f41387a75952540f49.zip FreeBSD-src-e7b0a63c190c7ecb475b09f41387a75952540f49.tar.gz |
Fix some regressions caused by the switch from gcc to clang. The fixes
are workarounds for various symptoms of the problem described in clang
bugs 3929, 8100, 8241, 10409, and 12958.
The regression tests did their job: they failed, someone brought it
up on the mailing lists, and then the issue got ignored for 6 months.
Oops. There may still be some regressions for functions we don't have
test coverage for yet.
Diffstat (limited to 'lib/msun/src/s_expm1.c')
-rw-r--r-- | lib/msun/src/s_expm1.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/msun/src/s_expm1.c b/lib/msun/src/s_expm1.c index 5aa1917..5059d32 100644 --- a/lib/msun/src/s_expm1.c +++ b/lib/msun/src/s_expm1.c @@ -115,7 +115,6 @@ __FBSDID("$FreeBSD$"); static const double one = 1.0, -huge = 1.0e+300, tiny = 1.0e-300, o_threshold = 7.09782712893383973096e+02,/* 0x40862E42, 0xFEFA39EF */ ln2_hi = 6.93147180369123816490e-01,/* 0x3fe62e42, 0xfee00000 */ @@ -128,6 +127,8 @@ Q3 = -7.93650757867487942473e-05, /* BF14CE19 9EAADBB7 */ Q4 = 4.00821782732936239552e-06, /* 3ED0CFCA 86E65239 */ Q5 = -2.01099218183624371326e-07; /* BE8AFDB7 6E09C32D */ +static volatile double huge = 1.0e+300; + double expm1(double x) { |