aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/lto/lto.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/tools/lto/lto.cpp b/tools/lto/lto.cpp
index 816b1d8ebb..730e7c22f7 100644
--- a/tools/lto/lto.cpp
+++ b/tools/lto/lto.cpp
@@ -313,13 +313,10 @@ LTO::optimize(Module *M, std::ostream &Out,
MachineCodeEmitter *MCE = 0;
switch (Target->addPassesToEmitFile(*CodeGenPasses, Out,
- TargetMachine::AssemblyFile, true)) {
+ TargetMachine::AssemblyFile, true)) {
default:
- assert(0 && "Invalid file model!");
- return LTO_UNKNOWN;
case FileModel::Error:
- // FIXME: Error...
- return LTO_UNKNOWN;
+ return LTO_WRITE_FAILURE;
case FileModel::AsmFile:
break;
case FileModel::MachOFile:
@@ -330,10 +327,8 @@ LTO::optimize(Module *M, std::ostream &Out,
break;
}
- if (Target->addPassesToEmitFileFinish(*CodeGenPasses, MCE, true)) {
- // FIXME: Error...
- return LTO_UNKNOWN;
- }
+ if (Target->addPassesToEmitFileFinish(*CodeGenPasses, MCE, true))
+ return LTO_WRITE_FAILURE;
// Run our queue of passes all at once now, efficiently.
Passes.run(*M);