Better validation and error reporting
Этот коммит содержится в:
родитель
0f1e11319c
коммит
0e99366568
1 изменённых файлов: 8 добавлений и 2 удалений
10
tgo.go
10
tgo.go
|
@ -237,9 +237,13 @@ func Compile(inpath, outpath, target string, printIR bool) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
c.Verify()
|
if err := c.Verify(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
c.Optimize(2)
|
c.Optimize(2)
|
||||||
c.Verify()
|
if err := c.Verify(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
if printIR {
|
if printIR {
|
||||||
fmt.Println(c.IR())
|
fmt.Println(c.IR())
|
||||||
|
@ -264,10 +268,12 @@ func main() {
|
||||||
if *outpath == "" || flag.NArg() != 1 {
|
if *outpath == "" || flag.NArg() != 1 {
|
||||||
fmt.Fprintf(os.Stderr, "usage: %s [-printir] [-target=<target>] -o <output> <input>", os.Args[0])
|
fmt.Fprintf(os.Stderr, "usage: %s [-printir] [-target=<target>] -o <output> <input>", os.Args[0])
|
||||||
flag.PrintDefaults()
|
flag.PrintDefaults()
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err := Compile(flag.Args()[0], *outpath, *target, *printIR)
|
err := Compile(flag.Args()[0], *outpath, *target, *printIR)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintln(os.Stderr, "error:", err)
|
fmt.Fprintln(os.Stderr, "error:", err)
|
||||||
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче