diff options
| author | Dan Gohman <gohman@apple.com> | 2009-09-11 20:46:33 +0000 |
|---|---|---|
| committer | Dan Gohman <gohman@apple.com> | 2009-09-11 20:46:33 +0000 |
| commit | e59292360311fd824f6be5f71cd0e537fee86392 (patch) | |
| tree | 2a2c32e66f67335aed79d8b9311e2797c16daf10 /llvm/tools/llvm-dis | |
| parent | dd3f5f1fcabd0be8167dcd5e96fbe1e7a09ff300 (diff) | |
| download | bcm5719-llvm-e59292360311fd824f6be5f71cd0e537fee86392.tar.gz bcm5719-llvm-e59292360311fd824f6be5f71cd0e537fee86392.zip | |
Fix llvm-extract's "writing bitcode to a terminal" warning, which wasn't
working. To support this, add an is_displayed() function to raw_ostream,
and generalize Process::StandardOutIsDisplayed and friends in order to
support it.
Also, call RemoveFileOnSignal before creating a file instead of after, so
that the file isn't left behind if the program is interrupted between when
the file is created and RemoveFileOnSignal is called.
While here, add a -S to llvm-extract and port it to IRReader so that it
supports assembly input.
llvm-svn: 81568
Diffstat (limited to 'llvm/tools/llvm-dis')
| -rw-r--r-- | llvm/tools/llvm-dis/llvm-dis.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/llvm/tools/llvm-dis/llvm-dis.cpp b/llvm/tools/llvm-dis/llvm-dis.cpp index 89073c08843..43bde53599c 100644 --- a/llvm/tools/llvm-dis/llvm-dis.cpp +++ b/llvm/tools/llvm-dis/llvm-dis.cpp @@ -89,7 +89,12 @@ int main(int argc, char **argv) { OutputFilename = IFN+".ll"; } } - + + // Make sure that the Out file gets unlinked from the disk if we get a + // SIGINT. + if (OutputFilename != "-") + sys::RemoveFileOnSignal(sys::Path(OutputFilename)); + std::string ErrorInfo; std::auto_ptr<raw_fd_ostream> Out(new raw_fd_ostream(OutputFilename.c_str(), ErrorInfo, @@ -99,11 +104,6 @@ int main(int argc, char **argv) { 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)); - // All that llvm-dis does is write the assembly to a file. if (!DontPrint) { PassManager Passes; |

