Skip to content

Commit d6ebb73

Browse files
committed
[clang][modules] Assert that finishPendingActions() leaves without any pending actions.
1 parent 85cdbe2 commit d6ebb73

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

clang/lib/Serialization/ASTReader.cpp

+31
Original file line numberDiff line numberDiff line change
@@ -10478,6 +10478,37 @@ void ASTReader::finishPendingActions() {
1047810478
for (Decl *D : PendingIncompleteDeclChains)
1047910479
markIncompleteDeclChain(D);
1048010480
PendingIncompleteDeclChains.clear();
10481+
10482+
assert(PendingIdentifierInfos.empty() &&
10483+
"Should be empty at the end of finishPendingActions");
10484+
assert(PendingDeducedFunctionTypes.empty() &&
10485+
"Should be empty at the end of finishPendingActions");
10486+
assert(PendingDeducedVarTypes.empty() &&
10487+
"Should be empty at the end of finishPendingActions");
10488+
assert(PendingDeclChains.empty() &&
10489+
"Should be empty at the end of finishPendingActions");
10490+
assert(PendingMacroIDs.empty() &&
10491+
"Should be empty at the end of finishPendingActions");
10492+
assert(PendingDeclContextInfos.empty() &&
10493+
"Should be empty at the end of finishPendingActions");
10494+
assert(PendingUpdateRecords.empty() &&
10495+
"Should be empty at the end of finishPendingActions");
10496+
assert(PendingObjCExtensionIvarRedeclarations.empty() &&
10497+
"Should be empty at the end of finishPendingActions");
10498+
assert(PendingFakeDefinitionData.empty() &&
10499+
"Should be empty at the end of finishPendingActions");
10500+
assert(PendingDefinitions.empty() &&
10501+
"Should be empty at the end of finishPendingActions");
10502+
assert(PendingWarningForDuplicatedDefsInModuleUnits.empty() &&
10503+
"Should be empty at the end of finishPendingActions");
10504+
assert(PendingBodies.empty() &&
10505+
"Should be empty at the end of finishPendingActions");
10506+
assert(PendingAddedClassMembers.empty() &&
10507+
"Should be empty at the end of finishPendingActions");
10508+
assert(PendingMergedDefinitionsToDeduplicate.empty() &&
10509+
"Should be empty at the end of finishPendingActions");
10510+
assert(PendingIncompleteDeclChains.empty() &&
10511+
"Should be empty at the end of finishPendingActions");
1048110512
}
1048210513

1048310514
void ASTReader::diagnoseOdrViolations() {

0 commit comments

Comments
 (0)