summaryrefslogtreecommitdiff
path: root/src/add1.c
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2018-08-31 15:40:23 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2018-08-31 15:40:23 +0000
commitabb0374b7f05425910d7e770a85e794c955dad35 (patch)
treecab06313ef73121f5d54bda870a35e2bc0d55405 /src/add1.c
parent35cdd60fc3d4b87c803afa97ec5318d44d4bd460 (diff)
downloadmpfr-abb0374b7f05425910d7e770a85e794c955dad35.tar.gz
[src/mpfr-impl.h] Define MPFR_LIMB_LSHIFT(x,c) macro to do a left shift,
making sure that the shifted argument is unsigned (needed due to the integer promotion rules when mp_limb_t is defined as an unsigned short). [src/add1.c] Fixed potential undefined behavior with MPFR_LIMB_LSHIFT. git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@13101 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'src/add1.c')
-rw-r--r--src/add1.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/add1.c b/src/add1.c
index 880c49ccf..f1419f7f1 100644
--- a/src/add1.c
+++ b/src/add1.c
@@ -404,7 +404,7 @@ mpfr_add1 (mpfr_ptr a, mpfr_srcptr b, mpfr_srcptr c, mpfr_rnd_t rnd_mode)
if (fb || ck < 0)
goto rounding;
- if (difs && MPFR_LIMB(cprev << (GMP_NUMB_BITS - difs)) != 0)
+ if (difs && MPFR_LIMB_LSHIFT(cprev, GMP_NUMB_BITS - difs) != 0)
{
fb = 1;
goto rounding;