aboutsummaryrefslogtreecommitdiffstats
path: root/missing
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-04-23 11:27:07 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-04-23 11:27:07 +0000
commitbac8fa5f9db55f8f7a9100fcb0e9cc43846442f0 (patch)
tree697c00f79b48b9747fbbe083550137854c021805 /missing
parente5ce9579ecb93316d71eacf6c16a187767f05f68 (diff)
downloadruby-bac8fa5f9db55f8f7a9100fcb0e9cc43846442f0.tar.gz
* missing/isnan.c (isnan): Don't define if isnan() macro is defined.
This fixes a compilation failure on uClibc based Gentoo system. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'missing')
-rw-r--r--missing/isnan.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/missing/isnan.c b/missing/isnan.c
index 5846947f50..ed10bf5cd6 100644
--- a/missing/isnan.c
+++ b/missing/isnan.c
@@ -2,6 +2,20 @@
#include "ruby/missing.h"
+/*
+ * isnan() may be a macro, a function or both.
+ * (The C99 standard defines that isnan() is a macro, though.)
+ * http://www.gnu.org/software/automake/manual/autoconf/Function-Portability.html
+ *
+ * macro only: uClibc
+ * both: GNU libc
+ *
+ * This file is compile if no isnan() function is available.
+ * (autoconf AC_REPLACE_FUNCS detects only the function.)
+ * The macro is detected by following #ifndef.
+ */
+
+#ifndef isnan
static int double_ne(double n1, double n2);
int
@@ -15,3 +29,4 @@ double_ne(double n1, double n2)
{
return n1 != n2;
}
+#endif