diff options
author | Russ Cox <rsc@golang.org> | 2020-12-21 15:10:26 -0500 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2020-12-22 19:32:21 +0000 |
commit | 280e7fd1ee47ad92b0031bbc0fa103ac25552950 (patch) | |
tree | 445d434b46e28b8b6a5e25c4ad11f5312d4ed0a0 /src/cmd/compile/internal/gc/main.go | |
parent | 51ba53f5c2d58dd0c02b5ee1f4ef1db2577c4d3a (diff) | |
download | go-280e7fd1ee47ad92b0031bbc0fa103ac25552950.tar.gz go-280e7fd1ee47ad92b0031bbc0fa103ac25552950.zip |
[dev.regabi] cmd/compile: only access Func method on concrete types
Sets up for removing Func from Node interface.
That means that once the Name reorg is done,
which will let us remove Name, Sym, and Val,
Node will be basically a minimal interface.
Passes buildall w/ toolstash -cmp.
Change-Id: I6e87897572debd7f8e29b4f5167763dc2792b408
Reviewed-on: https://go-review.googlesource.com/c/go/+/279484
Trust: Russ Cox <rsc@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'src/cmd/compile/internal/gc/main.go')
-rw-r--r-- | src/cmd/compile/internal/gc/main.go | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/cmd/compile/internal/gc/main.go b/src/cmd/compile/internal/gc/main.go index 80b17ebbf8..94b4e0e674 100644 --- a/src/cmd/compile/internal/gc/main.go +++ b/src/cmd/compile/internal/gc/main.go @@ -270,9 +270,12 @@ func Main(archInit func(*Arch)) { // before walk reaches a call of a closure. timings.Start("fe", "xclosures") for _, n := range Target.Decls { - if n.Op() == ir.ODCLFUNC && n.Func().OClosure != nil { - Curfn = n.(*ir.Func) - transformclosure(Curfn) + if n.Op() == ir.ODCLFUNC { + n := n.(*ir.Func) + if n.Func().OClosure != nil { + Curfn = n + transformclosure(n) + } } } |