@@ -655,8 +655,8 @@ ModuleMap::findOrCreateModuleForHeaderInUmbrellaDir(FileEntryRef File) {
655
655
SmallString<32 > NameBuf;
656
656
StringRef Name = sanitizeFilenameAsIdentifier (
657
657
llvm::sys::path::stem (SkippedDir.getName ()), NameBuf);
658
- Result =
659
- findOrCreateModule (Name, Result, /* IsFramework= */ false , Explicit);
658
+ Result = findOrCreateModuleFirst (Name, Result, /* IsFramework= */ false ,
659
+ Explicit);
660
660
setInferredModuleAllowedBy (Result, UmbrellaModuleMap);
661
661
662
662
// Associate the module and the directory.
@@ -672,8 +672,8 @@ ModuleMap::findOrCreateModuleForHeaderInUmbrellaDir(FileEntryRef File) {
672
672
SmallString<32 > NameBuf;
673
673
StringRef Name = sanitizeFilenameAsIdentifier (
674
674
llvm::sys::path::stem (File.getName ()), NameBuf);
675
- Result =
676
- findOrCreateModule (Name, Result, /* IsFramework= */ false , Explicit);
675
+ Result = findOrCreateModuleFirst (Name, Result, /* IsFramework= */ false ,
676
+ Explicit);
677
677
setInferredModuleAllowedBy (Result, UmbrellaModuleMap);
678
678
Result->addTopHeader (File);
679
679
@@ -866,14 +866,17 @@ Module *ModuleMap::lookupModuleQualified(StringRef Name, Module *Context) const{
866
866
return Context->findSubmodule (Name);
867
867
}
868
868
869
- Module *ModuleMap::findOrCreateModule (StringRef Name, Module *Parent,
870
- bool IsFramework, bool IsExplicit) {
869
+ std::pair<Module *, bool > ModuleMap::findOrCreateModule (StringRef Name,
870
+ Module *Parent,
871
+ bool IsFramework,
872
+ bool IsExplicit) {
871
873
// Try to find an existing module with this name.
872
874
if (Module *Sub = lookupModuleQualified (Name, Parent))
873
- return Sub;
875
+ return std::make_pair ( Sub, false ) ;
874
876
875
877
// Create a new module with this name.
876
- return createModule (Name, Parent, IsFramework, IsExplicit);
878
+ Module *M = createModule (Name, Parent, IsFramework, IsExplicit);
879
+ return std::make_pair (M, true );
877
880
}
878
881
879
882
Module *ModuleMap::createModule (StringRef Name, Module *Parent,
@@ -2140,8 +2143,8 @@ void ModuleMapParser::parseModuleDecl() {
2140
2143
ActiveModule =
2141
2144
Map.createShadowedModule (ModuleName, Framework, ShadowingModule);
2142
2145
} else {
2143
- ActiveModule =
2144
- Map. findOrCreateModule (ModuleName, ActiveModule, Framework, Explicit);
2146
+ ActiveModule = Map. findOrCreateModuleFirst (ModuleName, ActiveModule,
2147
+ Framework, Explicit);
2145
2148
}
2146
2149
2147
2150
ActiveModule->DefinitionLoc = ModuleNameLoc;
0 commit comments