aboutsummaryrefslogtreecommitdiff
path: root/src/tilde_proc.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2023-07-19 15:24:07 +0100
committergingerBill <bill@gingerbill.org>2023-07-19 15:24:07 +0100
commit9abf43b0d29abf3c560cd26081fb4adf0b38a5c6 (patch)
tree31e1c494651e36a0a8a1310f3a57299f97868abd /src/tilde_proc.cpp
parent7f97274ecc0cfe445988f87c8806d08618f6671a (diff)
Mock out `defer` handling logic (before handling `defer` statements)
Diffstat (limited to 'src/tilde_proc.cpp')
-rw-r--r--src/tilde_proc.cpp28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/tilde_proc.cpp b/src/tilde_proc.cpp
index f51435390..2bb18a2de 100644
--- a/src/tilde_proc.cpp
+++ b/src/tilde_proc.cpp
@@ -66,13 +66,15 @@ gb_internal cgProcedure *cg_procedure_create(cgModule *m, Entity *entity, bool i
gbAllocator a = heap_allocator();
p->children.allocator = a;
- // p->defer_stmts.allocator = a;
- // p->blocks.allocator = a;
- p->branch_blocks.allocator = a;
- p->context_stack.allocator = a;
+
+ p->defer_stack.allocator = a;
p->scope_stack.allocator = a;
+ p->context_stack.allocator = a;
+
+ p->control_regions.allocator = a;
+ p->branch_regions.allocator = a;
+
map_init(&p->variable_map);
- // map_init(&p->tuple_fix_map, 0);
TB_Linkage linkage = TB_LINKAGE_PRIVATE;
if (p->is_export) {
@@ -126,13 +128,15 @@ gb_internal cgProcedure *cg_procedure_create_dummy(cgModule *m, String const &li
gbAllocator a = heap_allocator();
p->children.allocator = a;
- // p->defer_stmts.allocator = a;
- // p->blocks.allocator = a;
- p->branch_blocks.allocator = a;
- p->scope_stack.allocator = a;
+
+ p->defer_stack.allocator = a;
+ p->scope_stack.allocator = a;
p->context_stack.allocator = a;
+
+ p->control_regions.allocator = a;
+ p->branch_regions.allocator = a;
+
map_init(&p->variable_map);
- // map_init(&p->tuple_fix_map, 0);
TB_Linkage linkage = TB_LINKAGE_PRIVATE;
@@ -170,8 +174,8 @@ gb_internal void cg_procedure_begin(cgProcedure *p) {
if (decl != nullptr) {
for_array(i, decl->labels) {
BlockLabel bl = decl->labels[i];
- cgBranchBlocks bb = {bl.label, nullptr, nullptr};
- array_add(&p->branch_blocks, bb);
+ cgBranchRegions bb = {bl.label, nullptr, nullptr};
+ array_add(&p->branch_regions, bb);
}
}