File icu-avoid-x87-excess-precision.diff of Package icu

---
 source/test/intltest/dcfmapts.cpp |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Index: icu/source/test/intltest/dcfmapts.cpp
===================================================================
--- icu.orig/source/test/intltest/dcfmapts.cpp
+++ icu/source/test/intltest/dcfmapts.cpp
@@ -851,7 +851,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());
 
@@ -947,14 +948,15 @@ void IntlTestDecimalFormatAPI::TestFixed
     // 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);
     if (!(
-            fd.getPluralOperand(PLURAL_OPERAND_I) == 223372036854775807LL ||
-            fd.getPluralOperand(PLURAL_OPERAND_I) == 9223372036854775807LL)) {
+            xxb == 223372036854775807LL ||
+            xxb == 9223372036854775807LL)) {
         dataerrln(
                 "File %s, Line %d, fd.getPluralOperand(PLURAL_OPERAND_I = %lld",
                 __FILE__,
                 __LINE__,
-                fd.getPluralOperand(PLURAL_OPERAND_I));
+                xxb);
     }
     ASSERT_EQUAL(TRUE, fd.hasIntegerValue());
     ASSERT_EQUAL(FALSE, fd.isNegative());