Avoid assert() in lto. Let linker handle all failures. Use LTO_WRITE_FAILURE

instead of LTO_UNKNOWN.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34036 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2007-02-08 01:48:28 +00:00
parent 546d0fbd97
commit 62062b59df

View File

@ -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);