llgo/ssa.SetRuntime: prevent multiple loading of runtime

This commit is contained in:
xushiwei
2024-04-28 14:00:29 +08:00
parent 41dfafe957
commit 70623dd554
7 changed files with 35 additions and 22 deletions

View File

@@ -465,6 +465,9 @@ func NewPackage(prog llssa.Program, pkg *ssa.Package, files []*ast.File) (ret ll
pkgProg := pkg.Prog
pkgTypes := pkg.Pkg
pkgName, pkgPath := pkgTypes.Name(), llssa.PathOf(pkgTypes)
if pkgPath == llssa.PkgRuntime {
prog.SetRuntime(pkgTypes)
}
ret = prog.NewPackage(pkgName, pkgPath)
ctx := &context{