diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-01-28 06:42:08 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-01-28 06:42:08 +0000 |
commit | 21569cddc1a9df3bf4a3c9e06977273f1eba3e63 (patch) | |
tree | ec0d3fe97d75d1eb383a69876b1b28e715c5863b | |
parent | 150dfa87113e51881c75676edd8e3549eb702d99 (diff) | |
download | external_llvm-21569cddc1a9df3bf4a3c9e06977273f1eba3e63.tar.gz external_llvm-21569cddc1a9df3bf4a3c9e06977273f1eba3e63.tar.bz2 external_llvm-21569cddc1a9df3bf4a3c9e06977273f1eba3e63.zip |
Add llvm::Program::ChangeStderrToBinary().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94743 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/System/Program.h | 6 | ||||
-rw-r--r-- | lib/System/Unix/Program.inc | 5 | ||||
-rw-r--r-- | lib/System/Win32/Program.inc | 5 |
3 files changed, 14 insertions, 2 deletions
diff --git a/include/llvm/System/Program.h b/include/llvm/System/Program.h index 6799562726..69ce47892e 100644 --- a/include/llvm/System/Program.h +++ b/include/llvm/System/Program.h @@ -120,10 +120,12 @@ namespace sys { /// @brief Construct a Program by finding it by name. static Path FindProgramByName(const std::string& name); - // These methods change the specified standard stream (stdin or stdout) to - // binary mode. They return true if an error occurred + // These methods change the specified standard stream (stdin, + // stdout, or stderr) to binary mode. They return true if an error + // occurred static bool ChangeStdinToBinary(); static bool ChangeStdoutToBinary(); + static bool ChangeStderrToBinary(); /// A convenience function equivalent to Program prg; prg.Execute(..); /// prg.Wait(..); diff --git a/lib/System/Unix/Program.inc b/lib/System/Unix/Program.inc index 43c3606d98..e8c2806247 100644 --- a/lib/System/Unix/Program.inc +++ b/lib/System/Unix/Program.inc @@ -323,4 +323,9 @@ bool Program::ChangeStdoutToBinary(){ return false; } +bool Program::ChangeStderrToBinary(){ + // Do nothing, as Unix doesn't differentiate between text and binary. + return false; +} + } diff --git a/lib/System/Win32/Program.inc b/lib/System/Win32/Program.inc index a69826fdce..a3b40d0e36 100644 --- a/lib/System/Win32/Program.inc +++ b/lib/System/Win32/Program.inc @@ -379,4 +379,9 @@ bool Program::ChangeStdoutToBinary(){ return result == -1; } +bool Program::ChangeStderrToBinary(){ + int result = _setmode( _fileno(stderr), _O_BINARY ); + return result == -1; +} + } |