From 2b8d55b0043b1aa05e1bd8e0cf1b6c8961b7fa8c Mon Sep 17 00:00:00 2001 From: Sofia Date: Thu, 30 Apr 2026 20:00:44 +0300 Subject: [PATCH] Codegen compound statements correctly --- src/codegen.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/codegen.cpp b/src/codegen.cpp index 729b7ff..d3d8f2a 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -630,13 +630,15 @@ namespace AST { builder.block = after_bb; } - void CompoundStatement::codegen(codegen::Builder& builder, codegen::Scope&, codegen::StackAllocator&) { + void CompoundStatement::codegen(codegen::Builder& builder, codegen::Scope& scope, codegen::StackAllocator& allocator) { if (!builder.block) return; builder.builder->SetInsertPoint(builder.block); - throw CompileError("TODO", this->m_meta); + codegen::Scope inner{ scope }; + for (auto& statement : this->m_statements) + statement->codegen(builder, inner, allocator); } void BreakStatement::codegen(codegen::Builder& builder, codegen::Scope&, codegen::StackAllocator&) {