diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-12-08 16:13:24 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-12-08 16:13:24 +0000 |
commit | ddaa69cb281dca0220c9e28f42d30fbe6b66d2be (patch) | |
tree | 987c29403ea4def70c20520be60235c87f88b3bf /clang/lib | |
parent | 70a1324428a5a0805b525be11c08f180eb049e16 (diff) | |
download | bcm5719-llvm-ddaa69cb281dca0220c9e28f42d30fbe6b66d2be.tar.gz bcm5719-llvm-ddaa69cb281dca0220c9e28f42d30fbe6b66d2be.zip |
Convert paths to native format before constructing a
directory_iterator for them.
llvm-svn: 146154
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Lex/ModuleMap.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp index b6ad71a030b..0c9922ff2a1 100644 --- a/clang/lib/Lex/ModuleMap.cpp +++ b/clang/lib/Lex/ModuleMap.cpp @@ -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. |