aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/typecheck/typecheck.go
diff options
context:
space:
mode:
authorMatthew Dempsky <mdempsky@google.com>2021-01-05 08:20:11 -0800
committerMatthew Dempsky <mdempsky@google.com>2021-01-05 21:12:11 +0000
commit98218388321c0c48a4b955792b8d1e3db63a140d (patch)
treebaf143ecebd0a2c470edff01806b6bcd4c82613b /src/cmd/compile/internal/typecheck/typecheck.go
parentfd43831f4476dc9a3ba83aa3a2e4117ed0b8596e (diff)
downloadgo-98218388321c0c48a4b955792b8d1e3db63a140d.tar.gz
go-98218388321c0c48a4b955792b8d1e3db63a140d.zip
[dev.regabi] cmd/compile: remove CaptureVars
Capture analysis is now part of escape analysis. Passes toolstash -cmp. Change-Id: Ifcd3ecc342074c590e0db1ff0646dfa1ea2ff57b Reviewed-on: https://go-review.googlesource.com/c/go/+/281543 Trust: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Diffstat (limited to 'src/cmd/compile/internal/typecheck/typecheck.go')
-rw-r--r--src/cmd/compile/internal/typecheck/typecheck.go19
1 files changed, 0 insertions, 19 deletions
diff --git a/src/cmd/compile/internal/typecheck/typecheck.go b/src/cmd/compile/internal/typecheck/typecheck.go
index c3a5a3c40f..07bbd25105 100644
--- a/src/cmd/compile/internal/typecheck/typecheck.go
+++ b/src/cmd/compile/internal/typecheck/typecheck.go
@@ -21,8 +21,6 @@ var InitTodoFunc = ir.NewFunc(base.Pos)
var inimport bool // set during import
-var decldepth int32
-
var TypecheckAllowed bool
var (
@@ -58,7 +56,6 @@ func Callee(n ir.Node) ir.Node {
func FuncBody(n *ir.Func) {
ir.CurFunc = n
- decldepth = 1
errorsBefore := base.Errors()
Stmts(n.Body)
CheckUnused(n)
@@ -506,9 +503,6 @@ func typecheck1(n ir.Node, top int) ir.Node {
case ir.ONAME:
n := n.(*ir.Name)
- if n.Decldepth == 0 {
- n.Decldepth = decldepth
- }
if n.BuiltinOp != 0 {
if top&ctxCallee == 0 {
base.Errorf("use of builtin %v not in function call", n.Sym())
@@ -839,7 +833,6 @@ func typecheck1(n ir.Node, top int) ir.Node {
return n
case ir.OLABEL:
- decldepth++
if n.Sym().IsBlank() {
// Empty identifier is valid but useless.
// Eliminate now to simplify life later.
@@ -1620,18 +1613,6 @@ func checkassign(stmt ir.Node, n ir.Node) {
return
}
- // Variables declared in ORANGE are assigned on every iteration.
- if !ir.DeclaredBy(n, stmt) || stmt.Op() == ir.ORANGE {
- r := ir.OuterValue(n)
- if r.Op() == ir.ONAME {
- r := r.(*ir.Name)
- r.SetAssigned(true)
- if r.IsClosureVar() {
- r.Defn.Name().SetAssigned(true)
- }
- }
- }
-
if ir.IsAddressable(n) {
return
}