示例#1
0
void HeaderSearch::loadSubdirectoryModuleMaps(DirectoryLookup &SearchDir) {
  if (SearchDir.haveSearchedAllModuleMaps())
    return;
  
  llvm::error_code EC;
  SmallString<128> DirNative;
  llvm::sys::path::native(SearchDir.getDir()->getName(), DirNative);
  for (llvm::sys::fs::directory_iterator Dir(DirNative.str(), EC), DirEnd;
       Dir != DirEnd && !EC; Dir.increment(EC)) {
    loadModuleMapFile(Dir->path(), SearchDir.isSystemHeaderDirectory());
  }

  SearchDir.setSearchedAllModuleMaps(true);
}
示例#2
0
void HeaderSearch::loadSubdirectoryModuleMaps(DirectoryLookup &SearchDir) {
  assert(LangOpts.ModulesImplicitMaps &&
         "Should not be loading subdirectory module maps");

  if (SearchDir.haveSearchedAllModuleMaps())
    return;

  std::error_code EC;
  SmallString<128> DirNative;
  llvm::sys::path::native(SearchDir.getDir()->getName(), DirNative);
  for (llvm::sys::fs::directory_iterator Dir(DirNative.str(), EC), DirEnd;
       Dir != DirEnd && !EC; Dir.increment(EC)) {
    loadModuleMapFile(Dir->path(), SearchDir.isSystemHeaderDirectory(),
                      SearchDir.isFramework());
  }

  SearchDir.setSearchedAllModuleMaps(true);
}