mirror of https://github.com/openwrt/packages.git
icu: Backport C++11 math patch
Fixes compilation with uClibc-ng. Signed-off-by: Rosen Penev <rosenp@gmail.com>pull/10842/head
parent
3c0213606f
commit
93d049951d
|
@ -11,7 +11,7 @@ PKG_NAME:=icu4c
|
||||||
MAJOR_VERSION:=65
|
MAJOR_VERSION:=65
|
||||||
MINOR_VERSION:=1
|
MINOR_VERSION:=1
|
||||||
PKG_VERSION:=$(MAJOR_VERSION).$(MINOR_VERSION)
|
PKG_VERSION:=$(MAJOR_VERSION).$(MINOR_VERSION)
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(MAJOR_VERSION)_$(MINOR_VERSION)-src.tgz
|
PKG_SOURCE:=$(PKG_NAME)-$(MAJOR_VERSION)_$(MINOR_VERSION)-src.tgz
|
||||||
PKG_SOURCE_URL:=https://github.com/unicode-org/icu/releases/download/release-$(MAJOR_VERSION)-$(MINOR_VERSION)
|
PKG_SOURCE_URL:=https://github.com/unicode-org/icu/releases/download/release-$(MAJOR_VERSION)-$(MINOR_VERSION)
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
From 8fda72f6d8e442c5382f21cdd884e2c962bb53bd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rosen Penev <rosenp@gmail.com>
|
||||||
|
Date: Wed, 11 Dec 2019 13:25:32 -0800
|
||||||
|
Subject: [PATCH] ICU-20877 i18n: Don't use C++11 math
|
||||||
|
|
||||||
|
It's not available with some libc implementations. Specifically,
|
||||||
|
BIONIC and uClibc-ng. uprv_ variants are available.
|
||||||
|
|
||||||
|
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
||||||
|
---
|
||||||
|
i18n/decimfmt.cpp | 2 +-
|
||||||
|
i18n/number_decimalquantity.cpp | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/i18n/decimfmt.cpp b/i18n/decimfmt.cpp
|
||||||
|
index 4015250e273..0cbaca7e099 100644
|
||||||
|
--- a/i18n/decimfmt.cpp
|
||||||
|
+++ b/i18n/decimfmt.cpp
|
||||||
|
@@ -1801,7 +1801,7 @@ bool DecimalFormat::fastFormatDouble(double input, UnicodeString& output) const
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (std::isnan(input)
|
||||||
|
- || std::trunc(input) != input
|
||||||
|
+ || uprv_trunc(input) != input
|
||||||
|
|| input <= INT32_MIN
|
||||||
|
|| input > INT32_MAX) {
|
||||||
|
return false;
|
||||||
|
diff --git a/i18n/number_decimalquantity.cpp b/i18n/number_decimalquantity.cpp
|
||||||
|
index abbc23de032..778feb141b4 100644
|
||||||
|
--- a/i18n/number_decimalquantity.cpp
|
||||||
|
+++ b/i18n/number_decimalquantity.cpp
|
||||||
|
@@ -452,7 +452,7 @@ void DecimalQuantity::_setToDoubleFast(double n) {
|
||||||
|
for (; i <= -22; i += 22) n /= 1e22;
|
||||||
|
n /= DOUBLE_MULTIPLIERS[-i];
|
||||||
|
}
|
||||||
|
- auto result = static_cast<int64_t>(std::round(n));
|
||||||
|
+ auto result = static_cast<int64_t>(uprv_round(n));
|
||||||
|
if (result != 0) {
|
||||||
|
_setToLong(result);
|
||||||
|
scale -= fracLength;
|
Loading…
Reference in New Issue