diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-04-23 11:27:07 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-04-23 11:27:07 +0000 |
commit | bac8fa5f9db55f8f7a9100fcb0e9cc43846442f0 (patch) | |
tree | 697c00f79b48b9747fbbe083550137854c021805 | |
parent | e5ce9579ecb93316d71eacf6c16a187767f05f68 (diff) | |
download | ruby-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
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | missing/isnan.c | 15 |
2 files changed, 20 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Tue Apr 23 20:10:02 2013 Tanaka Akira <akr@fsij.org> + + * missing/isnan.c (isnan): Don't define if isnan() macro is defined. + This fixes a compilation failure on uClibc based Gentoo system. + Tue Apr 23 17:40:40 2013 Martin Duerst <duerst@it.aoyama.ac.jp> * lib/rexml/document.rb, lib/rexml/element.rb, 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 |