File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -515,6 +515,7 @@ emitDataForSwiftSerializedModule(ModuleDecl *module,
515
515
516
516
// Reload resilient modules from swiftinterface to avoid indexing
517
517
// internal details.
518
+ bool skipIndexingModule = false ;
518
519
if (module ->getResilienceStrategy () == ResilienceStrategy::Resilient) {
519
520
module ->getASTContext ().setIgnoreAdjacentModules (true );
520
521
@@ -525,7 +526,7 @@ emitDataForSwiftSerializedModule(ModuleDecl *module,
525
526
module = reloadedModule;
526
527
} else {
527
528
// If we can't rebuild from the swiftinterface, don't index this module.
528
- return true ;
529
+ skipIndexingModule = true ;
529
530
}
530
531
}
531
532
@@ -536,7 +537,10 @@ emitDataForSwiftSerializedModule(ModuleDecl *module,
536
537
// Pairs of (recordFile, groupName).
537
538
std::vector<std::pair<std::string, std::string>> records;
538
539
539
- if (!module ->isStdlibModule ()) {
540
+ if (skipIndexingModule) {
541
+ // Don't add anything to records but keep going so we still mark the module
542
+ // as indexed to avoid rebuilds of broken swiftinterfaces.
543
+ } else if (!module ->isStdlibModule ()) {
540
544
std::string recordFile;
541
545
bool failed = false ;
542
546
auto consumer = makeRecordingConsumer (filename.str (), indexStorePath.str (),
You can’t perform that action at this time.
0 commit comments