diff options
author | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2018-08-31 15:40:23 +0000 |
---|---|---|
committer | vlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4> | 2018-08-31 15:40:23 +0000 |
commit | abb0374b7f05425910d7e770a85e794c955dad35 (patch) | |
tree | cab06313ef73121f5d54bda870a35e2bc0d55405 /src/add1.c | |
parent | 35cdd60fc3d4b87c803afa97ec5318d44d4bd460 (diff) | |
download | mpfr-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.c | 2 |
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; |