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