OIND, OSPTR, OITAB, OIDATA, OADDR:
n.Left = walkexpr(n.Left, init)
- case OEFACE, OAND, OSUB, OMUL, OADD, OOR, OXOR:
+ case OEFACE, OAND, OSUB, OMUL, OADD, OOR, OXOR, OLSH, ORSH:
n.Left = walkexpr(n.Left, init)
n.Right = walkexpr(n.Right, init)
n.SetTypecheck(1)
}
- case OLSH, ORSH:
- n.Left = walkexpr(n.Left, init)
- n.Right = walkexpr(n.Right, init)
- t := n.Left.Type
- n.SetBounded(bounded(n.Right, 8*t.Width))
- if Debug['m'] != 0 && n.Bounded() && !Isconst(n.Right, CTINT) {
- Warn("shift bounds check elided")
- }
-
case OCOMPLEX:
// Use results from call expression as arguments for complex.
if n.Left == nil && n.Right == nil {