summaryrefslogtreecommitdiff
path: root/src/ubf.c
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2020-03-26 02:53:59 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2020-03-26 02:53:59 +0000
commit73cba9f3bad97a57636033bca90b666551497b5b (patch)
treebe1dd45d4d9792930ff41f62673591070ea5d301 /src/ubf.c
parent35319c556d6ea9d6b2d5eafc01c7d11efdc1c1f5 (diff)
downloadmpfr-ubf2.tar.gz
Attempt to eliminate issues with aliasing rules. But this triggersubf2
a new failure with -Werror=strict-aliasing on src/fma.c due to <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94337>. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/branches/ubf2@13820 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'src/ubf.c')
-rw-r--r--src/ubf.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/ubf.c b/src/ubf.c
index 8b3ba066b..b1e2391be 100644
--- a/src/ubf.c
+++ b/src/ubf.c
@@ -71,8 +71,10 @@ mpfr_init_get_zexp (mpz_ptr ez, mpfr_srcptr x)
(mpfr_srcptr can be seen a bit like void *, but is stronger).
This function does not change the flags, except in case of NaN. */
void
-mpfr_ubf_mul_exact (mpfr_ubf_ptr a, mpfr_srcptr b, mpfr_srcptr c)
+mpfr_ubf_mul_exact (mpfr_ubf_ptr aa, mpfr_srcptr b, mpfr_srcptr c)
{
+ mpfr_ptr a = (mpfr_ptr) aa;
+
MPFR_LOG_FUNC
(("b[%Pu]=%.*Rg c[%Pu]=%.*Rg",
mpfr_get_prec (b), mpfr_log_prec, b,
@@ -80,8 +82,8 @@ mpfr_ubf_mul_exact (mpfr_ubf_ptr a, mpfr_srcptr b, mpfr_srcptr c)
("a[%Pu]=%.*Rg",
mpfr_get_prec (a), mpfr_log_prec, a));
- MPFR_ASSERTD ((mpfr_ptr) a != b);
- MPFR_ASSERTD ((mpfr_ptr) a != c);
+ MPFR_ASSERTD (a != b);
+ MPFR_ASSERTD (a != c);
MPFR_SIGN (a) = MPFR_MULT_SIGN (MPFR_SIGN (b), MPFR_SIGN (c));
if (MPFR_ARE_SINGULAR (b, c))