From 60eefe15688f19ce3f86ca631c40fb9e4e58aa62 Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Sat, 3 Nov 2018 18:24:57 +0100 Subject: [PATCH] compiler: do not abort on verification failure --- compiler/compiler.go | 2 +- main.go | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/compiler.go b/compiler/compiler.go index 76e7aac9..c942aee1 100644 --- a/compiler/compiler.go +++ b/compiler/compiler.go @@ -3536,7 +3536,7 @@ func (c *Compiler) IR() string { } func (c *Compiler) Verify() error { - return llvm.VerifyModule(c.mod, 0) + return llvm.VerifyModule(c.mod, llvm.PrintMessageAction) } func (c *Compiler) ApplyFunctionSections() { diff --git a/main.go b/main.go index c1f2fd02..cd5cba80 100644 --- a/main.go +++ b/main.go @@ -70,7 +70,9 @@ func Compile(pkgName, outpath string, spec *TargetSpec, config *BuildConfig, act // stack-allocated values. if strings.HasPrefix(spec.Triple, "wasm") { c.ExternalInt64AsPtr() - c.Verify() + if err := c.Verify(); err != nil { + return err + } } // Optimization levels here are roughly the same as Clang, but probably not