From: Rafael Espindola Date: Tue, 18 Jun 2013 20:58:25 +0000 (+0000) Subject: Use llvm::sys::fs::can_write. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=da1f9cb8ce0e89d2848390aef985bad9e32e1ddb;p=clang Use llvm::sys::fs::can_write. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@184234 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/Compilation.cpp b/lib/Driver/Compilation.cpp index ef40ae4afb..32d687e5ca 100644 --- a/lib/Driver/Compilation.cpp +++ b/lib/Driver/Compilation.cpp @@ -16,6 +16,7 @@ #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringSwitch.h" #include "llvm/Option/ArgList.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/PathV1.h" #include "llvm/Support/Program.h" #include "llvm/Support/raw_ostream.h" @@ -208,7 +209,7 @@ bool Compilation::CleanupFile(const char *File, bool IssueErrors) const { // Don't try to remove files which we don't have write access to (but may be // able to remove), or non-regular files. Underlying tools may have // intentionally not overwritten them. - if (!P.canWrite() || !P.isRegularFile()) + if (!llvm::sys::fs::can_write(File) || !P.isRegularFile()) return true; if (P.eraseFromDisk(false, &Error)) { diff --git a/lib/Frontend/CompilerInstance.cpp b/lib/Frontend/CompilerInstance.cpp index 66c79d0e9e..a2872dd4f2 100644 --- a/lib/Frontend/CompilerInstance.cpp +++ b/lib/Frontend/CompilerInstance.cpp @@ -535,7 +535,8 @@ CompilerInstance::createOutputFile(StringRef OutputPath, bool Exists; if ((CreateMissingDirectories || ParentExists) && ((llvm::sys::fs::exists(AbsPath.str(), Exists) || !Exists) || - (OutPath.isRegularFile() && OutPath.canWrite()))) { + (OutPath.isRegularFile() && + llvm::sys::fs::can_write(AbsPath.c_str())))) { // Create a temporary file. SmallString<128> TempPath; TempPath = OutFile;