icu/icu-avoid-x87-excess-precision.diff
Ismail Dönmez 3025f1c5bb - Update to version 66.1
* Unicode 13 support
  * Fix uses of u8"literals" broken by C++20 introduction of
    incompatible char8_t type. (ICU-20972)

OBS-URL: https://build.opensuse.org/package/show/X11:common:Factory/icu?expand=0&rev=123
2020-03-15 17:27:00 +00:00

34 lines
1.5 KiB
Diff

From: rguenther@suse.com
References: http://bugzilla.opensuse.org/1030253
Avoid FixedPrecision::initVisibleDigits failure on i586 with GCC 7.
---
source/test/intltest/dcfmapts.cpp | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
Index: icu/source/test/intltest/dcfmapts.cpp
===================================================================
--- icu.orig/source/test/intltest/dcfmapts.cpp
+++ icu/source/test/intltest/dcfmapts.cpp
@@ -870,7 +870,8 @@ void IntlTestDecimalFormatAPI::TestFixed
ASSERT_EQUAL(22, fd.getPluralOperand(PLURAL_OPERAND_V));
ASSERT_EQUAL(1234567890123456789LL, fd.getPluralOperand(PLURAL_OPERAND_F));
ASSERT_EQUAL(1234567890123456789LL, fd.getPluralOperand(PLURAL_OPERAND_T));
- ASSERT_EQUAL(345678901234567890LL, fd.getPluralOperand(PLURAL_OPERAND_I));
+ volatile double xxa = fd.getPluralOperand(PLURAL_OPERAND_I);
+ ASSERT_EQUAL(345678901234567890LL, xxa);
ASSERT_EQUAL(FALSE, fd.hasIntegerValue());
ASSERT_EQUAL(FALSE, fd.isNegative());
@@ -965,7 +966,8 @@ void IntlTestDecimalFormatAPI::TestFixed
ASSERT_EQUAL(0, fd.getPluralOperand(PLURAL_OPERAND_T));
// note: going through DigitList path to FixedDecimal, which is trimming
// int64_t fields to 18 digits. See ticket Ticket #10374
- ASSERT_EQUAL(223372036854775807LL, fd.getPluralOperand(PLURAL_OPERAND_I));
+ volatile double xxb = fd.getPluralOperand(PLURAL_OPERAND_I);
+ ASSERT_EQUAL(223372036854775807LL, xxb);
ASSERT_EQUAL(TRUE, fd.hasIntegerValue());
ASSERT_EQUAL(FALSE, fd.isNegative());