]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/6g: fix undefined behavior in reg.c
authorDave Cheney <dave@cheney.net>
Tue, 19 Aug 2014 00:52:50 +0000 (10:52 +1000)
committerDave Cheney <dave@cheney.net>
Tue, 19 Aug 2014 00:52:50 +0000 (10:52 +1000)
Update #8527

Fixes, cmd/6g/reg.c:847:24: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'

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

src/cmd/6g/reg.c

index 02945fb4012da6d882098e2d557d3931a644f981..5e3a198186176052ffad2507b324f180bbf13f6c 100644 (file)
@@ -844,7 +844,7 @@ prop(Reg *r, Bits ref, Bits cal)
                                        if(v == v1 || ((cal.b[j/32]>>(j&31))&1) == 0) {
                                                for(; v1 != nil; v1 = v1->nextinnode) {
                                                        j = v1 - var;
-                                                       cal.b[j/32] |= 1<<(j&31);
+                                                       cal.b[j/32] |= 1UL<<(j&31);
                                                }
                                        }
                                }