From ddaa69cb281dca0220c9e28f42d30fbe6b66d2be Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Thu, 8 Dec 2011 16:13:24 +0000 Subject: Convert paths to native format before constructing a directory_iterator for them. llvm-svn: 146154 --- clang/lib/Lex/ModuleMap.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'clang/lib/Lex/ModuleMap.cpp') diff --git a/clang/lib/Lex/ModuleMap.cpp b/clang/lib/Lex/ModuleMap.cpp index b6ad71a..0c9922f 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. -- cgit v1.1