cl: callRuntimeInit; runtime: TracePanic

This commit is contained in:
xushiwei
2024-05-01 11:03:52 +08:00
parent 673b9d9a5c
commit 666808b427
31 changed files with 330 additions and 102 deletions

View File

@@ -19,6 +19,8 @@ package llgen
import (
"go/types"
"os"
"path/filepath"
"strings"
"github.com/goplus/llgo/cl"
"golang.org/x/tools/go/packages"
@@ -66,3 +68,23 @@ func DoFile(fileOrPkg, outFile string) {
err := os.WriteFile(outFile, []byte(ret), 0644)
check(err)
}
func SmartDoFile(inFile string, pkgPath ...string) {
dir, _ := filepath.Split(inFile)
fname := "llgo_autogen.ll"
if inCompilerDir(dir) {
fname = "out.ll"
}
outFile := dir + fname
if len(pkgPath) > 0 {
Do(pkgPath[0], inFile, outFile)
} else {
DoFile(inFile, outFile)
}
}
func inCompilerDir(dir string) bool {
dir, _ = filepath.Abs(dir)
return strings.Contains(filepath.ToSlash(dir), "/llgo/cl/")
}