[clang] b4a5b61 - [SystemZ][z/OS] Add OpenFlags to CreateMissingDirectories path when creating temp files
Abhina Sreeskantharajan via cfe-commits
cfe-commits at lists.llvm.org
Mon Jul 24 06:08:43 PDT 2023
Author: Tony Tao
Date: 2023-07-24T09:08:37-04:00
New Revision: b4a5b61d7675521e473c37921a2bdf771fd2bd3e
URL: https://github.com/llvm/llvm-project/commit/b4a5b61d7675521e473c37921a2bdf771fd2bd3e
DIFF: https://github.com/llvm/llvm-project/commit/b4a5b61d7675521e473c37921a2bdf771fd2bd3e.diff
LOG: [SystemZ][z/OS] Add OpenFlags to CreateMissingDirectories path when creating temp files
Additional patch to https://reviews.llvm.org/D103806 to add the same flags in the path where the CreateMissingDirectories booleans is set to true.
Reviewed By: abhina.sreeskantharajan
Differential Revision: https://reviews.llvm.org/D155651
Added:
Modified:
clang/lib/Frontend/CompilerInstance.cpp
Removed:
################################################################################
diff --git a/clang/lib/Frontend/CompilerInstance.cpp b/clang/lib/Frontend/CompilerInstance.cpp
index a87e91e3ba5312..92e0b74e38f0af 100644
--- a/clang/lib/Frontend/CompilerInstance.cpp
+++ b/clang/lib/Frontend/CompilerInstance.cpp
@@ -895,10 +895,12 @@ CompilerInstance::createOutputFileImpl(StringRef OutputPath, bool Binary,
TempPath += "-%%%%%%%%";
TempPath += OutputExtension;
TempPath += ".tmp";
+ llvm::sys::fs::OpenFlags BinaryFlags =
+ Binary ? llvm::sys::fs::OF_None : llvm::sys::fs::OF_Text;
Expected<llvm::sys::fs::TempFile> ExpectedFile =
llvm::sys::fs::TempFile::create(
TempPath, llvm::sys::fs::all_read | llvm::sys::fs::all_write,
- Binary ? llvm::sys::fs::OF_None : llvm::sys::fs::OF_Text);
+ BinaryFlags);
llvm::Error E = handleErrors(
ExpectedFile.takeError(), [&](const llvm::ECError &E) -> llvm::Error {
@@ -908,7 +910,9 @@ CompilerInstance::createOutputFileImpl(StringRef OutputPath, bool Binary,
StringRef Parent = llvm::sys::path::parent_path(OutputPath);
EC = llvm::sys::fs::create_directories(Parent);
if (!EC) {
- ExpectedFile = llvm::sys::fs::TempFile::create(TempPath);
+ ExpectedFile = llvm::sys::fs::TempFile::create(
+ TempPath, llvm::sys::fs::all_read | llvm::sys::fs::all_write,
+ BinaryFlags);
if (!ExpectedFile)
return llvm::errorCodeToError(
llvm::errc::no_such_file_or_directory);
More information about the cfe-commits
mailing list