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 | 31b20c7d4a2789da21fe865cc5e7cfa3f6fdd581 (patch) | |
tree | 3d7adcfa07dbe6db4fc8175d0b1687c4a8726bd2 /include/llvm | |
parent | 5b01f934c23227abf954e317b5b65cc77f38c21d (diff) | |
download | external_llvm-31b20c7d4a2789da21fe865cc5e7cfa3f6fdd581.zip external_llvm-31b20c7d4a2789da21fe865cc5e7cfa3f6fdd581.tar.gz external_llvm-31b20c7d4a2789da21fe865cc5e7cfa3f6fdd581.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 'include/llvm')
-rw-r--r-- | include/llvm/Support/raw_ostream.h | 7 | ||||
-rw-r--r-- | include/llvm/System/Process.h | 5 |
2 files changed, 12 insertions, 0 deletions
diff --git a/include/llvm/Support/raw_ostream.h b/include/llvm/Support/raw_ostream.h index a01d4cd..dbad40c 100644 --- a/include/llvm/Support/raw_ostream.h +++ b/include/llvm/Support/raw_ostream.h @@ -240,6 +240,11 @@ public: /// outputting colored text, or before program exit. virtual raw_ostream &resetColor() { return *this; } + /// This function determines if this stream is connected to a "tty" or + /// "console" window. That is, the output would be displayed to the user + /// rather than being put on a pipe or stored in a file. + virtual bool is_displayed() const { return false; } + //===--------------------------------------------------------------------===// // Subclass Interface //===--------------------------------------------------------------------===// @@ -370,6 +375,8 @@ public: virtual raw_ostream &changeColor(enum Colors colors, bool bold=false, bool bg=false); virtual raw_ostream &resetColor(); + + virtual bool is_displayed() const; }; /// raw_stdout_ostream - This is a stream that always prints to stdout. diff --git a/include/llvm/System/Process.h b/include/llvm/System/Process.h index 11dbf75..010499a 100644 --- a/include/llvm/System/Process.h +++ b/include/llvm/System/Process.h @@ -94,6 +94,11 @@ namespace sys { /// the user rather than being put on a pipe or stored in a file. static bool StandardErrIsDisplayed(); + /// This function determines if the given file descriptor is connected to + /// a "tty" or "console" window. That is, the output would be displayed to + /// the user rather than being put on a pipe or stored in a file. + static bool FileDescriptorIsDisplayed(int fd); + /// This function determines the number of columns in the window /// if standard output is connected to a "tty" or "console" /// window. If standard output is not connected to a tty or |