Fix log(+/-0) to return -inf. git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@4066 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-crt/math/log.def.h b/mingw-w64-crt/math/log.def.h index 9eddcb8..9428f90 100644 --- a/mingw-w64-crt/math/log.def.h +++ b/mingw-w64-crt/math/log.def.h
@@ -51,16 +51,16 @@ __FLT_ABI(log) (__FLT_TYPE x) { int x_class = fpclassify (x); - if (signbit (x)) - { - __FLT_RPT_DOMAIN ("log", x, 0.0, __FLT_NAN); - return __FLT_NAN; - } - else if (x_class == FP_ZERO) + if (x_class == FP_ZERO) { __FLT_RPT_ERANGE ("log", x, 0.0, -__FLT_HUGE_VAL, 1); return -__FLT_HUGE_VAL; } + else if (signbit (x)) + { + __FLT_RPT_DOMAIN ("log", x, 0.0, __FLT_NAN); + return __FLT_NAN; + } else if (x_class == FP_INFINITE) return __FLT_HUGE_VAL; else if (x_class == FP_NAN)