From 73b02710ecbea5ace2508527fbc4f939c87069cd Mon Sep 17 00:00:00 2001 From: Keith Packard via Newlib Date: Fri, 7 Aug 2020 22:40:21 -0700 Subject: [PATCH] libm/math: ensure that expf(-huge) sets FE_UNDERFLOW exception It was calling __math_uflow(0) instead of __math_uflowf(0), which resulted in no exception being set on machines with exception support for float but not double. Signed-off-by: Keith Packard --- newlib/libm/math/ef_exp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/newlib/libm/math/ef_exp.c b/newlib/libm/math/ef_exp.c index 0cd0c00b3..d6e25bfcd 100644 --- a/newlib/libm/math/ef_exp.c +++ b/newlib/libm/math/ef_exp.c @@ -64,7 +64,7 @@ P5 = 4.1381369442e-08; /* 0x3331bb4c */ if(sx > FLT_UWORD_LOG_MAX) return __math_oflowf(0); /* overflow */ if(sx < 0 && hx > FLT_UWORD_LOG_MIN) - return __math_uflow(0); /* underflow */ + return __math_uflowf(0); /* underflow */ /* argument reduction */ if(hx > 0x3eb17218) { /* if |x| > 0.5 ln2 */