@@ -447,10 +447,11 @@ bool Deserializer::readGraph(GlobalModuleDependenciesCache &cache) {
447447 llvm::report_fatal_error (" Unexpected CLANG_MODULE_DETAILS_NODE record" );
448448 cache.configureForTriple (getTriple ());
449449 unsigned moduleMapPathID, contextHashID, commandLineArrayID,
450- fileDependenciesArrayID;
450+ fileDependenciesArrayID, capturedPCMArgsArrayID ;
451451 ClangModuleDetailsLayout::readRecord (Scratch, moduleMapPathID,
452452 contextHashID, commandLineArrayID,
453- fileDependenciesArrayID);
453+ fileDependenciesArrayID,
454+ capturedPCMArgsArrayID);
454455 auto moduleMapPath = getIdentifier (moduleMapPathID);
455456 if (!moduleMapPath)
456457 llvm::report_fatal_error (" Bad module map path" );
@@ -463,10 +464,15 @@ bool Deserializer::readGraph(GlobalModuleDependenciesCache &cache) {
463464 auto fileDependencies = getArray (fileDependenciesArrayID);
464465 if (!fileDependencies)
465466 llvm::report_fatal_error (" Bad file dependencies" );
467+ auto capturedPCMArgs = getArray (capturedPCMArgsArrayID);
468+ if (!capturedPCMArgs)
469+ llvm::report_fatal_error (" Bad captured PCM Args" );
466470
467471 // Form the dependencies storage object
468472 auto moduleDep = ModuleDependencies::forClangModule (
469- *moduleMapPath, *contextHash, *commandLineArgs, *fileDependencies);
473+ *moduleMapPath, *contextHash, *commandLineArgs, *fileDependencies,
474+ *capturedPCMArgs);
475+
470476 // Add dependencies of this module
471477 for (const auto &moduleName : *currentModuleDependencies)
472478 moduleDep.addModuleDependency (moduleName);
@@ -572,6 +578,7 @@ enum ModuleIdentifierArrayKind : uint8_t {
572578 BridgingModuleDependencies,
573579 NonPathCommandLine,
574580 FileDependencies,
581+ CapturedPCMArgs,
575582 LastArrayKind
576583};
577584
@@ -846,7 +853,8 @@ void Serializer::writeModuleInfo(ModuleDependencyID moduleID,
846853 getIdentifier (clangDeps->moduleMapFile ),
847854 getIdentifier (clangDeps->contextHash ),
848855 getArray (moduleID, ModuleIdentifierArrayKind::NonPathCommandLine),
849- getArray (moduleID, ModuleIdentifierArrayKind::FileDependencies));
856+ getArray (moduleID, ModuleIdentifierArrayKind::FileDependencies),
857+ getArray (moduleID, ModuleIdentifierArrayKind::CapturedPCMArgs));
850858
851859 break ;
852860 }
@@ -1015,6 +1023,8 @@ void Serializer::collectStringsAndArrays(
10151023 clangDeps->nonPathCommandLine );
10161024 addArray (moduleID, ModuleIdentifierArrayKind::FileDependencies,
10171025 clangDeps->fileDependencies );
1026+ addArray (moduleID, ModuleIdentifierArrayKind::CapturedPCMArgs,
1027+ clangDeps->capturedPCMArgs );
10181028 break ;
10191029 }
10201030 default :
0 commit comments