SHA256
1
0
forked from pool/icu
icu/icu-avoid-x87-excess-precision.diff
Ismail Dönmez f65b1d29de Accepting request 495573 from home:rguenther:branches:X11:common:Factory
- Add icu-avoid-x87-excess-precision.diff to avoid
  FixedPrecision::initVisibleDigits failure on i586 with GCC 7.
  (bnc#1030253)

OBS-URL: https://build.opensuse.org/request/show/495573
OBS-URL: https://build.opensuse.org/package/show/X11:common:Factory/icu?expand=0&rev=76
2017-05-17 11:39:21 +00:00

12 lines
544 B
Diff

--- source/i18n/precision.cpp.orig 2017-05-17 11:05:56.517416029 +0000
+++ source/i18n/precision.cpp 2017-05-17 11:05:22.700828110 +0000
@@ -227,7 +227,7 @@
}
// Try to find n such that value * 10^n is an integer
int32_t n = -1;
- double scaled;
+ volatile double scaled; // make sure scaled is in memory to avoid excess precision with x87 math
for (int32_t i = 0; i < UPRV_LENGTHOF(gPower10); ++i) {
scaled = value * gPower10[i];
if (scaled > MAX_INT64_IN_DOUBLE || scaled < -MAX_INT64_IN_DOUBLE) {