summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-07-16 14:10:07 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-07-16 14:10:07 +0000
commit67f9b377ba636f5cf645b585d6f84ceba286a4ec (patch)
tree5fe319226b8411110e6228fff09e28548fd11858
parente7ff00846244c73836d8ef2fb7f6ffed3c00b60e (diff)
downloadllvm-67f9b377ba636f5cf645b585d6f84ceba286a4ec.tar.gz
llvm-67f9b377ba636f5cf645b585d6f84ceba286a4ec.tar.bz2
llvm-67f9b377ba636f5cf645b585d6f84ceba286a4ec.tar.xz
Create files with mode 666. This matches the behavior of other unix tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186414 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Support/raw_ostream.cpp2
-rw-r--r--test/Other/umask.ll13
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/Support/raw_ostream.cpp b/lib/Support/raw_ostream.cpp
index 9262945358..7609b916fb 100644
--- a/lib/Support/raw_ostream.cpp
+++ b/lib/Support/raw_ostream.cpp
@@ -461,7 +461,7 @@ raw_fd_ostream::raw_fd_ostream(const char *Filename, std::string &ErrorInfo,
if (Flags & F_Excl)
OpenFlags |= O_EXCL;
- while ((FD = open(Filename, OpenFlags, 0664)) < 0) {
+ while ((FD = open(Filename, OpenFlags, 0666)) < 0) {
if (errno != EINTR) {
ErrorInfo = "Error opening output file '" + std::string(Filename) + "'";
ShouldClose = false;
diff --git a/test/Other/umask.ll b/test/Other/umask.ll
new file mode 100644
index 0000000000..37f379dcb3
--- /dev/null
+++ b/test/Other/umask.ll
@@ -0,0 +1,13 @@
+; REQUIRES: shell
+
+; RUN: umask 000
+; RUN: rm -f %t.000
+; RUN: llvm-as %s -o %t.000
+; RUN: ls -l %t.000 | FileCheck --check-prefix=CHECK000 %s
+; CHECK000: rw-rw-rw
+
+; RUN: umask 002
+; RUN: rm -f %t.002
+; RUN: llvm-as %s -o %t.002
+; RUN: ls -l %t.002 | FileCheck --check-prefix=CHECK002 %s
+; CHECK002: rw-rw-r-