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>
if proc == 1 {
Ginscall(Newproc, 0)
} else {
- if Hasdefer == 0 {
+ if !hasdefer {
Fatalf("hasdefer=0 but has defer")
}
Ginscall(Deferproc, 0)
if n != nil {
Genlist(n.List) // copy out args
}
- if Hasdefer != 0 {
+ if hasdefer {
Ginscall(Deferreturn, 0)
}
Genlist(Curfn.Func.Exit)
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
goto ret
}
- Hasdefer = 0
+ hasdefer = false
walk(Curfn)
if nerrors != 0 {
goto ret
// 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) {
//
// 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
}
walkstmt(&n.Right)
case ODEFER:
- Hasdefer = 1
+ hasdefer = true
switch n.Left.Op {
case OPRINT, OPRINTN:
walkprintfunc(&n.Left, &n.Ninit)