aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Support/DataStream.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Support/DataStream.cpp b/lib/Support/DataStream.cpp
index 6b4cb64b96..b2dd979e7f 100644
--- a/lib/Support/DataStream.cpp
+++ b/lib/Support/DataStream.cpp
@@ -17,6 +17,7 @@
#define DEBUG_TYPE "Data-stream"
#include "llvm/ADT/Statistic.h"
#include "llvm/Support/DataStream.h"
+#include "llvm/Support/Program.h"
#include "llvm/Support/system_error.h"
#include <string>
#include <cerrno>
@@ -69,8 +70,10 @@ public:
#ifdef O_BINARY
OpenFlags |= O_BINARY; // Open input file in binary mode on win32.
#endif
- if (Filename == "-")
+ if (Filename == "-") {
Fd = 0;
+ sys::Program::ChangeStdinToBinary();
+ }
else
Fd = ::open(Filename.c_str(), OpenFlags);
if (Fd == -1) return error_code(errno, posix_category());