Commit 9654873a authored by Josh Bleecher Snyder's avatar Josh Bleecher Snyder

[dev.ssa] cmd/compile: implement PPARAMREF

This also fixes the encoding/gob TestTopLevelNilPointer failure.

Change-Id: I9b29a6fddffd51af305c685f3a8e2a0594bfeeab
Reviewed-on: https://go-review.googlesource.com/14032Reviewed-by: default avatarKeith Randall <khr@golang.org>
parent 47d6799b
...@@ -1800,7 +1800,7 @@ func (s *state) addr(n *Node) *ssa.Value { ...@@ -1800,7 +1800,7 @@ func (s *state) addr(n *Node) *ssa.Value {
s.Fatalf("addr of undeclared ONAME %v. declared: %v", n, s.decladdrs) s.Fatalf("addr of undeclared ONAME %v. declared: %v", n, s.decladdrs)
} }
return v return v
case PAUTO | PHEAP: case PAUTO | PHEAP, PPARAMREF:
return s.expr(n.Name.Heapaddr) return s.expr(n.Name.Heapaddr)
default: default:
s.Unimplementedf("variable address class %v not implemented", n.Class) s.Unimplementedf("variable address class %v not implemented", n.Class)
...@@ -1864,10 +1864,8 @@ func canSSA(n *Node) bool { ...@@ -1864,10 +1864,8 @@ func canSSA(n *Node) bool {
if n.Class&PHEAP != 0 { if n.Class&PHEAP != 0 {
return false return false
} }
if n.Class == PEXTERN { switch n.Class {
return false case PEXTERN, PPARAMOUT, PPARAMREF:
}
if n.Class == PPARAMOUT {
return false return false
} }
return canSSAType(n.Type) return canSSAType(n.Type)
......
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