@@ -474,11 +474,12 @@ bool ModuleDependenciesCacheDeserializer::readGraph(SwiftDependencyScanningServi
474474 " Unexpected SWIFT_BINARY_MODULE_DETAILS_NODE record" );
475475 cache.configureForContextHash (getContextHash ());
476476 unsigned compiledModulePathID, moduleDocPathID, moduleSourceInfoPathID,
477- headerImportsArrayID, isFramework, moduleCacheKeyID;
477+ overlayDependencyIDArrayID, headerImportsArrayID, isFramework,
478+ moduleCacheKeyID;
478479 SwiftBinaryModuleDetailsLayout::readRecord (
479480 Scratch, compiledModulePathID, moduleDocPathID,
480- moduleSourceInfoPathID, headerImportsArrayID, isFramework ,
481- moduleCacheKeyID);
481+ moduleSourceInfoPathID, overlayDependencyIDArrayID ,
482+ headerImportsArrayID, isFramework, moduleCacheKeyID);
482483
483484 auto compiledModulePath = getIdentifier (compiledModulePathID);
484485 if (!compiledModulePath)
@@ -503,6 +504,12 @@ bool ModuleDependenciesCacheDeserializer::readGraph(SwiftDependencyScanningServi
503504 *currentModuleImports, *currentOptionalModuleImports,
504505 *headerImports, isFramework, *moduleCacheKey);
505506
507+ // Add Swift overlay dependencies
508+ auto overlayModuleDependencyIDs = getModuleDependencyIDArray (overlayDependencyIDArrayID);
509+ if (!overlayModuleDependencyIDs.has_value ())
510+ llvm::report_fatal_error (" Bad overlay dependencies: no qualified dependencies" );
511+ moduleDep.setOverlayDependencies (overlayModuleDependencyIDs.value ());
512+
506513 cache.recordDependency (currentModuleName, std::move (moduleDep),
507514 getContextHash ());
508515 hasCurrentModule = false ;
@@ -999,6 +1006,7 @@ void ModuleDependenciesCacheSerializer::writeModuleInfo(
9991006 getIdentifier (swiftBinDeps->compiledModulePath ),
10001007 getIdentifier (swiftBinDeps->moduleDocPath ),
10011008 getIdentifier (swiftBinDeps->sourceInfoPath ),
1009+ getArrayID (moduleID, ModuleIdentifierArrayKind::SwiftOverlayDependencyIDs),
10021010 getArrayID (moduleID, ModuleIdentifierArrayKind::DependencyHeaders),
10031011 swiftBinDeps->isFramework ,
10041012 getIdentifier (swiftBinDeps->moduleCacheKey ));
@@ -1165,7 +1173,7 @@ void ModuleDependenciesCacheSerializer::collectStringsAndArrays(
11651173 swiftTextDeps->textualModuleDetails .bridgingModuleDependencies );
11661174 addDependencyIDArray (
11671175 moduleID, ModuleIdentifierArrayKind::SwiftOverlayDependencyIDs,
1168- swiftTextDeps->textualModuleDetails . swiftOverlayDependencies );
1176+ swiftTextDeps->swiftOverlayDependencies );
11691177 addIdentifier (swiftTextDeps->textualModuleDetails .CASFileSystemRootID );
11701178 addIdentifier (swiftTextDeps->textualModuleDetails
11711179 .CASBridgingHeaderIncludeTreeRootID );
@@ -1181,6 +1189,9 @@ void ModuleDependenciesCacheSerializer::collectStringsAndArrays(
11811189 addIdentifier (swiftBinDeps->moduleCacheKey );
11821190 addStringArray (moduleID, ModuleIdentifierArrayKind::DependencyHeaders,
11831191 swiftBinDeps->preCompiledBridgingHeaderPaths );
1192+ addDependencyIDArray (
1193+ moduleID, ModuleIdentifierArrayKind::SwiftOverlayDependencyIDs,
1194+ swiftBinDeps->swiftOverlayDependencies );
11841195 break ;
11851196 }
11861197 case swift::ModuleDependencyKind::SwiftPlaceholder: {
@@ -1210,7 +1221,7 @@ void ModuleDependenciesCacheSerializer::collectStringsAndArrays(
12101221 swiftSourceDeps->textualModuleDetails .bridgingModuleDependencies );
12111222 addDependencyIDArray (
12121223 moduleID, ModuleIdentifierArrayKind::SwiftOverlayDependencyIDs,
1213- swiftSourceDeps->textualModuleDetails . swiftOverlayDependencies );
1224+ swiftSourceDeps->swiftOverlayDependencies );
12141225 addStringArray (
12151226 moduleID, ModuleIdentifierArrayKind::BuildCommandLine,
12161227 swiftSourceDeps->textualModuleDetails .buildCommandLine );
0 commit comments