forked from OSchip/llvm-project
Don't translate "-" to outs() manually; raw_ostream does that automatically.
llvm-svn: 111371
This commit is contained in:
parent
80f9de4bb5
commit
b01aed1cb2
|
@ -53,7 +53,7 @@ InputFilename(cl::Positional, cl::desc("<input bitcode file>"),
|
||||||
|
|
||||||
static cl::opt<std::string>
|
static cl::opt<std::string>
|
||||||
OutputFilename("o", cl::desc("Override output filename"),
|
OutputFilename("o", cl::desc("Override output filename"),
|
||||||
cl::value_desc("filename"), cl::init("-"));
|
cl::value_desc("filename"));
|
||||||
|
|
||||||
static cl::opt<bool>
|
static cl::opt<bool>
|
||||||
Force("f", cl::desc("Enable binary output on terminals"));
|
Force("f", cl::desc("Enable binary output on terminals"));
|
||||||
|
@ -381,34 +381,27 @@ int main(int argc, char **argv) {
|
||||||
|
|
||||||
// Figure out what stream we are supposed to write to...
|
// Figure out what stream we are supposed to write to...
|
||||||
raw_ostream *Out = 0;
|
raw_ostream *Out = 0;
|
||||||
bool DeleteStream = false;
|
if (NoOutput || AnalyzeOnly) {
|
||||||
if (!NoOutput && !AnalyzeOnly) {
|
if (!OutputFilename.empty())
|
||||||
if (OutputFilename == "-") {
|
errs() << "WARNING: The -o (output filename) option is ignored when\n"
|
||||||
// Print to stdout.
|
"the --disable-output or --analyze options are used.\n";
|
||||||
Out = &outs();
|
} else {
|
||||||
// If we're printing a bitcode file, switch stdout to binary mode.
|
// Default to standard output.
|
||||||
// FIXME: This switches outs() globally, not just for the bitcode output.
|
if (OutputFilename.empty())
|
||||||
if (!OutputAssembly)
|
OutputFilename = "-";
|
||||||
sys::Program::ChangeStdoutToBinary();
|
|
||||||
} else {
|
|
||||||
if (NoOutput || AnalyzeOnly) {
|
|
||||||
errs() << "WARNING: The -o (output filename) option is ignored when\n"
|
|
||||||
"the --disable-output or --analyze options are used.\n";
|
|
||||||
} else {
|
|
||||||
// Make sure that the Output file gets unlinked from the disk if we get
|
|
||||||
// a SIGINT.
|
|
||||||
sys::RemoveFileOnSignal(sys::Path(OutputFilename));
|
|
||||||
|
|
||||||
std::string ErrorInfo;
|
// Make sure that the Output file gets unlinked from the disk if we get
|
||||||
Out = new raw_fd_ostream(OutputFilename.c_str(), ErrorInfo,
|
// a SIGINT.
|
||||||
raw_fd_ostream::F_Binary);
|
if (OutputFilename != "-")
|
||||||
if (!ErrorInfo.empty()) {
|
sys::RemoveFileOnSignal(sys::Path(OutputFilename));
|
||||||
errs() << ErrorInfo << '\n';
|
|
||||||
delete Out;
|
std::string ErrorInfo;
|
||||||
return 1;
|
Out = new raw_fd_ostream(OutputFilename.c_str(), ErrorInfo,
|
||||||
}
|
raw_fd_ostream::F_Binary);
|
||||||
DeleteStream = true;
|
if (!ErrorInfo.empty()) {
|
||||||
}
|
errs() << ErrorInfo << '\n';
|
||||||
|
delete Out;
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -553,7 +546,6 @@ int main(int argc, char **argv) {
|
||||||
Passes.run(*M.get());
|
Passes.run(*M.get());
|
||||||
|
|
||||||
// Delete the raw_fd_ostream.
|
// Delete the raw_fd_ostream.
|
||||||
if (DeleteStream)
|
delete Out;
|
||||||
delete Out;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue