@@ -84,8 +84,7 @@ class FailedPrerequisiteModules : public PrerequisiteModules {
8484
8585 // We shouldn't adjust the compilation commands based on
8686 // FailedPrerequisiteModules.
87- void adjustHeaderSearchOptions (HeaderSearchOptions &Options) const override {
88- }
87+ void adjustHeaderSearchOptions (HeaderSearchOptions &Options) const override {}
8988
9089 // FailedPrerequisiteModules can never be reused.
9190 bool
@@ -430,21 +429,21 @@ class CachingProjectModules : public ProjectModules {
430429// / Collect the directly and indirectly required module names for \param
431430// / ModuleName in topological order. The \param ModuleName is guaranteed to
432431// / be the last element in \param ModuleNames.
433- llvm::SmallVector<StringRef > getAllRequiredModules (PathRef RequiredSource,
434- CachingProjectModules &MDB,
435- StringRef ModuleName) {
436- llvm::SmallVector<llvm::StringRef > ModuleNames;
432+ llvm::SmallVector<std::string > getAllRequiredModules (PathRef RequiredSource,
433+ CachingProjectModules &MDB,
434+ StringRef ModuleName) {
435+ llvm::SmallVector<std::string > ModuleNames;
437436 llvm::StringSet<> ModuleNamesSet;
438437
439438 auto VisitDeps = [&](StringRef ModuleName, auto Visitor) -> void {
440439 ModuleNamesSet.insert (ModuleName);
441440
442- for (StringRef RequiredModuleName : MDB.getRequiredModules (
441+ for (const std::string & RequiredModuleName : MDB.getRequiredModules (
443442 MDB.getSourceForModuleName (ModuleName, RequiredSource)))
444443 if (ModuleNamesSet.insert (RequiredModuleName).second )
445444 Visitor (RequiredModuleName, Visitor);
446445
447- ModuleNames.push_back (ModuleName);
446+ ModuleNames.push_back (ModuleName. str () );
448447 };
449448 VisitDeps (ModuleName, VisitDeps);
450449
@@ -494,28 +493,30 @@ llvm::Error ModulesBuilder::ModulesBuilderImpl::getOrBuildModuleFile(
494493 // Get Required modules in topological order.
495494 auto ReqModuleNames = getAllRequiredModules (RequiredSource, MDB, ModuleName);
496495 for (llvm::StringRef ReqModuleName : ReqModuleNames) {
497- if (BuiltModuleFiles.isModuleUnitBuilt (ModuleName ))
496+ if (BuiltModuleFiles.isModuleUnitBuilt (ReqModuleName ))
498497 continue ;
499498
500499 if (auto Cached = Cache.getModule (ReqModuleName)) {
501500 if (IsModuleFileUpToDate (Cached->getModuleFilePath (), BuiltModuleFiles,
502501 TFS.view (std::nullopt ))) {
503- log (" Reusing module {0} from {1}" , ModuleName ,
502+ log (" Reusing module {0} from {1}" , ReqModuleName ,
504503 Cached->getModuleFilePath ());
505504 BuiltModuleFiles.addModuleFile (std::move (Cached));
506505 continue ;
507506 }
508507 Cache.remove (ReqModuleName);
509508 }
510509
510+ std::string ReqFileName =
511+ MDB.getSourceForModuleName (ReqModuleName, RequiredSource);
511512 llvm::Expected<ModuleFile> MF = buildModuleFile (
512- ModuleName, ModuleUnitFileName , getCDB (), TFS, BuiltModuleFiles);
513+ ReqModuleName, ReqFileName , getCDB (), TFS, BuiltModuleFiles);
513514 if (llvm::Error Err = MF.takeError ())
514515 return Err;
515516
516- log (" Built module {0} to {1}" , ModuleName , MF->getModuleFilePath ());
517+ log (" Built module {0} to {1}" , ReqModuleName , MF->getModuleFilePath ());
517518 auto BuiltModuleFile = std::make_shared<const ModuleFile>(std::move (*MF));
518- Cache.add (ModuleName , BuiltModuleFile);
519+ Cache.add (ReqModuleName , BuiltModuleFile);
519520 BuiltModuleFiles.addModuleFile (std::move (BuiltModuleFile));
520521 }
521522
0 commit comments