Skip to content

Commit 5ea647d

Browse files
committed
[CodeGen] Assert that EmittedDeferredDecls is empty
Its contents are transferred into DeferredDecls in Release(), so it should be empty in moveLazyEmissionStates(). This matches the code downstream in Cling. Differential Revision: https://reviews.llvm.org/D156660
1 parent dcb2824 commit 5ea647d

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

clang/lib/CodeGen/CodeGenModule.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7455,6 +7455,8 @@ void CodeGenModule::moveLazyEmissionStates(CodeGenModule *NewBuilder) {
74557455
assert(NewBuilder->DeferredDecls.empty() &&
74567456
"Newly created module should not have deferred decls");
74577457
NewBuilder->DeferredDecls = std::move(DeferredDecls);
7458+
assert(EmittedDeferredDecls.empty() &&
7459+
"Still have (unmerged) EmittedDeferredDecls deferred decls");
74587460

74597461
assert(NewBuilder->DeferredVTables.empty() &&
74607462
"Newly created module should not have deferred vtables");
@@ -7470,10 +7472,5 @@ void CodeGenModule::moveLazyEmissionStates(CodeGenModule *NewBuilder) {
74707472

74717473
NewBuilder->TBAA = std::move(TBAA);
74727474

7473-
assert(NewBuilder->EmittedDeferredDecls.empty() &&
7474-
"Still have (unmerged) EmittedDeferredDecls deferred decls");
7475-
7476-
NewBuilder->EmittedDeferredDecls = std::move(EmittedDeferredDecls);
7477-
74787475
NewBuilder->ABI->MangleCtx = std::move(ABI->MangleCtx);
74797476
}

0 commit comments

Comments
 (0)