summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--byterun/floats.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/byterun/floats.c b/byterun/floats.c
index c1f6ec5af..cde3ff51d 100644
--- a/byterun/floats.c
+++ b/byterun/floats.c
@@ -335,7 +335,8 @@ enum { FP_normal, FP_subnormal, FP_zero, FP_infinite, FP_nan };
CAMLprim value classify_float(value vd)
{
-#ifdef fpclassify
+ /* Cygwin 1.3 has problems with fpclassify (PR#1293), so don't use it */
+#if defined(fpclassify) && !defined(__CYGWIN32__) && !defined(__MINGW32__)
switch (fpclassify(Double_val(vd))) {
case FP_NAN:
return Val_int(FP_nan);