From d070d154ccc089265c1c4bdd503cdbce5785cecfb2ce124e8549a57dfe75f956 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 24 Nov 2022 09:10:36 +0000 Subject: [PATCH] - Add mpfr-4.1.1-patch01.patch to fix bug with code using the mpfr_custom_get_kind macro. OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/mpfr?expand=0&rev=72 --- mpfr-4.1.1-patch01.patch | 83 ++++++++++++++++++++++++++++++++++++++++ mpfr.changes | 6 +++ mpfr.spec | 2 + 3 files changed, 91 insertions(+) create mode 100644 mpfr-4.1.1-patch01.patch diff --git a/mpfr-4.1.1-patch01.patch b/mpfr-4.1.1-patch01.patch new file mode 100644 index 0000000..cc99861 --- /dev/null +++ b/mpfr-4.1.1-patch01.patch @@ -0,0 +1,83 @@ +diff -Naurd mpfr-4.1.1-a/PATCHES mpfr-4.1.1-b/PATCHES +--- mpfr-4.1.1-a/PATCHES 2022-11-23 11:45:26.800476079 +0000 ++++ mpfr-4.1.1-b/PATCHES 2022-11-23 11:45:26.844475966 +0000 +@@ -0,0 +1 @@ ++mpfr_custom_get_kind +diff -Naurd mpfr-4.1.1-a/VERSION mpfr-4.1.1-b/VERSION +--- mpfr-4.1.1-a/VERSION 2022-11-17 13:28:44.000000000 +0000 ++++ mpfr-4.1.1-b/VERSION 2022-11-23 11:45:26.844475966 +0000 +@@ -1 +1 @@ +-4.1.1 ++4.1.1-p1 +diff -Naurd mpfr-4.1.1-a/src/mpfr.h mpfr-4.1.1-b/src/mpfr.h +--- mpfr-4.1.1-a/src/mpfr.h 2022-11-17 13:28:44.000000000 +0000 ++++ mpfr-4.1.1-b/src/mpfr.h 2022-11-23 11:45:26.840475978 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 4 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 1 +-#define MPFR_VERSION_STRING "4.1.1" ++#define MPFR_VERSION_STRING "4.1.1-p1" + + /* User macros: + MPFR_USE_FILE: Define it to make MPFR define functions dealing +@@ -1027,7 +1027,7 @@ + #if __GNUC__ > 2 || __GNUC_MINOR__ >= 95 + #define mpfr_custom_get_kind(x) \ + __extension__ ({ \ +- mpfr_ptr _x = (x); \ ++ mpfr_srcptr _x = (x); \ + _x->_mpfr_exp > __MPFR_EXP_INF ? \ + (mpfr_int) MPFR_REGULAR_KIND * MPFR_SIGN (_x) \ + : _x->_mpfr_exp == __MPFR_EXP_INF ? \ +diff -Naurd mpfr-4.1.1-a/src/version.c mpfr-4.1.1-b/src/version.c +--- mpfr-4.1.1-a/src/version.c 2022-11-17 13:28:44.000000000 +0000 ++++ mpfr-4.1.1-b/src/version.c 2022-11-23 11:45:26.844475966 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "4.1.1"; ++ return "4.1.1-p1"; + } +diff -Naurd mpfr-4.1.1-a/tests/tstckintc.c mpfr-4.1.1-b/tests/tstckintc.c +--- mpfr-4.1.1-a/tests/tstckintc.c 2022-05-06 13:47:17.000000000 +0000 ++++ mpfr-4.1.1-b/tests/tstckintc.c 2022-11-23 11:45:26.836475987 +0000 +@@ -295,14 +295,16 @@ + test_nan_inf_zero (void) + { + mpfr_ptr val; ++ mpfr_srcptr sval; /* for compilation error checking */ + int sign; + int kind; + + reset_stack (); + + val = new_mpfr (MPFR_PREC_MIN); ++ sval = val; + mpfr_set_nan (val); +- kind = (mpfr_custom_get_kind) (val); ++ kind = (mpfr_custom_get_kind) (sval); + if (kind != MPFR_NAN_KIND) + { + printf ("mpfr_custom_get_kind error: "); +@@ -380,7 +382,8 @@ + dummy_set_si (long si) + { + mpfr_t x; +- long * r = dummy_new (); ++ mpfr_srcptr px; /* for compilation error checking */ ++ long *r = dummy_new (); + int i1, i2, i3, i4, i5; + + /* Check that the type "void *" can be used, like with the function. +@@ -405,7 +408,8 @@ + MPFR_ASSERTN (i5 == 1); + + mpfr_set_si (x, si, MPFR_RNDN); +- r[0] = mpfr_custom_get_kind (x); ++ px = x; ++ r[0] = mpfr_custom_get_kind (px); + + /* Check that the type "void *" can be used in C, like with the function + (forbidden in C++). Also check side effects. */ diff --git a/mpfr.changes b/mpfr.changes index 7bcc8be..f91170e 100644 --- a/mpfr.changes +++ b/mpfr.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Nov 24 09:08:38 UTC 2022 - Richard Biener + +- Add mpfr-4.1.1-patch01.patch to fix bug with code using + the mpfr_custom_get_kind macro. + ------------------------------------------------------------------- Sat Nov 19 12:57:57 UTC 2022 - Andreas Stieger diff --git a/mpfr.spec b/mpfr.spec index 5324881..8b04ab3 100644 --- a/mpfr.spec +++ b/mpfr.spec @@ -27,6 +27,7 @@ Source0: https://www.mpfr.org/mpfr-%{version}/mpfr-%{version}.tar.xz Source1: https://www.mpfr.org/mpfr-%{version}/mpfr-%{version}.tar.xz.asc Source2: %{name}.keyring Source3: baselibs.conf +Patch0: mpfr-4.1.1-patch01.patch BuildRequires: gmp-devel BuildRequires: pkgconfig @@ -67,6 +68,7 @@ based on the GMP multiple-precision library. %prep %setup -q +%patch0 -p1 %build %configure \