File NumberFormat-icu71-incrementExact.patch of Package nodejs-electron.v3

From 3ae42771de56d60148b2d70dd2793d6db9b43b71 Mon Sep 17 00:00:00 2001
From: Frank Tang <ftang@chromium.org>
Date: Thu, 21 Apr 2022 10:26:54 -0700
Subject: [PATCH] [intl] Fix arm64-N5X failure in NumberFormat v3 due to
 precision issue

Use the new ICU 71-1 API

Precision::incrementExact
https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/classicu_1_1number_1_1Precision.html#aedfb413e5a37c69868594c870a87134b

Change-Id: I6d8841e5a07972d1be36026ce150eb83dbf300e7
Cq-Include-Trybots: luci.v8.try:v8_android_arm64_n5x_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3430378
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80126}
---
 src/objects/intl-objects.h      | 2 +-
 src/objects/js-number-format.cc | 5 ++---
 test/test262/test262.status     | 8 --------
 3 files changed, 3 insertions(+), 12 deletions(-)

diff --git a/src/objects/intl-objects.h b/src/objects/intl-objects.h
index 0541cd0ba5c..15e7e4d7fd3 100644
--- a/v8/src/objects/intl-objects.h
+++ b/v8/src/objects/intl-objects.h
@@ -21,7 +21,7 @@
 #include "unicode/locid.h"
 #include "unicode/uversion.h"
 
-#define V8_MINIMUM_ICU_VERSION 69
+#define V8_MINIMUM_ICU_VERSION 71
 
 namespace U_ICU_NAMESPACE {
 class BreakIterator;
diff --git a/src/objects/js-number-format.cc b/src/objects/js-number-format.cc
index ebfa5528a3a..633942aa2f7 100644
--- a/v8/src/objects/js-number-format.cc
+++ b/v8/src/objects/js-number-format.cc
@@ -884,9 +884,8 @@ icu::number::UnlocalizedNumberFormatter SetDigitOptionsToFormatterV3(
       break;
   }
   if (rounding_increment != 1) {
-    double icu_increment = rounding_increment *
-                           std::pow(10, -digit_options.maximum_fraction_digits);
-    precision = ::icu::number::Precision::increment(icu_increment)
+    precision = ::icu::number::Precision::incrementExact(
+                    rounding_increment, -digit_options.maximum_fraction_digits)
                     .withMinFraction(digit_options.minimum_fraction_digits);
   }
   if (trailing_zeros == JSNumberFormat::ShowTrailingZeros::kHide) {
openSUSE Build Service is sponsored by