aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/escape/call.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/compile/internal/escape/call.go')
-rw-r--r--src/cmd/compile/internal/escape/call.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/escape/call.go b/src/cmd/compile/internal/escape/call.go
index c69eca19987..36e606bf209 100644
--- a/src/cmd/compile/internal/escape/call.go
+++ b/src/cmd/compile/internal/escape/call.go
@@ -186,7 +186,7 @@ func (e *escape) callCommon(ks []hole, call ir.Node, init *ir.Nodes, wrapper *ir
argument(e.discardHole(), &call.X)
argument(e.discardHole(), &call.Y)
- case ir.ODELETE, ir.OMAX, ir.OMIN, ir.OPRINT, ir.OPRINTN, ir.ORECOVER:
+ case ir.ODELETE, ir.OPRINT, ir.OPRINTN, ir.ORECOVER:
call := call.(*ir.CallExpr)
fixRecoverCall(call)
for i := range call.Args {
@@ -194,6 +194,14 @@ func (e *escape) callCommon(ks []hole, call ir.Node, init *ir.Nodes, wrapper *ir
}
argumentRType(&call.RType)
+ case ir.OMIN, ir.OMAX:
+ call := call.(*ir.CallExpr)
+ fixRecoverCall(call)
+ for i := range call.Args {
+ argument(ks[0], &call.Args[i])
+ }
+ argumentRType(&call.RType)
+
case ir.OLEN, ir.OCAP, ir.OREAL, ir.OIMAG, ir.OCLOSE, ir.OCLEAR:
call := call.(*ir.UnaryExpr)
argument(e.discardHole(), &call.X)