cl: fix dbg.declare (and local var)
This commit is contained in:
@@ -730,16 +730,12 @@ func (p *context) compileInstr(b llssa.Builder, instr ssa.Instruction) {
|
|||||||
// Not a local variable.
|
// Not a local variable.
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if v.IsAddr {
|
|
||||||
// *ssa.Alloc or *ssa.FieldAddr
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
pos := p.goProg.Fset.Position(v.Pos())
|
pos := p.goProg.Fset.Position(v.Pos())
|
||||||
value := p.compileValue(b, v.X)
|
value := p.compileValue(b, v.X)
|
||||||
fn := v.Parent()
|
fn := v.Parent()
|
||||||
dbgVar := p.getLocalVariable(b, fn, variable)
|
dbgVar := p.getLocalVariable(b, fn, variable)
|
||||||
if v.IsAddr {
|
if v.IsAddr {
|
||||||
|
// *ssa.Alloc or *ssa.FieldAddr
|
||||||
b.DIDeclare(value, dbgVar, p.fn, pos, b.Func.Block(v.Block().Index))
|
b.DIDeclare(value, dbgVar, p.fn, pos, b.Func.Block(v.Block().Index))
|
||||||
} else {
|
} else {
|
||||||
b.DIValue(value, dbgVar, p.fn, pos, b.Func.Block(v.Block().Index))
|
b.DIValue(value, dbgVar, p.fn, pos, b.Func.Block(v.Block().Index))
|
||||||
|
|||||||
Reference in New Issue
Block a user