summaryrefslogtreecommitdiffstats
path: root/lib/msun/src/s_expm1.c
diff options
context:
space:
mode:
authordas <das@FreeBSD.org>2013-05-27 08:50:10 +0000
committerdas <das@FreeBSD.org>2013-05-27 08:50:10 +0000
commite7b0a63c190c7ecb475b09f41387a75952540f49 (patch)
treefe26b077920f74a021643eb895e508cd1a90d404 /lib/msun/src/s_expm1.c
parente97a0dc9656bc3f5214866731094513064e59725 (diff)
downloadFreeBSD-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.c3
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)
{
OpenPOWER on IntegriCloud