gc: shift type bug

Fixes #1664.

R=ken2
CC=golang-dev
https://golang.org/cl/4798056
diff --git a/test/fixedbugs/bug363.go b/test/fixedbugs/bug363.go
new file mode 100644
index 0000000..7e89749
--- /dev/null
+++ b/test/fixedbugs/bug363.go
@@ -0,0 +1,21 @@
+// errchk $G $D/$F.go
+
+// Copyright 2011 The Go Authors.  All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// issue 1664
+
+package main
+
+func main() {
+	var i uint = 33
+	var a = (1<<i) + 4.5  // ERROR "shift of type float64"
+	println(a)
+	
+	var b = (1<<i) + 4.0  // ERROR "shift of type float64"
+	println(b)
+
+	var c int64 = (1<<i) + 4.0  // ok - it's all int64
+	println(b)
+}