Index: base/third_party/dmg_fp/msvc_warnings.patch |
diff --git a/base/third_party/dmg_fp/msvc_warnings.patch b/base/third_party/dmg_fp/msvc_warnings.patch |
index 9ad4761339da27a58c8b98037b3dc71b026ed4f5..22e89cd37358be073e71a8f06033209f49e266df 100644 |
--- a/base/third_party/dmg_fp/msvc_warnings.patch |
+++ b/base/third_party/dmg_fp/msvc_warnings.patch |
@@ -1,6 +1,7 @@ |
-Index: dtoa.cc |
---- dtoa.cc (old copy) |
-+++ dtoa.cc (working copy) |
+diff --git a/base/third_party/dmg_fp/dtoa.cc b/base/third_party/dmg_fp/dtoa.cc |
+index 3312fa4..502c16c 100644 |
+--- a/base/third_party/dmg_fp/dtoa.cc |
++++ b/base/third_party/dmg_fp/dtoa.cc |
@@ -548,8 +548,10 @@ Balloc |
ACQUIRE_DTOA_LOCK(0); |
/* The k > Kmax case does not need ACQUIRE_DTOA_LOCK(0), */ |
@@ -13,6 +14,15 @@ Index: dtoa.cc |
else { |
x = 1 << k; |
#ifdef Omit_Private_Memory |
+@@ -650,7 +652,7 @@ multadd |
+ Bfree(b); |
+ b = b1; |
+ } |
+- b->x[wds++] = carry; |
++ b->x[wds++] = (ULong)carry; |
+ b->wds = wds; |
+ } |
+ return b; |
@@ -834,7 +836,8 @@ mult |
xc0 = c->x; |
#ifdef ULLong |
@@ -23,6 +33,15 @@ Index: dtoa.cc |
x = xa; |
xc = xc0; |
carry = 0; |
+@@ -844,7 +847,7 @@ mult |
+ *xc++ = z & FFFFFFFF; |
+ } |
+ while(x < xae); |
+- *xc = carry; |
++ *xc = (ULong)carry; |
+ } |
+ } |
+ #else |
@@ -916,16 +919,19 @@ pow5mult |
int i; |
static int p05[3] = { 5, 25, 125 }; |
@@ -102,6 +121,15 @@ Index: dtoa.cc |
} |
else { |
k = lo0bits(&z); |
+@@ -1498,7 +1511,7 @@ htinit(unsigned char *h, unsigned char *s, int inc) |
+ { |
+ int i, j; |
+ for(i = 0; (j = s[i]) !=0; i++) |
+- h[j] = i + inc; |
++ h[j] = (unsigned char)(i + inc); |
+ } |
+ |
+ static void |
@@ -1536,7 +1549,7 @@ match |
int c, d; |
CONST char *s = *sp; |
@@ -188,7 +216,16 @@ Index: dtoa.cc |
dval(&rv) /= tens[i]; |
if (e1 >>= 4) { |
if (e1 >= 1 << n_bigtens) |
-@@ -3456,7 +3476,7 @@ nrv_alloc(CONST char *s, char **rve, int |
+@@ -3283,7 +3303,7 @@ strtod |
+ #ifdef Avoid_Underflow |
+ if (bc.scale && y <= 2*P*Exp_msk1) { |
+ if (aadj <= 0x7fffffff) { |
+- if ((z = aadj) <= 0) |
++ if ((z = (ULong)aadj) <= 0) |
+ z = 1; |
+ aadj = z; |
+ aadj1 = bc.dsign ? aadj : -aadj; |
+@@ -3456,7 +3476,7 @@ nrv_alloc(CONST char *s, char **rve, int n) |
char *rv, *t; |
t = rv = rv_alloc(n); |
@@ -243,6 +280,36 @@ Index: dtoa.cc |
} |
if (k_check && dval(&u) < 1. && ilim > 0) { |
if (ilim1 <= 0) |
+@@ -3837,9 +3859,9 @@ dtoa |
+ */ |
+ dval(&eps) = 0.5/tens[ilim-1] - dval(&eps); |
+ for(i = 0;;) { |
+- L = dval(&u); |
++ L = (long)dval(&u); |
+ dval(&u) -= L; |
+- *s++ = '0' + (int)L; |
++ *s++ = '0' + (char)L; |
+ if (dval(&u) < dval(&eps)) |
+ goto ret1; |
+ if (1. - dval(&u) < dval(&eps)) |
+@@ -3858,7 +3880,7 @@ dtoa |
+ L = (Long)(dval(&u)); |
+ if (!(dval(&u) -= L)) |
+ ilim = i; |
+- *s++ = '0' + (int)L; |
++ *s++ = '0' + (char)L; |
+ if (i == ilim) { |
+ if (dval(&u) > 0.5 + dval(&eps)) |
+ goto bump_up; |
+@@ -3901,7 +3923,7 @@ dtoa |
+ dval(&u) += ds; |
+ } |
+ #endif |
+- *s++ = '0' + (int)L; |
++ *s++ = '0' + (char)L; |
+ if (!dval(&u)) { |
+ #ifdef SET_INEXACT |
+ inexact = 0; |
@@ -3964,7 +3986,8 @@ dtoa |
Bfree(b); |
b = b1; |
@@ -263,9 +330,54 @@ Index: dtoa.cc |
i = 32 - i; |
#define iInc 28 |
#else |
-Index: g_fmt.cc |
---- g_fmt.cc (old copy) |
-+++ g_fmt.cc (working copy) |
+@@ -4077,7 +4101,7 @@ dtoa |
+ else if (!b->x[0] && b->wds <= 1) |
+ inexact = 0; |
+ #endif |
+- *s++ = dig; |
++ *s++ = (char)dig; |
+ goto ret; |
+ } |
+ #endif |
+@@ -4107,7 +4131,7 @@ dtoa |
+ goto round_9_up; |
+ } |
+ accept_dig: |
+- *s++ = dig; |
++ *s++ = (char)dig; |
+ goto ret; |
+ } |
+ if (j1 > 0) { |
+@@ -4120,13 +4144,13 @@ dtoa |
+ *s++ = '9'; |
+ goto roundoff; |
+ } |
+- *s++ = dig + 1; |
++ *s++ = (char)dig + 1; |
+ goto ret; |
+ } |
+ #ifdef Honor_FLT_ROUNDS |
+ keep_dig: |
+ #endif |
+- *s++ = dig; |
++ *s++ = (char)dig; |
+ if (i == ilim) |
+ break; |
+ b = multadd(b, 10, 0); |
+@@ -4140,7 +4164,8 @@ dtoa |
+ } |
+ else |
+ for(i = 1;; i++) { |
+- *s++ = dig = quorem(b,S) + '0'; |
++ dig = quorem(b,S) + '0'; |
++ *s++ = (char)dig; |
+ if (!b->x[0] && b->wds <= 1) { |
+ #ifdef SET_INEXACT |
+ inexact = 0; |
+diff --git a/base/third_party/dmg_fp/g_fmt.cc b/base/third_party/dmg_fp/g_fmt.cc |
+index d864eb7..bfa358d 100644 |
+--- a/base/third_party/dmg_fp/g_fmt.cc |
++++ b/base/third_party/dmg_fp/g_fmt.cc |
@@ -46,14 +46,14 @@ g_fmt(register char *b, double x) |
if (sign) |
*b++ = '-'; |
@@ -283,6 +395,15 @@ Index: g_fmt.cc |
b++; |
} |
*b++ = 'e'; |
+@@ -67,7 +67,7 @@ g_fmt(register char *b, double x) |
+ for(j = 2, k = 10; 10*k <= decpt; j++, k *= 10) {} |
+ for(;;) { |
+ i = decpt / k; |
+- *b++ = i + '0'; |
++ *b++ = (char)i + '0'; |
+ if (--j <= 0) |
+ break; |
+ decpt -= i*k; |
@@ -79,10 +79,10 @@ g_fmt(register char *b, double x) |
*b++ = '.'; |
for(; decpt < 0; decpt++) |