Revert "[C++20][Modules][Serialization] Delay marking pending incompl… · llvm/llvm-project@99947c5 (original) (raw)
`@@ -10186,12 +10186,12 @@ void ASTReader::visitTopLevelModuleMaps(
`
10186
10186
`}
`
10187
10187
``
10188
10188
`void ASTReader::finishPendingActions() {
`
10189
``
`-
while (!PendingIdentifierInfos.empty() ||
`
10190
``
`-
!PendingDeducedFunctionTypes.empty() ||
`
10191
``
`-
!PendingDeducedVarTypes.empty() || !PendingDeclChains.empty() ||
`
10192
``
`-
!PendingMacroIDs.empty() || !PendingDeclContextInfos.empty() ||
`
10193
``
`-
!PendingUpdateRecords.empty() ||
`
10194
``
`-
!PendingObjCExtensionIvarRedeclarations.empty()) {
`
``
10189
`+
while (
`
``
10190
`+
!PendingIdentifierInfos.empty() || !PendingDeducedFunctionTypes.empty() ||
`
``
10191
`+
!PendingDeducedVarTypes.empty() || !PendingIncompleteDeclChains.empty() ||
`
``
10192
`+
!PendingDeclChains.empty() || !PendingMacroIDs.empty() ||
`
``
10193
`+
!PendingDeclContextInfos.empty() || !PendingUpdateRecords.empty() ||
`
``
10194
`+
!PendingObjCExtensionIvarRedeclarations.empty()) {
`
10195
10195
`// If any identifiers with corresponding top-level declarations have
`
10196
10196
`// been loaded, load those declarations now.
`
10197
10197
`using TopLevelDeclsMap =
`
`@@ -10239,6 +10239,13 @@ void ASTReader::finishPendingActions() {
`
10239
10239
` }
`
10240
10240
` PendingDeducedVarTypes.clear();
`
10241
10241
``
``
10242
`+
// For each decl chain that we wanted to complete while deserializing, mark
`
``
10243
`+
// it as "still needs to be completed".
`
``
10244
`+
for (unsigned I = 0; I != PendingIncompleteDeclChains.size(); ++I) {
`
``
10245
`+
markIncompleteDeclChain(PendingIncompleteDeclChains[I]);
`
``
10246
`+
}
`
``
10247
`+
PendingIncompleteDeclChains.clear();
`
``
10248
+
10242
10249
`// Load pending declaration chains.
`
10243
10250
`for (unsigned I = 0; I != PendingDeclChains.size(); ++I)
`
10244
10251
`loadPendingDeclChain(PendingDeclChains[I].first,
`
`@@ -10476,12 +10483,6 @@ void ASTReader::finishPendingActions() {
`
10476
10483
`for (auto *ND : PendingMergedDefinitionsToDeduplicate)
`
10477
10484
`getContext().deduplicateMergedDefinitonsFor(ND);
`
10478
10485
` PendingMergedDefinitionsToDeduplicate.clear();
`
10479
``
-
10480
``
`-
// For each decl chain that we wanted to complete while deserializing, mark
`
10481
``
`-
// it as "still needs to be completed".
`
10482
``
`-
for (Decl *D : PendingIncompleteDeclChains)
`
10483
``
`-
markIncompleteDeclChain(D);
`
10484
``
`-
PendingIncompleteDeclChains.clear();
`
10485
10486
`}
`
10486
10487
``
10487
10488
`void ASTReader::diagnoseOdrViolations() {
`