llgo/ssa: getDefer fix

This commit is contained in:
xushiwei
2024-06-08 20:09:56 +08:00
parent 32bfb3d57e
commit 63c03bb28c
7 changed files with 49 additions and 11 deletions

View File

@@ -141,7 +141,6 @@ func (b Builder) getDefer() *aDefer {
ptr := b.aggregateAlloca(prog.Defer(), zero.impl, link.impl)
deferData := Expr{ptr, prog.DeferPtr()}
b.pthreadSetspecific(key, deferData)
b.SetBlockEx(b.blk, AtEnd, false)
self.defer_ = &aDefer{
key: key,
data: deferData,
@@ -149,6 +148,7 @@ func (b Builder) getDefer() *aDefer {
rundPtr: b.FieldAddr(deferData, 2),
procBlk: self.MakeBlock(),
}
b.SetBlockEx(b.blk, AtEnd, false)
}
return self.defer_
}