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() {

`