Print LLVM IR on verify failure

Этот коммит содержится в:
Ayke van Laethem 2018-04-14 19:09:19 +02:00
родитель 63a545540d
коммит 7cc2301621

11
tgo.go
Просмотреть файл

@ -465,7 +465,7 @@ func (c *Compiler) IR() string {
} }
func (c *Compiler) Verify() error { func (c *Compiler) Verify() error {
return llvm.VerifyModule(c.mod, llvm.PrintMessageAction) return llvm.VerifyModule(c.mod, 0)
} }
func (c *Compiler) Optimize(optLevel int) { func (c *Compiler) Optimize(optLevel int) {
@ -506,14 +506,13 @@ func Compile(inpath, outpath, target string, printIR bool) error {
return err return err
} }
err = c.Parse(inpath) parseErr := c.Parse(inpath)
if err != nil {
return err
}
if printIR { if printIR {
fmt.Println(c.IR()) fmt.Println(c.IR())
} }
if parseErr != nil {
return parseErr
}
if err := c.Verify(); err != nil { if err := c.Verify(); err != nil {
return err return err