From ec080467f5b322441055de1f6cd4f08edc23d7df Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 11 Sep 2009 20:46:33 +0000 Subject: 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81568 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvm-dis/llvm-dis.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'tools/llvm-dis/llvm-dis.cpp') diff --git a/tools/llvm-dis/llvm-dis.cpp b/tools/llvm-dis/llvm-dis.cpp index 89073c0884..43bde53599 100644 --- a/tools/llvm-dis/llvm-dis.cpp +++ b/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 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; -- cgit v1.2.3