1
0
mirror of https://github.com/golang/go synced 2024-10-05 16:41:21 -06:00

[dev.ssa] cmd/compile: implement OCHECKNIL

Change-Id: Ifb6b2ad6078ad084b73c0e785e748e92139684e2
Reviewed-on: https://go-review.googlesource.com/14338
Reviewed-by: Keith Randall <khr@golang.org>
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Josh Bleecher Snyder 2015-09-05 19:28:15 -07:00
parent c3eb1a7e8a
commit e22ae879d3

View File

@ -1621,6 +1621,11 @@ func (s *state) expr(n *Node) *ssa.Value {
case OADDR:
return s.addr(n.Left)
case OCHECKNIL:
p := s.expr(n.Left)
s.nilCheck(p)
return p
case OINDREG:
if int(n.Reg) != Thearch.REGSP {
s.Unimplementedf("OINDREG of non-SP register %s in expr: %v", obj.Rconv(int(n.Reg)), n)