[llvm-commits] CVS: llvm/tools/lto/lto.cpp
Devang Patel
dpatel at apple.com
Wed Feb 7 17:44:33 PST 2007
On Feb 7, 2007, at 5:41 PM, Bill Wendling wrote:
> CodeGenPasses->add(new TargetData(*Target->getTargetData()));
> - Target->addPassesToEmitFile(*CodeGenPasses, Out,
> TargetMachine::AssemblyFile,
> - true);
> +
> + MachineCodeEmitter *MCE = 0;
> +
> + switch (Target->addPassesToEmitFile(*CodeGenPasses, Out,
> + TargetMachine::AssemblyFile,
> true)) {
> + default:
> + assert(0 && "Invalid file model!");
> + return LTO_UNKNOWN;
> + case FileModel::Error:
> + // FIXME: Error...
> + return LTO_UNKNOWN;
> + case FileModel::AsmFile:
> + break;
> + case FileModel::MachOFile:
> + MCE = AddMachOWriter(*CodeGenPasses, Out, *Target);
> + break;
> + case FileModel::ElfFile:
> + MCE = AddELFWriter(*CodeGenPasses, Out, *Target);
> + break;
> + }
> +
> + if (Target->addPassesToEmitFileFinish(*CodeGenPasses, MCE, true)) {
> + // FIXME: Error...
> + return LTO_UNKNOWN;
> + }
Please avoid assert() in lto. Let linker handle all failures.
Use LTO_WRITE_FAILURE instead of LTO_UNKNOWN.
Thanks,
-
Devang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20070207/88d555f3/attachment.html>
More information about the llvm-commits
mailing list