forked from OSchip/llvm-project
simplify output file selection, fixing two FIXMEs about binary output
llvm-svn: 79808
This commit is contained in:
parent
9e6f1f160a
commit
abd1736998
|
@ -110,29 +110,20 @@ int main(int argc, char **argv) {
|
|||
Passes.add(createDeadTypeEliminationPass()); // Remove dead types...
|
||||
Passes.add(createStripDeadPrototypesPass()); // Remove dead func decls
|
||||
|
||||
raw_ostream *Out = 0;
|
||||
|
||||
if (OutputFilename != "-") { // Not stdout?
|
||||
std::string ErrorInfo;
|
||||
Out = new raw_fd_ostream(OutputFilename.c_str(), ErrorInfo,
|
||||
raw_fd_ostream::F_Binary |
|
||||
(Force ? raw_fd_ostream::F_Force : 0));
|
||||
if (!ErrorInfo.empty()) {
|
||||
errs() << ErrorInfo << '\n';
|
||||
if (!Force)
|
||||
errs() << "Use -f command line argument to force output\n";
|
||||
delete Out;
|
||||
return 1;
|
||||
}
|
||||
} else { // Specified stdout
|
||||
// FIXME: outs() is not binary!
|
||||
Out = &outs();
|
||||
std::string ErrorInfo;
|
||||
std::auto_ptr<raw_fd_ostream>
|
||||
Out(new raw_fd_ostream(OutputFilename.c_str(), ErrorInfo,
|
||||
raw_fd_ostream::F_Binary |
|
||||
(Force ? raw_fd_ostream::F_Force : 0)));
|
||||
if (!ErrorInfo.empty()) {
|
||||
errs() << ErrorInfo << '\n';
|
||||
if (!Force)
|
||||
errs() << "Use -f command line argument to force output\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
Passes.add(createBitcodeWriterPass(*Out));
|
||||
Passes.run(*M.get());
|
||||
|
||||
if (Out != &outs())
|
||||
delete Out;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -118,25 +118,22 @@ int main(int argc, char **argv) {
|
|||
|
||||
if (DumpAsm) errs() << "Here's the assembly:\n" << *Composite.get();
|
||||
|
||||
// FIXME: outs() is not binary!
|
||||
raw_ostream *Out = &outs(); // Default to printing to stdout...
|
||||
if (OutputFilename != "-") {
|
||||
std::string ErrorInfo;
|
||||
Out = new raw_fd_ostream(OutputFilename.c_str(), ErrorInfo,
|
||||
raw_fd_ostream::F_Binary |
|
||||
(Force ? raw_fd_ostream::F_Force : 0));
|
||||
if (!ErrorInfo.empty()) {
|
||||
errs() << ErrorInfo << '\n';
|
||||
if (!Force)
|
||||
errs() << "Use -f command line argument to force output\n";
|
||||
delete Out;
|
||||
return 1;
|
||||
}
|
||||
std::string ErrorInfo;
|
||||
std::auto_ptr<raw_ostream>
|
||||
Out(new raw_fd_ostream(OutputFilename.c_str(), ErrorInfo,
|
||||
raw_fd_ostream::F_Binary |
|
||||
(Force ? raw_fd_ostream::F_Force : 0)));
|
||||
if (!ErrorInfo.empty()) {
|
||||
errs() << ErrorInfo << '\n';
|
||||
if (!Force)
|
||||
errs() << "Use -f command line argument to force output\n";
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Make sure that the Out file gets unlinked from the disk if we get a
|
||||
// SIGINT
|
||||
if (OutputFilename != "-")
|
||||
sys::RemoveFileOnSignal(sys::Path(OutputFilename));
|
||||
}
|
||||
|
||||
if (verifyModule(*Composite.get())) {
|
||||
errs() << argv[0] << ": linked module is broken!\n";
|
||||
|
@ -146,6 +143,5 @@ int main(int argc, char **argv) {
|
|||
if (Verbose) errs() << "Writing bitcode...\n";
|
||||
WriteBitcodeToFile(Composite.get(), *Out);
|
||||
|
||||
if (Out != &outs()) delete Out;
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue