Commit 603f9fee authored by Russ Cox's avatar Russ Cox

gc: another shift bug

Fixes #1316.

R=ken2
CC=golang-dev
https://golang.org/cl/3575042
parent 9da73612
......@@ -101,7 +101,7 @@ convlit1(Node **np, Type *t, int explicit)
break;
case OLSH:
case ORSH:
convlit1(&n->left, t, explicit);
convlit1(&n->left, t, explicit && isideal(n->left->type));
t = n->left->type;
if(t != T && !isint[t->etype]) {
yyerror("invalid operation: %#N (shift of type %T)", n, t);
......
......@@ -26,4 +26,10 @@ func main() {
println("type info didn't propagate in const: got", s)
panic("fail")
}
x := uint(5)
y := float64(uint64(1)<<x) // used to fail to compile
if y != 32 {
println("wrong y", y)
panic("fail")
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment