summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-04-20 14:35:41 +0000
committereban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-04-20 14:35:41 +0000
commitb7e6fc019cff276f04a076d094561b997facf83d (patch)
tree445a48273d5deb241b6a0d962080f082f4c5bd66
parent4b0276d818c5d3095a3a0c3ca17cabf61d6cea6c (diff)
* win32/win32.c (NtInitialize): set the floating-point control word
on bcc32. * win32/win32.h, bcc32/Makefile.sub: use missing/isinf.c, should not use _finite() because it returns 0 if NaN. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--bcc32/Makefile.sub3
-rw-r--r--win32/win32.c4
-rw-r--r--win32/win32.h3
4 files changed, 13 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index a23821e77d..1b1a09e5fe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Sun Apr 20 23:24:25 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * win32/win32.c (NtInitialize): set the floating-point control word
+ on bcc32.
+
+ * win32/win32.h, bcc32/Makefile.sub: use missing/isinf.c, should not
+ use _finite() because it returns 0 if NaN.
+
Sun Apr 20 03:09:30 2003 WATANABE Hirofumi <eban@ruby-lang.org>
* parse.y (void_expr0): node might become NULL after calling
diff --git a/bcc32/Makefile.sub b/bcc32/Makefile.sub
index f17c3d222f..ca63aa8fc6 100644
--- a/bcc32/Makefile.sub
+++ b/bcc32/Makefile.sub
@@ -102,7 +102,7 @@ RFLAGS = $(iconinc)
EXTLIBS =
!endif
LIBS = cw32.lib import32.lib ws2_32.lib $(EXTLIBS)
-MISSING = acosh.obj crypt.obj win32.obj
+MISSING = acosh.obj crypt.obj win32.obj isinf.obj
!ifndef STACK
STACK = 0x2000000
@@ -270,7 +270,6 @@ config.h:
\#define SIZEOF_DOUBLE 8
\#define HAVE_DECL_SYS_NERR 1
-\#define HAVE_ISINF 1
\#define HAVE_ISNAN 1
\#define HAVE_MEMMOVE 1
\#define HAVE_MKDIR 1
diff --git a/win32/win32.c b/win32/win32.c
index ab9a438ca1..c0aff25619 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -363,6 +363,10 @@ NtInitialize(int *argc, char ***argv)
WORD version;
int ret;
+#ifdef __BORLANDC__
+ _controlfp(0x5, 0x5);
+#endif
+
//
// subvert cmd.exe's feeble attempt at command line parsing
//
diff --git a/win32/win32.h b/win32/win32.h
index f8bf377409..b378fb23cd 100644
--- a/win32/win32.h
+++ b/win32/win32.h
@@ -177,9 +177,6 @@ extern pid_t rb_w32_getpid(void);
#ifdef __BORLANDC__
#include <float.h>
-#ifndef isinf
-#define isinf !_finite
-#endif
#ifndef isnan
#define isnan _isnan
#endif