cmd/compile/internal/gc: unexport and make Hasdefer a bool
Passes go build -a -toolexec 'toolstash -cmp' std cmd.
Change-Id: I804ee4252fa9be78cb277faf7f467e6c9cfdd4a6
Reviewed-on: https://go-review.googlesource.com/14319
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/src/cmd/compile/internal/gc/cgen.go b/src/cmd/compile/internal/gc/cgen.go
index 860db34..951f84f 100644
--- a/src/cmd/compile/internal/gc/cgen.go
+++ b/src/cmd/compile/internal/gc/cgen.go
@@ -2399,7 +2399,7 @@
if proc == 1 {
Ginscall(Newproc, 0)
} else {
- if Hasdefer == 0 {
+ if !hasdefer {
Fatalf("hasdefer=0 but has defer")
}
Ginscall(Deferproc, 0)
@@ -2622,7 +2622,7 @@
if n != nil {
Genlist(n.List) // copy out args
}
- if Hasdefer != 0 {
+ if hasdefer {
Ginscall(Deferreturn, 0)
}
Genlist(Curfn.Func.Exit)
diff --git a/src/cmd/compile/internal/gc/go.go b/src/cmd/compile/internal/gc/go.go
index a6b1ef5..3e7d6aa 100644
--- a/src/cmd/compile/internal/gc/go.go
+++ b/src/cmd/compile/internal/gc/go.go
@@ -616,7 +616,7 @@
var block int32 // current block number
-var Hasdefer int // flag that curfn has defer statetment
+var hasdefer bool // flag that curfn has defer statement
var Curfn *Node
diff --git a/src/cmd/compile/internal/gc/pgen.go b/src/cmd/compile/internal/gc/pgen.go
index f98d72b..5631d4e 100644
--- a/src/cmd/compile/internal/gc/pgen.go
+++ b/src/cmd/compile/internal/gc/pgen.go
@@ -392,7 +392,7 @@
goto ret
}
- Hasdefer = 0
+ hasdefer = false
walk(Curfn)
if nerrors != 0 {
goto ret
@@ -487,7 +487,7 @@
// TODO: Determine when the final cgen_ret can be omitted. Perhaps always?
cgen_ret(nil)
- if Hasdefer != 0 {
+ if hasdefer {
// deferreturn pretends to have one uintptr argument.
// Reserve space for it so stack scanner is happy.
if Maxarg < int64(Widthptr) {
diff --git a/src/cmd/compile/internal/gc/reg.go b/src/cmd/compile/internal/gc/reg.go
index c061df1..388d713 100644
--- a/src/cmd/compile/internal/gc/reg.go
+++ b/src/cmd/compile/internal/gc/reg.go
@@ -486,7 +486,7 @@
//
// Disable registerization for results if using defer, because the deferred func
// might recover and return, causing the current values to be used.
- if node.Class == PEXTERN || (Hasdefer != 0 && node.Class == PPARAMOUT) {
+ if node.Class == PEXTERN || (hasdefer && node.Class == PPARAMOUT) {
v.addr = 1
}
diff --git a/src/cmd/compile/internal/gc/walk.go b/src/cmd/compile/internal/gc/walk.go
index 38e22fc..4a79b66 100644
--- a/src/cmd/compile/internal/gc/walk.go
+++ b/src/cmd/compile/internal/gc/walk.go
@@ -231,7 +231,7 @@
walkstmt(&n.Right)
case ODEFER:
- Hasdefer = 1
+ hasdefer = true
switch n.Left.Op {
case OPRINT, OPRINTN:
walkprintfunc(&n.Left, &n.Ninit)