]> granicus.if.org Git - clang/commitdiff
My testing shows that function stat has no problem with trailing separators. (tested...
authorFrancois Pichet <pichet2000@gmail.com>
Fri, 3 Jun 2011 09:44:29 +0000 (09:44 +0000)
committerFrancois Pichet <pichet2000@gmail.com>
Fri, 3 Jun 2011 09:44:29 +0000 (09:44 +0000)
This fixes a bug on Windows:
clang c:\test.cpp

Here the call stat("c:") is not recognized as a directory (must be "c:\").

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132539 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Basic/FileManager.cpp

index 4e5a129082f4cea6b6c3297018bc5364c57a38c4..f747c534c0ed7325001347f2361fa6c463149e63 100644 (file)
@@ -264,10 +264,6 @@ void FileManager::addAncestorsAsVirtualDirs(llvm::StringRef Path) {
 /// exist.
 ///
 const DirectoryEntry *FileManager::getDirectory(llvm::StringRef DirName) {
-  // stat doesn't like trailing separators (at least on Windows).
-  if (DirName.size() > 1 && llvm::sys::path::is_separator(DirName.back()))
-    DirName = DirName.substr(0, DirName.size()-1);
-
   ++NumDirLookups;
   llvm::StringMapEntry<DirectoryEntry *> &NamedDirEnt =
     SeenDirEntries.GetOrCreateValue(DirName);