summaryrefslogtreecommitdiff
path: root/lib/Support
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-02-24 18:20:12 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-02-24 18:20:12 +0000
commitac69459e0fe3df04788f5adcb94b1bec8b8cf8ad (patch)
tree6260ace05d8d32042f39b42aead973d7c3ebaf9a /lib/Support
parent137342f198093f68e112cd979782fae27bbb22ab (diff)
downloadllvm-ac69459e0fe3df04788f5adcb94b1bec8b8cf8ad.tar.gz
llvm-ac69459e0fe3df04788f5adcb94b1bec8b8cf8ad.tar.bz2
llvm-ac69459e0fe3df04788f5adcb94b1bec8b8cf8ad.tar.xz
Replace the F_Binary flag with a F_Text one.
After this I will set the default back to F_None. The advantage is that before this patch forgetting to set F_Binary would corrupt a file on windows. Forgetting to set F_Text produces one that cannot be read in notepad, which is a better failure mode :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202052 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support')
-rw-r--r--lib/Support/Path.cpp6
-rw-r--r--lib/Support/Timer.cpp4
-rw-r--r--lib/Support/Windows/Path.inc2
-rw-r--r--lib/Support/raw_ostream.cpp2
4 files changed, 7 insertions, 7 deletions
diff --git a/lib/Support/Path.cpp b/lib/Support/Path.cpp
index 5b8be18db3..1bd94a76fa 100644
--- a/lib/Support/Path.cpp
+++ b/lib/Support/Path.cpp
@@ -201,9 +201,9 @@ retry_random_path:
// Try to open + create the file.
switch (Type) {
case FS_File: {
- if (error_code EC = sys::fs::openFileForWrite(
- Twine(ResultPath.begin()), ResultFD,
- sys::fs::F_RW | sys::fs::F_Excl | sys::fs::F_Binary, Mode)) {
+ if (error_code EC =
+ sys::fs::openFileForWrite(Twine(ResultPath.begin()), ResultFD,
+ sys::fs::F_RW | sys::fs::F_Excl, Mode)) {
if (EC == errc::file_exists)
goto retry_random_path;
return EC;
diff --git a/lib/Support/Timer.cpp b/lib/Support/Timer.cpp
index 100b21e122..0456f5d638 100644
--- a/lib/Support/Timer.cpp
+++ b/lib/Support/Timer.cpp
@@ -66,8 +66,8 @@ raw_ostream *llvm::CreateInfoOutputFile() {
// compensate for this, the test-suite Makefiles have code to delete the
// info output file before running commands which write to it.
std::string Error;
- raw_ostream *Result =
- new raw_fd_ostream(OutputFilename.c_str(), Error, sys::fs::F_Append);
+ raw_ostream *Result = new raw_fd_ostream(
+ OutputFilename.c_str(), Error, sys::fs::F_Append | sys::fs::F_Text);
if (Error.empty())
return Result;
diff --git a/lib/Support/Windows/Path.inc b/lib/Support/Windows/Path.inc
index a72d0bf0b1..98b2767c01 100644
--- a/lib/Support/Windows/Path.inc
+++ b/lib/Support/Windows/Path.inc
@@ -876,7 +876,7 @@ error_code openFileForWrite(const Twine &Name, int &ResultFD,
if (Flags & F_Append)
OpenFlags |= _O_APPEND;
- if (!(Flags & F_Binary))
+ if (Flags & F_Text)
OpenFlags |= _O_TEXT;
int FD = ::_open_osfhandle(intptr_t(H), OpenFlags);
diff --git a/lib/Support/raw_ostream.cpp b/lib/Support/raw_ostream.cpp
index 2d825e1509..3c45743666 100644
--- a/lib/Support/raw_ostream.cpp
+++ b/lib/Support/raw_ostream.cpp
@@ -443,7 +443,7 @@ raw_fd_ostream::raw_fd_ostream(const char *Filename, std::string &ErrorInfo,
FD = STDOUT_FILENO;
// If user requested binary then put stdout into binary mode if
// possible.
- if (Flags & sys::fs::F_Binary)
+ if (!(Flags & sys::fs::F_Text))
sys::ChangeStdoutToBinary();
// Close stdout when we're done, to detect any output errors.
ShouldClose = true;