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)