diff --git a/go/ir/builder.go b/go/ir/builder.go index 9594426b..e31fecff 100644 --- a/go/ir/builder.go +++ b/go/ir/builder.go @@ -3155,12 +3155,12 @@ func (b *builder) buildYieldFunc(fn *Function) { s := fn.source.(*ast.RangeStmt) fn.sourceFn = fn.parent.sourceFn fn.startBody() - fn.exitBlock() params := fn.Signature.Params() for i := 0; i < params.Len(); i++ { fn.addParamVar(params.At(i), nil) } fn.addResultVar(fn.Signature.Results().At(0), nil) + fn.exitBlock() // Initial targets ycont := fn.newBasicBlock("yield-continue")