cmd/compile: fix wrong condition in tcShift

CL 279442 refactored typecheck arithmetic operators, but using wrong
condition for checking invalid rhs.

Updates #43311

Change-Id: I7a03a5535b82ac4ea4806725776b0a4f7af1b79a
Reviewed-on: https://go-review.googlesource.com/c/go/+/298714
Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
diff --git a/src/cmd/compile/internal/typecheck/expr.go b/src/cmd/compile/internal/typecheck/expr.go
index 339fb00..10a4c1b 100644
--- a/src/cmd/compile/internal/typecheck/expr.go
+++ b/src/cmd/compile/internal/typecheck/expr.go
@@ -48,7 +48,7 @@
 }
 
 func tcShift(n, l, r ir.Node) (ir.Node, ir.Node, *types.Type) {
-	if l.Type() == nil || l.Type() == nil {
+	if l.Type() == nil || r.Type() == nil {
 		return l, r, nil
 	}
 
diff --git a/test/fixedbugs/bug297.go b/test/fixedbugs/bug297.go
index c2bd253..70eb4ca 100644
--- a/test/fixedbugs/bug297.go
+++ b/test/fixedbugs/bug297.go
@@ -1,4 +1,4 @@
-// errorcheck
+// errorcheck -d=panic
 
 // Copyright 2010 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style
@@ -9,7 +9,8 @@
 package main
 
 type ByteSize float64
+
 const (
-	_ = iota;   // ignore first value by assigning to blank identifier
-	KB ByteSize = 1<<(10*X) // ERROR "undefined"
+	_           = iota          // ignore first value by assigning to blank identifier
+	KB ByteSize = 1 << (10 * X) // ERROR "undefined"
 )