From: Dave Cheney Date: Tue, 19 Aug 2014 00:52:50 +0000 (+1000) Subject: cmd/6g: fix undefined behavior in reg.c X-Git-Tag: go1.4beta1~802 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=afb6221bf79d7ed59e4a859f147bbed2ea2c3617;p=gostls13.git cmd/6g: fix undefined behavior in reg.c 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 --- diff --git a/src/cmd/6g/reg.c b/src/cmd/6g/reg.c index 02945fb401..5e3a198186 100644 --- a/src/cmd/6g/reg.c +++ b/src/cmd/6g/reg.c @@ -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); } } }