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 | ec080467f5b322441055de1f6cd4f08edc23d7df (patch) | |
tree | 3d7adcfa07dbe6db4fc8175d0b1687c4a8726bd2 /lib/Support | |
parent | 82b3c2e40417098f9af0c33150c4b1c66ae1747c (diff) | |
download | external_llvm-ec080467f5b322441055de1f6cd4f08edc23d7df.zip external_llvm-ec080467f5b322441055de1f6cd4f08edc23d7df.tar.gz external_llvm-ec080467f5b322441055de1f6cd4f08edc23d7df.tar.bz2 |
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
Diffstat (limited to 'lib/Support')
-rw-r--r-- | lib/Support/SystemUtils.cpp | 3 | ||||
-rw-r--r-- | lib/Support/raw_ostream.cpp | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/Support/SystemUtils.cpp b/lib/Support/SystemUtils.cpp index 3d3649e..299032f 100644 --- a/lib/Support/SystemUtils.cpp +++ b/lib/Support/SystemUtils.cpp @@ -20,8 +20,7 @@ using namespace llvm; bool llvm::CheckBitcodeOutputToConsole(raw_ostream &stream_to_check, bool print_warning) { - if (&stream_to_check == &outs() && - sys::Process::StandardOutIsDisplayed()) { + if (stream_to_check.is_displayed()) { if (print_warning) { errs() << "WARNING: You're attempting to print out a bitcode file.\n" << "This is inadvisable as it may cause display problems. If\n" diff --git a/lib/Support/raw_ostream.cpp b/lib/Support/raw_ostream.cpp index a229efd..2cb3771 100644 --- a/lib/Support/raw_ostream.cpp +++ b/lib/Support/raw_ostream.cpp @@ -454,6 +454,10 @@ raw_ostream &raw_fd_ostream::resetColor() { return *this; } +bool raw_fd_ostream::is_displayed() const { + return sys::Process::FileDescriptorIsDisplayed(FD); +} + //===----------------------------------------------------------------------===// // raw_stdout/err_ostream //===----------------------------------------------------------------------===// |