From 0e99366568440fbb3785fa024f99993c540e9acd Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Wed, 11 Apr 2018 20:42:38 +0200 Subject: [PATCH] Better validation and error reporting --- tgo.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tgo.go b/tgo.go index d77a6195b..b67d6e20d 100644 --- a/tgo.go +++ b/tgo.go @@ -237,9 +237,13 @@ func Compile(inpath, outpath, target string, printIR bool) error { return err } - c.Verify() + if err := c.Verify(); err != nil { + return err + } c.Optimize(2) - c.Verify() + if err := c.Verify(); err != nil { + return err + } if printIR { fmt.Println(c.IR()) @@ -264,10 +268,12 @@ func main() { if *outpath == "" || flag.NArg() != 1 { fmt.Fprintf(os.Stderr, "usage: %s [-printir] [-target=] -o ", os.Args[0]) flag.PrintDefaults() + return } err := Compile(flag.Args()[0], *outpath, *target, *printIR) if err != nil { fmt.Fprintln(os.Stderr, "error:", err) + os.Exit(1) } }