From 7def0928040f29a3496b5e5b7c64a95b8b2ff8ad Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 28 Feb 2017 02:58:12 +0000 Subject: Makefile.sub: ULL_TO_DOUBLE * win32/Makefile.sub (config.h): define ULL_TO_DOUBLE for conversion from unsigned __int64 to double, which is not implemented in till Visual Studio.NET 2003, aka VC7.1. * bignum.c (estimate_initial_sqrt): use ULL_TO_DOUBLE if defined. * numeric.c (BDIGIT_DBL_TO_DOUBLE): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- win32/Makefile.sub | 2 ++ 1 file changed, 2 insertions(+) (limited to 'win32/Makefile.sub') diff --git a/win32/Makefile.sub b/win32/Makefile.sub index f37b6c654b..790b41a4f1 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -550,6 +550,8 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub #define HAVE_MEMORY_H 1 !if $(MSC_VER) >= 1400 #define HAVE_LONG_LONG 1 +!else +#define ULL_TO_DOUBLE(n) ((double)(unsigned long)((n)>>32) * (1I64 << 32) + (unsigned long)(n)) !endif #define HAVE_OFF_T 1 #define SIZEOF_INT 4 -- cgit v1.2.3