OLD | NEW |
1 Index: dtoa.cc | 1 diff --git a/base/third_party/dmg_fp/dtoa.cc b/base/third_party/dmg_fp/dtoa.cc |
2 --- dtoa.cc (old copy) | 2 index 3312fa4..502c16c 100644 |
3 +++ dtoa.cc (working copy) | 3 --- a/base/third_party/dmg_fp/dtoa.cc |
| 4 +++ b/base/third_party/dmg_fp/dtoa.cc |
4 @@ -548,8 +548,10 @@ Balloc | 5 @@ -548,8 +548,10 @@ Balloc |
5 ACQUIRE_DTOA_LOCK(0); | 6 ACQUIRE_DTOA_LOCK(0); |
6 /* The k > Kmax case does not need ACQUIRE_DTOA_LOCK(0), */ | 7 /* The k > Kmax case does not need ACQUIRE_DTOA_LOCK(0), */ |
7 /* but this case seems very unlikely. */ | 8 /* but this case seems very unlikely. */ |
8 - if (k <= Kmax && (rv = freelist[k])) | 9 - if (k <= Kmax && (rv = freelist[k])) |
9 + if (k <= Kmax && freelist[k]) { | 10 + if (k <= Kmax && freelist[k]) { |
10 + rv = freelist[k]; | 11 + rv = freelist[k]; |
11 freelist[k] = rv->next; | 12 freelist[k] = rv->next; |
12 + } | 13 + } |
13 else { | 14 else { |
14 x = 1 << k; | 15 x = 1 << k; |
15 #ifdef Omit_Private_Memory | 16 #ifdef Omit_Private_Memory |
| 17 @@ -650,7 +652,7 @@ multadd |
| 18 Bfree(b); |
| 19 b = b1; |
| 20 } |
| 21 - b->x[wds++] = carry; |
| 22 + b->x[wds++] = (ULong)carry; |
| 23 b->wds = wds; |
| 24 } |
| 25 return b; |
16 @@ -834,7 +836,8 @@ mult | 26 @@ -834,7 +836,8 @@ mult |
17 xc0 = c->x; | 27 xc0 = c->x; |
18 #ifdef ULLong | 28 #ifdef ULLong |
19 for(; xb < xbe; xc0++) { | 29 for(; xb < xbe; xc0++) { |
20 - if ((y = *xb++)) { | 30 - if ((y = *xb++)) { |
21 + y = *xb++; | 31 + y = *xb++; |
22 + if (y) { | 32 + if (y) { |
23 x = xa; | 33 x = xa; |
24 xc = xc0; | 34 xc = xc0; |
25 carry = 0; | 35 carry = 0; |
| 36 @@ -844,7 +847,7 @@ mult |
| 37 *xc++ = z & FFFFFFFF; |
| 38 } |
| 39 while(x < xae); |
| 40 - *xc = carry; |
| 41 + *xc = (ULong)carry; |
| 42 } |
| 43 } |
| 44 #else |
26 @@ -916,16 +919,19 @@ pow5mult | 45 @@ -916,16 +919,19 @@ pow5mult |
27 int i; | 46 int i; |
28 static int p05[3] = { 5, 25, 125 }; | 47 static int p05[3] = { 5, 25, 125 }; |
29 | 48 |
30 - if ((i = k & 3)) | 49 - if ((i = k & 3)) |
31 + i = k & 3; | 50 + i = k & 3; |
32 + if (i) | 51 + if (i) |
33 b = multadd(b, p05[i-1], 0); | 52 b = multadd(b, p05[i-1], 0); |
34 | 53 |
35 if (!(k >>= 2)) | 54 if (!(k >>= 2)) |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 + x[1] = z; | 114 + x[1] = z; |
96 + b->wds = x[1] ? 2 : 1; | 115 + b->wds = x[1] ? 2 : 1; |
97 #ifndef Sudden_Underflow | 116 #ifndef Sudden_Underflow |
98 - i = | 117 - i = |
99 + i = b->wds; | 118 + i = b->wds; |
100 #endif | 119 #endif |
101 - b->wds = (x[1] = z) ? 2 : 1; | 120 - b->wds = (x[1] = z) ? 2 : 1; |
102 } | 121 } |
103 else { | 122 else { |
104 k = lo0bits(&z); | 123 k = lo0bits(&z); |
| 124 @@ -1498,7 +1511,7 @@ htinit(unsigned char *h, unsigned char *s, int inc) |
| 125 { |
| 126 int i, j; |
| 127 for(i = 0; (j = s[i]) !=0; i++) |
| 128 - h[j] = i + inc; |
| 129 + h[j] = (unsigned char)(i + inc); |
| 130 } |
| 131 |
| 132 static void |
105 @@ -1536,7 +1549,7 @@ match | 133 @@ -1536,7 +1549,7 @@ match |
106 int c, d; | 134 int c, d; |
107 CONST char *s = *sp; | 135 CONST char *s = *sp; |
108 | 136 |
109 - while((d = *t++)) { | 137 - while((d = *t++)) { |
110 + for(d = *t++; d; d = *t++) { | 138 + for(d = *t++; d; d = *t++) { |
111 if ((c = *++s) >= 'A' && c <= 'Z') | 139 if ((c = *++s) >= 'A' && c <= 'Z') |
112 c += 'a' - 'A'; | 140 c += 'a' - 'A'; |
113 if (c != d) | 141 if (c != d) |
114 @@ -1566,12 +1579,13 @@ hexnan | 142 @@ -1566,12 +1579,13 @@ hexnan |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 @@ -2805,7 +2824,8 @@ strtod | 209 @@ -2805,7 +2824,8 @@ strtod |
182 } | 210 } |
183 else if (e1 < 0) { | 211 else if (e1 < 0) { |
184 e1 = -e1; | 212 e1 = -e1; |
185 - if ((i = e1 & 15)) | 213 - if ((i = e1 & 15)) |
186 + i = e1 & 15; | 214 + i = e1 & 15; |
187 + if (i) | 215 + if (i) |
188 dval(&rv) /= tens[i]; | 216 dval(&rv) /= tens[i]; |
189 if (e1 >>= 4) { | 217 if (e1 >>= 4) { |
190 if (e1 >= 1 << n_bigtens) | 218 if (e1 >= 1 << n_bigtens) |
191 @@ -3456,7 +3476,7 @@ nrv_alloc(CONST char *s, char **rve, int | 219 @@ -3283,7 +3303,7 @@ strtod |
| 220 #ifdef Avoid_Underflow |
| 221 » » » if (bc.scale && y <= 2*P*Exp_msk1) { |
| 222 » » » » if (aadj <= 0x7fffffff) { |
| 223 -» » » » » if ((z = aadj) <= 0) |
| 224 +» » » » » if ((z = (ULong)aadj) <= 0) |
| 225 » » » » » » z = 1; |
| 226 » » » » » aadj = z; |
| 227 » » » » » aadj1 = bc.dsign ? aadj : -aadj; |
| 228 @@ -3456,7 +3476,7 @@ nrv_alloc(CONST char *s, char **rve, int n) |
192 char *rv, *t; | 229 char *rv, *t; |
193 | 230 |
194 t = rv = rv_alloc(n); | 231 t = rv = rv_alloc(n); |
195 - while((*t = *s++)) t++; | 232 - while((*t = *s++)) t++; |
196 + for(*t = *s++; *t; *t = *s++) t++; | 233 + for(*t = *s++; *t; *t = *s++) t++; |
197 if (rve) | 234 if (rve) |
198 *rve = t; | 235 *rve = t; |
199 return rv; | 236 return rv; |
200 @@ -3569,7 +3589,7 @@ dtoa | 237 @@ -3569,7 +3589,7 @@ dtoa |
201 int denorm; | 238 int denorm; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 + dval(&u) *= tens[j1 & 0xf]; | 273 + dval(&u) *= tens[j1 & 0xf]; |
237 + for(j = j1 >> 4; j; j >>= 1, i++) | 274 + for(j = j1 >> 4; j; j >>= 1, i++) |
238 + if (j & 1) { | 275 + if (j & 1) { |
239 + ieps++; | 276 + ieps++; |
240 + dval(&u) *= bigtens[i]; | 277 + dval(&u) *= bigtens[i]; |
241 + } | 278 + } |
242 + } | 279 + } |
243 } | 280 } |
244 if (k_check && dval(&u) < 1. && ilim > 0) { | 281 if (k_check && dval(&u) < 1. && ilim > 0) { |
245 if (ilim1 <= 0) | 282 if (ilim1 <= 0) |
| 283 @@ -3837,9 +3859,9 @@ dtoa |
| 284 */ |
| 285 dval(&eps) = 0.5/tens[ilim-1] - dval(&eps); |
| 286 for(i = 0;;) { |
| 287 - L = dval(&u); |
| 288 + L = (long)dval(&u); |
| 289 dval(&u) -= L; |
| 290 - *s++ = '0' + (int)L; |
| 291 + *s++ = '0' + (char)L; |
| 292 if (dval(&u) < dval(&eps)) |
| 293 goto ret1; |
| 294 if (1. - dval(&u) < dval(&eps)) |
| 295 @@ -3858,7 +3880,7 @@ dtoa |
| 296 L = (Long)(dval(&u)); |
| 297 if (!(dval(&u) -= L)) |
| 298 ilim = i; |
| 299 - *s++ = '0' + (int)L; |
| 300 + *s++ = '0' + (char)L; |
| 301 if (i == ilim) { |
| 302 if (dval(&u) > 0.5 + dval(&eps)) |
| 303 goto bump_up; |
| 304 @@ -3901,7 +3923,7 @@ dtoa |
| 305 dval(&u) += ds; |
| 306 } |
| 307 #endif |
| 308 - *s++ = '0' + (int)L; |
| 309 + *s++ = '0' + (char)L; |
| 310 if (!dval(&u)) { |
| 311 #ifdef SET_INEXACT |
| 312 inexact = 0; |
246 @@ -3964,7 +3986,8 @@ dtoa | 313 @@ -3964,7 +3986,8 @@ dtoa |
247 Bfree(b); | 314 Bfree(b); |
248 b = b1; | 315 b = b1; |
249 } | 316 } |
250 - if ((j = b5 - m5)) | 317 - if ((j = b5 - m5)) |
251 + j = b5 - m5; | 318 + j = b5 - m5; |
252 + if (j) | 319 + if (j) |
253 b = pow5mult(b, j); | 320 b = pow5mult(b, j); |
254 } | 321 } |
255 else | 322 else |
256 @@ -4002,7 +4025,8 @@ dtoa | 323 @@ -4002,7 +4025,8 @@ dtoa |
257 * can do shifts and ors to compute the numerator for q. | 324 * can do shifts and ors to compute the numerator for q. |
258 */ | 325 */ |
259 #ifdef Pack_32 | 326 #ifdef Pack_32 |
260 - if ((i = ((s5 ? 32 - hi0bits(S->x[S->wds-1]) : 1) + s2) & 0x1f)) | 327 - if ((i = ((s5 ? 32 - hi0bits(S->x[S->wds-1]) : 1) + s2) & 0x1f)) |
261 + i = ((s5 ? 32 - hi0bits(S->x[S->wds-1]) : 1) + s2) & 0x1f; | 328 + i = ((s5 ? 32 - hi0bits(S->x[S->wds-1]) : 1) + s2) & 0x1f; |
262 + if (i) | 329 + if (i) |
263 i = 32 - i; | 330 i = 32 - i; |
264 #define iInc 28 | 331 #define iInc 28 |
265 #else | 332 #else |
266 Index: g_fmt.cc | 333 @@ -4077,7 +4101,7 @@ dtoa |
267 --- g_fmt.cc (old copy) | 334 » » » » else if (!b->x[0] && b->wds <= 1) |
268 +++ g_fmt.cc (working copy) | 335 » » » » » inexact = 0; |
| 336 #endif |
| 337 -» » » » *s++ = dig; |
| 338 +» » » » *s++ = (char)dig; |
| 339 » » » » goto ret; |
| 340 » » » » } |
| 341 #endif |
| 342 @@ -4107,7 +4131,7 @@ dtoa |
| 343 » » » » » » goto round_9_up; |
| 344 » » » » » } |
| 345 accept_dig: |
| 346 -» » » » *s++ = dig; |
| 347 +» » » » *s++ = (char)dig; |
| 348 » » » » goto ret; |
| 349 » » » » } |
| 350 » » » if (j1 > 0) { |
| 351 @@ -4120,13 +4144,13 @@ dtoa |
| 352 » » » » » *s++ = '9'; |
| 353 » » » » » goto roundoff; |
| 354 » » » » » } |
| 355 -» » » » *s++ = dig + 1; |
| 356 +» » » » *s++ = (char)dig + 1; |
| 357 » » » » goto ret; |
| 358 » » » » } |
| 359 #ifdef Honor_FLT_ROUNDS |
| 360 keep_dig: |
| 361 #endif |
| 362 -» » » *s++ = dig; |
| 363 +» » » *s++ = (char)dig; |
| 364 » » » if (i == ilim) |
| 365 » » » » break; |
| 366 » » » b = multadd(b, 10, 0); |
| 367 @@ -4140,7 +4164,8 @@ dtoa |
| 368 » » } |
| 369 » else |
| 370 » » for(i = 1;; i++) { |
| 371 -» » » *s++ = dig = quorem(b,S) + '0'; |
| 372 +» » » dig = quorem(b,S) + '0'; |
| 373 +» » » *s++ = (char)dig; |
| 374 » » » if (!b->x[0] && b->wds <= 1) { |
| 375 #ifdef SET_INEXACT |
| 376 » » » » inexact = 0; |
| 377 diff --git a/base/third_party/dmg_fp/g_fmt.cc b/base/third_party/dmg_fp/g_fmt.cc |
| 378 index d864eb7..bfa358d 100644 |
| 379 --- a/base/third_party/dmg_fp/g_fmt.cc |
| 380 +++ b/base/third_party/dmg_fp/g_fmt.cc |
269 @@ -46,14 +46,14 @@ g_fmt(register char *b, double x) | 381 @@ -46,14 +46,14 @@ g_fmt(register char *b, double x) |
270 if (sign) | 382 if (sign) |
271 *b++ = '-'; | 383 *b++ = '-'; |
272 if (decpt == 9999) /* Infinity or Nan */ { | 384 if (decpt == 9999) /* Infinity or Nan */ { |
273 - while((*b++ = *s++)) {} | 385 - while((*b++ = *s++)) {} |
274 + for(*b = *s++; *b++; *b = *s++) {} | 386 + for(*b = *s++; *b++; *b = *s++) {} |
275 goto done0; | 387 goto done0; |
276 } | 388 } |
277 if (decpt <= -4 || decpt > se - s + 5) { | 389 if (decpt <= -4 || decpt > se - s + 5) { |
278 *b++ = *s++; | 390 *b++ = *s++; |
279 if (*s) { | 391 if (*s) { |
280 *b++ = '.'; | 392 *b++ = '.'; |
281 - while((*b = *s++)) | 393 - while((*b = *s++)) |
282 + for(*b = *s++; *b; *b = *s++) | 394 + for(*b = *s++; *b; *b = *s++) |
283 b++; | 395 b++; |
284 } | 396 } |
285 *b++ = 'e'; | 397 *b++ = 'e'; |
| 398 @@ -67,7 +67,7 @@ g_fmt(register char *b, double x) |
| 399 for(j = 2, k = 10; 10*k <= decpt; j++, k *= 10) {} |
| 400 for(;;) { |
| 401 i = decpt / k; |
| 402 - *b++ = i + '0'; |
| 403 + *b++ = (char)i + '0'; |
| 404 if (--j <= 0) |
| 405 break; |
| 406 decpt -= i*k; |
286 @@ -79,10 +79,10 @@ g_fmt(register char *b, double x) | 407 @@ -79,10 +79,10 @@ g_fmt(register char *b, double x) |
287 *b++ = '.'; | 408 *b++ = '.'; |
288 for(; decpt < 0; decpt++) | 409 for(; decpt < 0; decpt++) |
289 *b++ = '0'; | 410 *b++ = '0'; |
290 - while((*b++ = *s++)) {} | 411 - while((*b++ = *s++)) {} |
291 + for(*b = *s++; *b++; *b = *s++) {} | 412 + for(*b = *s++; *b++; *b = *s++) {} |
292 } | 413 } |
293 else { | 414 else { |
294 - while((*b = *s++)) { | 415 - while((*b = *s++)) { |
295 + for(*b = *s++; *b; *b = *s++) { | 416 + for(*b = *s++; *b; *b = *s++) { |
296 b++; | 417 b++; |
297 if (--decpt == 0 && *s) | 418 if (--decpt == 0 && *s) |
298 *b++ = '.'; | 419 *b++ = '.'; |
OLD | NEW |