summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/FileManager.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2011-03-18 19:23:19 +0000
committerAnders Carlsson <andersca@mac.com>2011-03-18 19:23:19 +0000
commit5e368405628f6abadfa3ee632ffa7d03da5a80b5 (patch)
tree9adfbe44ea05cbcccd43cd1487e1e740998fc5e5 /clang/lib/Basic/FileManager.cpp
parent486e57f69457cb67f660d9e4fd4fbb60cc79b2d8 (diff)
downloadbcm5719-llvm-5e368405628f6abadfa3ee632ffa7d03da5a80b5.tar.gz
bcm5719-llvm-5e368405628f6abadfa3ee632ffa7d03da5a80b5.zip
Add FileManager::getNoncachedStatValue, which will resolve relative paths against the working directory specified in the file system options.
llvm-svn: 127893
Diffstat (limited to 'clang/lib/Basic/FileManager.cpp')
-rw-r--r--clang/lib/Basic/FileManager.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/Basic/FileManager.cpp b/clang/lib/Basic/FileManager.cpp
index 1a8b01938ed..4e5a129082f 100644
--- a/clang/lib/Basic/FileManager.cpp
+++ b/clang/lib/Basic/FileManager.cpp
@@ -541,6 +541,14 @@ bool FileManager::getStatValue(const char *Path, struct stat &StatBuf,
StatCache.get());
}
+bool FileManager::getNoncachedStatValue(llvm::StringRef Path,
+ struct stat &StatBuf) {
+ llvm::SmallString<128> FilePath(Path);
+ FixupRelativePath(FilePath);
+
+ return ::stat(FilePath.c_str(), &StatBuf) != 0;
+}
+
void FileManager::GetUniqueIDMapping(
llvm::SmallVectorImpl<const FileEntry *> &UIDToFiles) const {
UIDToFiles.clear();
OpenPOWER on IntegriCloud