From 91ec3d8fbeeddea7b3ddb50a6f59cc4870d15c7c Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 29 Jun 2016 04:37:13 +0000 Subject: [PATCH] VC6 error * random.c (int_pair_to_real_inclusive): get rid of VC6 compile error C2520: conversion from unsigned __int64 to double not implemented. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- random.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/random.c b/random.c index 1093a103c1..4ffebf07f9 100644 --- a/random.c +++ b/random.c @@ -286,7 +286,7 @@ int_pair_to_real_inclusive(uint32_t a, uint32_t b) const uint128_t m = ((uint128_t)1 << dig) | 1; uint128_t x = ((uint128_t)a << 32) | b; r = (double)(uint64_t)((x * m) >> 64); -#elif defined HAVE_UINT64_T +#elif defined HAVE_UINT64_T && !(defined _MSC_VER && _MSC_VER <= 1200) uint64_t x = ((uint64_t)a << dig_u) + (((uint64_t)b + (a >> dig_u)) >> dig_r64); r = (double)x;