aboutsummaryrefslogtreecommitdiffhomepage
path: root/compiler
diff options
context:
space:
mode:
authorAyke van Laethem <[email protected]>2024-08-15 19:55:39 +0200
committerRon Evans <[email protected]>2024-08-17 11:49:14 +0200
commit8b626e6ea7e98887fbd48e3c55216fdd9327fac6 (patch)
treefe24168bcad481bedf2bf4408b49efb840fdbbd5 /compiler
parent1d1f4fc401b449e325f6c2c04001db14801cd398 (diff)
downloadtinygo-8b626e6ea7e98887fbd48e3c55216fdd9327fac6.tar.gz
tinygo-8b626e6ea7e98887fbd48e3c55216fdd9327fac6.zip
compiler: add support for Go 1.23 range-over-func
Diffstat (limited to 'compiler')
-rw-r--r--compiler/compiler.go2
-rw-r--r--compiler/symbol.go2
2 files changed, 2 insertions, 2 deletions
diff --git a/compiler/compiler.go b/compiler/compiler.go
index bc17250d9..201605d78 100644
--- a/compiler/compiler.go
+++ b/compiler/compiler.go
@@ -1963,7 +1963,7 @@ func (b *builder) getValue(expr ssa.Value, pos token.Pos) llvm.Value {
return value
} else {
// indicates a compiler bug
- panic("local has not been parsed: " + expr.String())
+ panic("SSA value not previously found in function: " + expr.String())
}
}
}
diff --git a/compiler/symbol.go b/compiler/symbol.go
index 37c987859..29f009520 100644
--- a/compiler/symbol.go
+++ b/compiler/symbol.go
@@ -218,7 +218,7 @@ func (c *compilerContext) getFunction(fn *ssa.Function) (llvm.Type, llvm.Value)
// should be created right away.
// The exception is the package initializer, which does appear in the
// *ssa.Package members and so shouldn't be created here.
- if fn.Synthetic != "" && fn.Synthetic != "package initializer" && fn.Synthetic != "generic function" {
+ if fn.Synthetic != "" && fn.Synthetic != "package initializer" && fn.Synthetic != "generic function" && fn.Synthetic != "range-over-func yield" {
irbuilder := c.ctx.NewBuilder()
b := newBuilder(c, irbuilder, fn)
b.createFunction()