From 78b77423542d9576418b9d00e33959e1b9191059 Mon Sep 17 00:00:00 2001 From: Li Jie Date: Sat, 14 Sep 2024 10:36:17 +0800 Subject: [PATCH] fix argNo with 1-based index --- cl/compile.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cl/compile.go b/cl/compile.go index 033b1d83..e2eb7e1c 100644 --- a/cl/compile.go +++ b/cl/compile.go @@ -299,12 +299,13 @@ func (p *context) compileFuncDecl(pkg llssa.Package, f *ssa.Function) (llssa.Fun } func (p *context) debugParams(b llssa.Builder, f *ssa.Function) { - for argNo, param := range f.Params { + for i, param := range f.Params { pos := p.goProg.Fset.Position(param.Pos()) v := p.compileValue(b, param) ty := param.Type() + argNo := i + 1 div := b.DIVarParam(p.fn, pos, param.Name(), b.Prog.Type(ty, llssa.InGo), argNo) - b.DIValue(v, div, p.fn, pos, p.fn.Block(0)) + b.DIDeclare(v, div, p.fn, pos, p.fn.Block(0)) } } @@ -783,7 +784,8 @@ func (p *context) getLocalVariable(b llssa.Builder, fn *ssa.Function, v *types.V t := b.Prog.Type(v.Type(), llssa.InGo) for i, param := range fn.Params { if param.Object().(*types.Var) == v { - return b.DIVarParam(p.fn, pos, v.Name(), t, i) + argNo := i + 1 + return b.DIVarParam(p.fn, pos, v.Name(), t, argNo) } } return b.DIVarAuto(p.fn, pos, v.Name(), t)