diff --git a/cl/cltest/cltest.go b/cl/cltest/cltest.go index e3286b1d..f25e25b3 100644 --- a/cl/cltest/cltest.go +++ b/cl/cltest/cltest.go @@ -131,6 +131,7 @@ func testFrom(t *testing.T, pkgDir, sel string, byLLGen bool) { dbg := isDbgSymEnabled(pkgDir + "/flags.txt") if dbg { cl.EnableDebugSymbols() + cl.DebugSymbols() // just for coverage } defer cl.DisableDebugSymbols() b, err := os.ReadFile(out) diff --git a/cl/compile.go b/cl/compile.go index d3f02bd2..c6d57b7f 100644 --- a/cl/compile.go +++ b/cl/compile.go @@ -754,32 +754,33 @@ func getPos(v poser) token.Pos { if pos.IsValid() { return pos } + panic(fmt.Errorf("getPos: invalid position - %T", v)) - switch v := v.(type) { - case *ssa.MakeInterface: - return getPos(v.X) - case *ssa.MakeClosure: - return v.Fn.(*ssa.Function).Pos() - case *ssa.Return: - syntax := v.Parent().Syntax() - if syntax != nil { - return syntax.End() - } - return token.NoPos - case *ssa.FieldAddr: - return getPos(v.X) - case *ssa.IndexAddr: - return getPos(v.X) - case *ssa.Slice: - return getPos(v.X) - case *ssa.Store: - return getPos(v.Addr) - case *ssa.Extract: - return getPos(v.Tuple) - default: - fmt.Printf("getPos: unknown instr - %T\n", v) - return token.NoPos - } + // switch v := v.(type) { + // case *ssa.MakeInterface: + // return getPos(v.X) + // case *ssa.MakeClosure: + // return v.Fn.(*ssa.Function).Pos() + // case *ssa.Return: + // syntax := v.Parent().Syntax() + // if syntax != nil { + // return syntax.End() + // } + // return token.NoPos + // case *ssa.FieldAddr: + // return getPos(v.X) + // case *ssa.IndexAddr: + // return getPos(v.X) + // case *ssa.Slice: + // return getPos(v.X) + // case *ssa.Store: + // return getPos(v.Addr) + // case *ssa.Extract: + // return getPos(v.Tuple) + // default: + // fmt.Printf("getPos: unknown instr - %T\n", v) + // return token.NoPos + // } } func (p *context) getLocalVariable(b llssa.Builder, fn *ssa.Function, v *types.Var) llssa.DIVar { diff --git a/internal/build/build.go b/internal/build/build.go index 3ef101aa..a09f3e91 100644 --- a/internal/build/build.go +++ b/internal/build/build.go @@ -504,7 +504,6 @@ func buildPkg(ctx *context, aPkg *aPackage, verbose bool) { cl.SetDebug(0) } check(err) - ret.Finalize() if needLLFile(ctx.mode) { pkg.ExportFile += ".ll" os.WriteFile(pkg.ExportFile, []byte(ret.String()), 0644) diff --git a/ssa/package.go b/ssa/package.go index a91b3b1d..ea65e6bf 100644 --- a/ssa/package.go +++ b/ssa/package.go @@ -708,12 +708,6 @@ func (p Package) AfterInit(b Builder, ret BasicBlock) { } } -func (p Package) Finalize() { - if p.di != nil { - p.di.Finalize() - } -} - func (p Package) diBuilder() diBuilder { return p.di }