]> granicus.if.org Git - clang/commitdiff
Convert paths to native format before constructing a
authorDouglas Gregor <dgregor@apple.com>
Thu, 8 Dec 2011 16:13:24 +0000 (16:13 +0000)
committerDouglas Gregor <dgregor@apple.com>
Thu, 8 Dec 2011 16:13:24 +0000 (16:13 +0000)
directory_iterator for them.

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

lib/Lex/ModuleMap.cpp

index b6ad71a030bd4c9731870558a25aeafd1d32910b..0c9922ff2a1f0c51aa2b79ece026d4799c23b2d6 100644 (file)
@@ -273,10 +273,14 @@ ModuleMap::inferFrameworkModule(StringRef ModuleName,
   
   // Look for subframeworks.
   llvm::error_code EC;
-  llvm::SmallString<128> SubframeworksDirName = StringRef(FrameworkDir->getName());
+  llvm::SmallString<128> SubframeworksDirName
+    = StringRef(FrameworkDir->getName());
   llvm::sys::path::append(SubframeworksDirName, "Frameworks");
-  for (llvm::sys::fs::directory_iterator Dir(SubframeworksDirName.str(), EC),
-                                         DirEnd;
+  llvm::SmallString<128> SubframeworksDirNameNative;
+  llvm::sys::path::native(SubframeworksDirName.str(),
+                          SubframeworksDirNameNative);
+  for (llvm::sys::fs::directory_iterator 
+         Dir(SubframeworksDirNameNative.str(), EC), DirEnd;
        Dir != DirEnd && !EC; Dir.increment(EC)) {
     if (!StringRef(Dir->path()).endswith(".framework"))
       continue;
@@ -293,8 +297,11 @@ ModuleMap::inferFrameworkModule(StringRef ModuleName,
   Module *ModulePrivate = 0;
   llvm::SmallString<128> PrivateHeadersDirName(FrameworkDir->getName());
   llvm::sys::path::append(PrivateHeadersDirName, "PrivateHeaders");
-  for (llvm::sys::fs::directory_iterator Dir(PrivateHeadersDirName.str(), EC),
-       DirEnd;
+  llvm::SmallString<128> PrivateHeadersDirNameNative;
+  llvm::sys::path::native(PrivateHeadersDirName.str(),
+                          PrivateHeadersDirNameNative);
+  for (llvm::sys::fs::directory_iterator 
+         Dir(PrivateHeadersDirNameNative.str(), EC), DirEnd;
        Dir != DirEnd && !EC; Dir.increment(EC)) {
     // Check whether this entry has an extension typically associated with 
     // headers.