@@ -447,10 +447,11 @@ bool Deserializer::readGraph(GlobalModuleDependenciesCache &cache) {
447
447
llvm::report_fatal_error (" Unexpected CLANG_MODULE_DETAILS_NODE record" );
448
448
cache.configureForTriple (getTriple ());
449
449
unsigned moduleMapPathID, contextHashID, commandLineArrayID,
450
- fileDependenciesArrayID;
450
+ fileDependenciesArrayID, capturedPCMArgsArrayID ;
451
451
ClangModuleDetailsLayout::readRecord (Scratch, moduleMapPathID,
452
452
contextHashID, commandLineArrayID,
453
- fileDependenciesArrayID);
453
+ fileDependenciesArrayID,
454
+ capturedPCMArgsArrayID);
454
455
auto moduleMapPath = getIdentifier (moduleMapPathID);
455
456
if (!moduleMapPath)
456
457
llvm::report_fatal_error (" Bad module map path" );
@@ -463,10 +464,15 @@ bool Deserializer::readGraph(GlobalModuleDependenciesCache &cache) {
463
464
auto fileDependencies = getArray (fileDependenciesArrayID);
464
465
if (!fileDependencies)
465
466
llvm::report_fatal_error (" Bad file dependencies" );
467
+ auto capturedPCMArgs = getArray (capturedPCMArgsArrayID);
468
+ if (!capturedPCMArgs)
469
+ llvm::report_fatal_error (" Bad captured PCM Args" );
466
470
467
471
// Form the dependencies storage object
468
472
auto moduleDep = ModuleDependencies::forClangModule (
469
- *moduleMapPath, *contextHash, *commandLineArgs, *fileDependencies);
473
+ *moduleMapPath, *contextHash, *commandLineArgs, *fileDependencies,
474
+ *capturedPCMArgs);
475
+
470
476
// Add dependencies of this module
471
477
for (const auto &moduleName : *currentModuleDependencies)
472
478
moduleDep.addModuleDependency (moduleName);
@@ -572,6 +578,7 @@ enum ModuleIdentifierArrayKind : uint8_t {
572
578
BridgingModuleDependencies,
573
579
NonPathCommandLine,
574
580
FileDependencies,
581
+ CapturedPCMArgs,
575
582
LastArrayKind
576
583
};
577
584
@@ -846,7 +853,8 @@ void Serializer::writeModuleInfo(ModuleDependencyID moduleID,
846
853
getIdentifier (clangDeps->moduleMapFile ),
847
854
getIdentifier (clangDeps->contextHash ),
848
855
getArray (moduleID, ModuleIdentifierArrayKind::NonPathCommandLine),
849
- getArray (moduleID, ModuleIdentifierArrayKind::FileDependencies));
856
+ getArray (moduleID, ModuleIdentifierArrayKind::FileDependencies),
857
+ getArray (moduleID, ModuleIdentifierArrayKind::CapturedPCMArgs));
850
858
851
859
break ;
852
860
}
@@ -1015,6 +1023,8 @@ void Serializer::collectStringsAndArrays(
1015
1023
clangDeps->nonPathCommandLine );
1016
1024
addArray (moduleID, ModuleIdentifierArrayKind::FileDependencies,
1017
1025
clangDeps->fileDependencies );
1026
+ addArray (moduleID, ModuleIdentifierArrayKind::CapturedPCMArgs,
1027
+ clangDeps->capturedPCMArgs );
1018
1028
break ;
1019
1029
}
1020
1030
default :
0 commit comments