From b8a9fb0e26a7b58481d44b6c2caba076c9cf4f57 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 26 May 2009 04:58:15 +0000 Subject: * common.mk (bignum.o, numeric.o): depend on util.h. * bignum.c, marshal.c: fixed types. * numeric.c (infinite_value): use ruby_div0. * include/ruby/util.h (ruby_div0): moved from marshal.c. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- include/ruby/util.h | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'include/ruby') diff --git a/include/ruby/util.h b/include/ruby/util.h index febd87d3e..1c52c576d 100644 --- a/include/ruby/util.h +++ b/include/ruby/util.h @@ -40,9 +40,9 @@ extern "C" { #endif #endif -#define scan_oct ruby_scan_oct +#define scan_oct(s,l,e) (int)ruby_scan_oct(s,l,e) unsigned long ruby_scan_oct(const char *, size_t, size_t *); -#define scan_hex ruby_scan_hex +#define scan_hex(s,l,e) (int)ruby_scan_hex(s,l,e) unsigned long ruby_scan_hex(const char *, size_t, size_t *); #if defined(__CYGWIN32__) || defined(_WIN32) @@ -70,6 +70,20 @@ double ruby_strtod(const char *, char **); #undef strtod #define strtod(s,e) ruby_strtod(s,e) +#if defined _MSC_VER && _MSC_VER >= 1300 +#pragma warning(push) +#pragma warning(disable:4723) +#endif +static inline double +ruby_div0(double x) +{ + double t = 0.0; + return x / t; +} +#if defined _MSC_VER && _MSC_VER >= 1300 +#pragma warning(pop) +#endif + void ruby_each_words(const char *, void (*)(const char*, int, void*), void *); #if defined(__cplusplus) -- cgit