--- 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());