aboutsummaryrefslogtreecommitdiffhomepage
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go24
1 files changed, 11 insertions, 13 deletions
diff --git a/main.go b/main.go
index 467b3be90..239f8eea9 100644
--- a/main.go
+++ b/main.go
@@ -46,22 +46,20 @@ func Compile(pkgName, outpath string, spec *TargetSpec, config *BuildConfig, act
}
// Compile Go code to IR.
- parseErr := func() error {
- if config.printIR {
- // Run this even if c.Compile() panics.
- defer func() {
- fmt.Println("Generated LLVM IR:")
- fmt.Println(c.IR())
- }()
- }
- return c.Compile(pkgName)
- }()
- if parseErr != nil {
- return parseErr
+ err = c.Compile(pkgName)
+ if err != nil {
+ return err
+ }
+ if err := c.Verify(); err != nil {
+ return err
}
- c.ApplyFunctionSections() // -ffunction-sections
+ if config.printIR {
+ fmt.Println("Generated LLVM IR:")
+ fmt.Println(c.IR())
+ }
+ c.ApplyFunctionSections() // -ffunction-sections
if err := c.Verify(); err != nil {
return err
}