summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-07-31 12:21:54 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-07-31 12:21:54 +0000
commit103507355f43bfa127c3797236805e4c6b8df4b2 (patch)
tree0bb7c5a0f157c35b50c4988ad4b6119b1e39ece5
parent7e50bb968cf5db146a505610e5b902b565da153a (diff)
* complex.c (f_signbit): gcc4 on Solaris DOES have signbit but does
not have it on header. * math.c: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@32777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog7
-rw-r--r--complex.c3
-rw-r--r--math.c4
3 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 020dd199d8..e5cc6214c8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sun Jul 31 21:16:02 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp>
+
+ * complex.c (f_signbit): gcc4 on Solaris DOES have signbit but does
+ not have it on header.
+
+ * math.c: ditto.
+
Sun Jul 31 21:09:04 2011 Yuki Sonoda (Yugui) <yugui@yugui.jp>
* common.mk (node_name.inc): Use $(Q) for consistency.
diff --git a/complex.c b/complex.c
index 78f0902a83..a21249681f 100644
--- a/complex.c
+++ b/complex.c
@@ -1173,6 +1173,9 @@ nucomp_eql_p(VALUE self, VALUE other)
inline static VALUE
f_signbit(VALUE x)
{
+#if defined(HAVE_SIGNBIT) && defined(__GNUC__) && defined(__sun__)
+ extern int signbit(double x);
+#endif
switch (TYPE(x)) {
case T_FLOAT: {
double f = RFLOAT_VALUE(x);
diff --git a/math.c b/math.c
index b3ac188d94..98b327272b 100644
--- a/math.c
+++ b/math.c
@@ -14,6 +14,10 @@
#include <math.h>
#include <errno.h>
+#if defined(HAVE_SIGNBIT) && defined(__GNUC__) && defined(__sun__)
+ extern int signbit(double x);
+#endif
+
#define numberof(array) (int)(sizeof(array) / sizeof((array)[0]))
VALUE rb_mMath;