Add additional checks for creating br

This commit is contained in:
Sofia 2026-04-30 20:44:04 +03:00
parent de702514d9
commit db8de8fc30

View File

@ -603,7 +603,8 @@ namespace AST {
builder.block = inner_bb;
builder.builder->SetInsertPoint(inner_bb);
this->m_loop->codegen(builder, inner_scope, allocator);
builder.builder->CreateBr(after_bb);
if (builder.block->getTerminator() == nullptr)
builder.builder->CreateBr(after_bb);
// Loop after-part
builder.block = after_bb;
@ -648,7 +649,8 @@ namespace AST {
builder.builder->SetInsertPoint(inner_bb);
builder.block = inner_bb;
this->m_loop->codegen(builder, inner_scope, allocator);
builder.builder->CreateBr(cond_bb);
if (builder.block->getTerminator() == nullptr)
builder.builder->CreateBr(cond_bb);
// After
builder.builder->SetInsertPoint(after_bb);