@@ -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
@@ -857,14 +857,17 @@ Module *ModuleMap::lookupModuleQualified(StringRef Name, Module *Context) const{
857
857
return Context->findSubmodule (Name);
858
858
}
859
859
860
- Module *ModuleMap::findOrCreateModule (StringRef Name, Module *Parent,
861
- bool IsFramework, bool IsExplicit) {
860
+ std::pair<Module *, bool > ModuleMap::findOrCreateModule (StringRef Name,
861
+ Module *Parent,
862
+ bool IsFramework,
863
+ bool IsExplicit) {
862
864
// Try to find an existing module with this name.
863
865
if (Module *Sub = lookupModuleQualified (Name, Parent))
864
- return Sub;
866
+ return std::make_pair ( Sub, false ) ;
865
867
866
868
// Create a new module with this name.
867
- return createModule (Name, Parent, IsFramework, IsExplicit);
869
+ Module *M = createModule (Name, Parent, IsFramework, IsExplicit);
870
+ return std::make_pair (M, true );
868
871
}
869
872
870
873
Module *ModuleMap::createModule (StringRef Name, Module *Parent,
@@ -2129,8 +2132,8 @@ void ModuleMapParser::parseModuleDecl() {
2129
2132
ActiveModule =
2130
2133
Map.createShadowedModule (ModuleName, Framework, ShadowingModule);
2131
2134
} else {
2132
- ActiveModule =
2133
- Map. findOrCreateModule (ModuleName, ActiveModule, Framework, Explicit);
2135
+ ActiveModule = Map. findOrCreateModuleFirst (ModuleName, ActiveModule,
2136
+ Framework, Explicit);
2134
2137
}
2135
2138
2136
2139
ActiveModule->DefinitionLoc = ModuleNameLoc;
0 commit comments