diff --git a/internal/build/build.go b/internal/build/build.go index 1d3ff2e8..73c7c9dd 100644 --- a/internal/build/build.go +++ b/internal/build/build.go @@ -782,10 +782,7 @@ func linkMainPkg(ctx *context, pkg *packages.Package, pkgs []*aPackage, outputPa } }) // Generate main module file (needed for global variables even in library modes) - entryPkg, err := genMainModule(ctx, llssa.PkgRuntime, pkg, needRuntime, needPyInit) - if err != nil { - return err - } + entryPkg := genMainModule(ctx, llssa.PkgRuntime, pkg, needRuntime, needPyInit) entryObjFile, err := exportObject(ctx, entryPkg.PkgPath, entryPkg.ExportFile, []byte(entryPkg.LPkg.String())) if err != nil { return err diff --git a/internal/build/main_module.go b/internal/build/main_module.go index 404179a6..760177ce 100644 --- a/internal/build/main_module.go +++ b/internal/build/main_module.go @@ -30,7 +30,7 @@ import ( llssa "github.com/goplus/llgo/ssa" ) -func genMainModule(ctx *context, rtPkgPath string, pkg *packages.Package, needRuntime, needPyInit bool) (Package, error) { +func genMainModule(ctx *context, rtPkgPath string, pkg *packages.Package, needRuntime, needPyInit bool) Package { prog := ctx.prog mainPkg := prog.NewPackage("", pkg.PkgPath+".main") @@ -55,7 +55,7 @@ func genMainModule(ctx *context, rtPkgPath string, pkg *packages.Package, needRu } if ctx.buildConf.BuildMode != BuildModeExe { - return mainAPkg, nil + return mainAPkg } runtimeStub := defineWeakNoArgStub(mainPkg, "runtime.init") @@ -80,7 +80,7 @@ func genMainModule(ctx *context, rtPkgPath string, pkg *packages.Package, needRu defineStart(mainPkg, entryFn, argvValueType) } - return mainAPkg, nil + return mainAPkg } func defineEntryFunction(ctx *context, pkg llssa.Package, argcVar, argvVar llssa.Global, argvType llssa.Type, runtimeStub, mainInit, mainMain llssa.Function, pyInit, rtInit llssa.Function) llssa.Function { diff --git a/internal/build/main_module_test.go b/internal/build/main_module_test.go index d7e6e242..96f87ac6 100644 --- a/internal/build/main_module_test.go +++ b/internal/build/main_module_test.go @@ -29,10 +29,7 @@ func TestGenMainModuleExecutable(t *testing.T) { }, } pkg := &packages.Package{PkgPath: "example.com/foo", ExportFile: "foo.a"} - mod, err := genMainModule(ctx, llssa.PkgRuntime, pkg, true, true) - if err != nil { - t.Fatalf("genMainModule() error = %v", err) - } + mod := genMainModule(ctx, llssa.PkgRuntime, pkg, true, true) if mod.ExportFile != "foo.a-main" { t.Fatalf("unexpected export file: %s", mod.ExportFile) } @@ -62,10 +59,7 @@ func TestGenMainModuleLibrary(t *testing.T) { }, } pkg := &packages.Package{PkgPath: "example.com/foo", ExportFile: "foo.a"} - mod, err := genMainModule(ctx, llssa.PkgRuntime, pkg, false, false) - if err != nil { - t.Fatalf("genMainModule() error = %v", err) - } + mod := genMainModule(ctx, llssa.PkgRuntime, pkg, false, false) ir := mod.LPkg.String() if strings.Contains(ir, "define i32 @main") { t.Fatalf("library mode should not emit main function:\n%s", ir)