From a7bcbfc07c13dbe8dbd800d47f6e52a519c0db85 Mon Sep 17 00:00:00 2001 From: Shane Carr Date: Tue, 24 Apr 2018 22:24:11 +0000 Subject: [PATCH] ICU-13725 Assorted minor changes to number formatting code for MSVC compatibility X-SVN-Rev: 41271 --- icu4c/source/common/numparse_unisets.h | 3 ++- icu4c/source/i18n/decimfmt.cpp | 2 +- icu4c/source/test/cintltst/unumberformattertst.c | 3 ++- icu4c/source/test/intltest/numbertest_decimalquantity.cpp | 2 +- icu4c/source/test/intltest/numrgts.cpp | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/icu4c/source/common/numparse_unisets.h b/icu4c/source/common/numparse_unisets.h index e6a51e14921..f02e9f5436b 100644 --- a/icu4c/source/common/numparse_unisets.h +++ b/icu4c/source/common/numparse_unisets.h @@ -61,7 +61,8 @@ enum Key { COUNT }; -const UnicodeSet* get(Key key); +// Exported as U_COMMON_API for ucurr.h +const U_COMMON_API UnicodeSet* get(Key key); Key chooseFrom(UnicodeString str, Key key1); diff --git a/icu4c/source/i18n/decimfmt.cpp b/icu4c/source/i18n/decimfmt.cpp index b18da05075e..dd274344125 100644 --- a/icu4c/source/i18n/decimfmt.cpp +++ b/icu4c/source/i18n/decimfmt.cpp @@ -1305,7 +1305,7 @@ bool DecimalFormat::fastFormatInt64(int64_t input, UnicodeString& output) const if (i32 != input || i32 == INT32_MIN) { return false; } - doFastFormatInt32(i32, std::signbit(input), output); + doFastFormatInt32(i32, input < 0, output); return true; } diff --git a/icu4c/source/test/cintltst/unumberformattertst.c b/icu4c/source/test/cintltst/unumberformattertst.c index c7abb232000..b968f43842b 100644 --- a/icu4c/source/test/cintltst/unumberformattertst.c +++ b/icu4c/source/test/cintltst/unumberformattertst.c @@ -30,9 +30,10 @@ void addUNumberFormatterTest(TestNode** root) { } +#define CAPACITY 30 + static void TestSkeletonFormatToString() { UErrorCode ec = U_ZERO_ERROR; - static const int32_t CAPACITY = 30; UChar buffer[CAPACITY]; // setup: diff --git a/icu4c/source/test/intltest/numbertest_decimalquantity.cpp b/icu4c/source/test/intltest/numbertest_decimalquantity.cpp index e8aaffa193b..4fdd8ab85b1 100644 --- a/icu4c/source/test/intltest/numbertest_decimalquantity.cpp +++ b/icu4c/source/test/intltest/numbertest_decimalquantity.cpp @@ -366,7 +366,7 @@ void DecimalQuantityTest::testMaxDigits() { dq.setFractionLength(0, 2); assertEquals("Should trim, toPlainString", "76.54", dq.toPlainString()); assertEquals("Should trim, toScientificString", "7.654E+1", dq.toScientificString()); - assertEquals("Should trim, toLong", 76L, dq.toLong(true)); + assertEquals("Should trim, toLong", 76LL, dq.toLong(true)); assertEquals("Should trim, toFractionLong", 54L, dq.toFractionLong(false)); assertEquals("Should trim, toDouble", 76.54, dq.toDouble()); // To test DecNum output, check the round-trip. diff --git a/icu4c/source/test/intltest/numrgts.cpp b/icu4c/source/test/intltest/numrgts.cpp index 56e85120e6d..2c2ebbb3fd5 100644 --- a/icu4c/source/test/intltest/numrgts.cpp +++ b/icu4c/source/test/intltest/numrgts.cpp @@ -2770,7 +2770,7 @@ void NumberFormatRegressionTest::Test8199(void) { nf->parse(numStr, val, status); TEST_CHECK_STATUS(status); TEST_ASSERT_EQUALS(Formattable::kDouble, val.getType()); - TEST_ASSERT_EQUALS(1000000000L, val.getInt64(status)); + TEST_ASSERT_EQUALS(1000000000LL, val.getInt64(status)); TEST_CHECK_STATUS(status); TEST_ASSERT_EQUALS(1000000000.6, val.getDouble(status)); TEST_CHECK_STATUS(status); -- 2.40.0