]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/gc: fix undefined behaviour warnings in mparith3.c
authorDave Cheney <dave@cheney.net>
Wed, 27 Aug 2014 05:23:38 +0000 (15:23 +1000)
committerDave Cheney <dave@cheney.net>
Wed, 27 Aug 2014 05:23:38 +0000 (15:23 +1000)
Update #8527

Fixes two warnings:

src/cmd/gc/mparith3.c:255:10: runtime error: shift exponent 52 is too large for 32-bit type 'int'
src/cmd/gc/mparith3.c:254:14: runtime error: shift exponent 52 is too large for 32-bit type 'int'

LGTM=rsc
R=r, dvyukov, rsc
CC=golang-codereviews
https://golang.org/cl/134940044

src/cmd/gc/mparith3.c

index 95618f1c61c98bd0c63447b1de0f57347c0b6ccf..6afd75c0238f6e5f4dbc7335ea54521e94cc312c 100644 (file)
@@ -251,8 +251,8 @@ mpgetfltN(Mpflt *a, int prec, int bias)
                s = minexp - e;
                if(s > prec+1)
                        s = prec+1;
-               if((v & ((1<<s)-1)) != 0)
-                       v |= 1<<s;
+               if((v & ((1ULL<<s)-1)) != 0)
+                       v |= 1ULL<<s;
                v >>= s;
                e = minexp;
        }