!17 add upstream patch for 4.2.0
From: @WizardHowl Reviewed-by: @SuperSix173 Signed-off-by: @SuperSix173
This commit is contained in:
commit
004acf82ce
1898
backport-allpatches.patch
Normal file
1898
backport-allpatches.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,56 +0,0 @@
|
|||||||
From 5172494c09718ffcb7ef1f19b3b211e3bce8781a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Vincent Lefevre <vincent@vinc17.net>
|
|
||||||
Date: Tue, 10 Jan 2023 17:05:17 +0100
|
|
||||||
Subject: [PATCH] [tests/tsprintf.c] Modified a buggy test of the thousands
|
|
||||||
separator.
|
|
||||||
|
|
||||||
The test
|
|
||||||
|
|
||||||
check_vsprintf ("+01,234,567 :", "%0+ -'13.10Pd:", (mpfr_prec_t) 1234567);
|
|
||||||
|
|
||||||
is based on the output from glibc up to 2.36, which is incorrect:
|
|
||||||
|
|
||||||
https://sourceware.org/bugzilla/show_bug.cgi?id=23432
|
|
||||||
|
|
||||||
The GNU C Library has apparently been partially fixed in its Git
|
|
||||||
repository for the future 2.37, since a tsprintf failure has been
|
|
||||||
reported (this is a bug in this test, not in the MPFR library):
|
|
||||||
|
|
||||||
https://sympa.inria.fr/sympa/arc/mpfr/2023-01/msg00001.html
|
|
||||||
|
|
||||||
So, modified the test to avoid the particular case of leading zeros
|
|
||||||
due to the precision field larger than the number of digits. This
|
|
||||||
case has already been tested without the thousands separator (where
|
|
||||||
there are no issues with the C libraries), so that we do not miss
|
|
||||||
much testing. Added a comment explaining the issue and a possible
|
|
||||||
solution for future testing of this particular case (if need be).
|
|
||||||
---
|
|
||||||
tests/tsprintf.c | 12 +++++++++++-
|
|
||||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/tests/tsprintf.c b/tests/tsprintf.c
|
|
||||||
index c68b2ba71..c0182503b 100644
|
|
||||||
--- a/tests/tsprintf.c
|
|
||||||
+++ b/tests/tsprintf.c
|
|
||||||
@@ -1719,7 +1719,17 @@ test_locale (void)
|
|
||||||
check_sprintf ("000000001,000", "%'013.4Rg", x);
|
|
||||||
|
|
||||||
#ifdef PRINTF_GROUPFLAG
|
|
||||||
- check_vsprintf ("+01,234,567 :", "%0+ -'13.10Pd:", (mpfr_prec_t) 1234567);
|
|
||||||
+ /* Do not test the thousands separator with a precision field larger
|
|
||||||
+ than the number of digits (thus needing leading zeros), such as
|
|
||||||
+ "%0+ -'13.10Pd:" (used up to MPFR 4.2.0), since the GNU libc is
|
|
||||||
+ buggy: https://sourceware.org/bugzilla/show_bug.cgi?id=23432
|
|
||||||
+ We don't know about the other implementations.
|
|
||||||
+ If we wanted to check that and avoid a failure of the test because of
|
|
||||||
+ a buggy C library (while MPFR would be consistent with the C library),
|
|
||||||
+ we could compare the MPFR output with both the correct output and the
|
|
||||||
+ output from the C library (possibly buggy). But to do that in a clean
|
|
||||||
+ way, this would require a change in the check_vsprintf() call. */
|
|
||||||
+ check_vsprintf ("+1,234,567 :", "%0+ -'13Pd:", (mpfr_prec_t) 1234567);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
mpfr_clear (x);
|
|
||||||
--
|
|
||||||
2.33.0
|
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Name: mpfr
|
Name: mpfr
|
||||||
Version: 4.2.0
|
Version: 4.2.0
|
||||||
Release: 2
|
Release: 3
|
||||||
Summary: A C library for multiple-precision floating-point computations
|
Summary: A C library for multiple-precision floating-point computations
|
||||||
URL: http://www.mpfr.org/
|
URL: http://www.mpfr.org/
|
||||||
License: LGPLv3+ and GPLv3+ and GFDL-1.2-only
|
License: LGPLv3+ and GPLv3+ and GFDL-1.2-only
|
||||||
@ -10,7 +10,7 @@ Requires: gmp >= 4.2.3
|
|||||||
|
|
||||||
Source0: http://www.mpfr.org/%{name}-%{version}/%{name}-%{version}.tar.xz
|
Source0: http://www.mpfr.org/%{name}-%{version}/%{name}-%{version}.tar.xz
|
||||||
|
|
||||||
Patch1: mpfr-tests-tsprintf.c-Modified-a-buggy-test-of-the-thousa.patch
|
Patch1: backport-allpatches.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
MPFR is a C library for arbitrary-precision binary floating-point computation
|
MPFR is a C library for arbitrary-precision binary floating-point computation
|
||||||
@ -80,6 +80,9 @@ fi
|
|||||||
%{_libdir}/pkgconfig/mpfr.pc
|
%{_libdir}/pkgconfig/mpfr.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Nov 27 2023 Wenyu Liu<liuwenyu7@huawei.com> - 4.2.0-3
|
||||||
|
- Add upstream patch for 4.2.0.
|
||||||
|
|
||||||
* Fri Aug 4 2023 Wenyu Liu<liuwenyu7@huawei.com> - 4.2.0-2
|
* Fri Aug 4 2023 Wenyu Liu<liuwenyu7@huawei.com> - 4.2.0-2
|
||||||
- Modified a buggy test of the thousands separator.
|
- Modified a buggy test of the thousands separator.
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user