compiler: check for errors
Some errors were generated but never returned or never checked in the test function. That's a problem. Therefore this commit fixes this oversight (by me).
Этот коммит содержится в:
родитель
25dac32a88
коммит
b61751e429
2 изменённых файлов: 7 добавлений и 2 удалений
|
@ -298,7 +298,7 @@ func CompilePackage(moduleName string, pkg *loader.Package, ssaPkg *ssa.Package,
|
|||
c.dibuilder.Finalize()
|
||||
}
|
||||
|
||||
return c.mod, nil
|
||||
return c.mod, c.diagnostics
|
||||
}
|
||||
|
||||
// getLLVMRuntimeType obtains a named type from the runtime package and returns
|
||||
|
|
|
@ -84,11 +84,16 @@ func TestCompiler(t *testing.T) {
|
|||
mod, errs := CompilePackage(testCase, pkg, program.Package(pkg.Pkg), machine, compilerConfig, false)
|
||||
if errs != nil {
|
||||
for _, err := range errs {
|
||||
t.Log("error:", err)
|
||||
t.Error(err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
err = llvm.VerifyModule(mod, llvm.PrintMessageAction)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
// Optimize IR a little.
|
||||
funcPasses := llvm.NewFunctionPassManagerForModule(mod)
|
||||
defer funcPasses.Dispose()
|
||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче