AfterInit fix

This commit is contained in:
xushiwei
2024-05-27 15:49:25 +08:00
parent 3ab96aa1ee
commit 07738e13ef
4 changed files with 5 additions and 6 deletions

View File

@@ -16,8 +16,7 @@ func (e *errorString) Error() string {
} }
func main() { func main() {
println("main")
err := New("an error") err := New("an error")
println("err") println(err)
println(err, err.Error()) println(err.Error())
} }

View File

@@ -61,7 +61,7 @@ _llgo_0:
_llgo_1: ; preds = %_llgo_0 _llgo_1: ; preds = %_llgo_0
store i1 true, ptr @"main.init$guard", align 1 store i1 true, ptr @"main.init$guard", align 1
call void @"main.init$abi3"() call void @"main.init$abi"()
br label %_llgo_2 br label %_llgo_2
_llgo_2: ; preds = %_llgo_1, %_llgo_0 _llgo_2: ; preds = %_llgo_1, %_llgo_0

View File

@@ -115,7 +115,7 @@ _llgo_0:
_llgo_1: ; preds = %_llgo_0 _llgo_1: ; preds = %_llgo_0
store i1 true, ptr @"main.init$guard", align 1 store i1 true, ptr @"main.init$guard", align 1
call void @"github.com/goplus/llgo/cl/internal/foo.init"() call void @"github.com/goplus/llgo/cl/internal/foo.init"()
call void @"main.init$abi3"() call void @"main.init$abi"()
br label %_llgo_2 br label %_llgo_2
_llgo_2: ; preds = %_llgo_1, %_llgo_0 _llgo_2: ; preds = %_llgo_1, %_llgo_0

View File

@@ -589,6 +589,7 @@ func (p Package) AfterInit(b Builder, ret BasicBlock) {
name := baseName name := baseName
idx := 1 idx := 1
fn := p.NewFunc(name, sigAbiInit, InC) fn := p.NewFunc(name, sigAbiInit, InC)
b.Call(fn.Expr)
for { for {
fnb := fn.MakeBody(1) fnb := fn.MakeBody(1)
first := fnb.blk first := fnb.blk
@@ -603,7 +604,6 @@ func (p Package) AfterInit(b Builder, ret BasicBlock) {
fnb.SetBlockEx(first, AtStart, false) fnb.SetBlockEx(first, AtStart, false)
fnb.Call(fn.Expr) fnb.Call(fn.Expr)
} }
b.Call(fn.Expr)
} }
if doPyLoadModSyms { if doPyLoadModSyms {
p.pyLoadModSyms(b) p.pyLoadModSyms(b)