AfterInit fix
This commit is contained in:
@@ -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())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user