diff options
| author | Ginger Bill <bill@gingerbill.org> | 2017-07-07 23:42:43 +0100 |
|---|---|---|
| committer | Ginger Bill <bill@gingerbill.org> | 2017-07-07 23:42:43 +0100 |
| commit | 4b051a0d3b9da924924ed2a28ef7c102902a880c (patch) | |
| tree | 11ac611a92c608097b1af289d71a6ac21c9b4900 /src/check_stmt.cpp | |
| parent | 45353465a6d743f9c9cbca63c45877a6d294feb5 (diff) | |
`..` half closed range; `...` open range; `...` variadic syntax
Diffstat (limited to 'src/check_stmt.cpp')
| -rw-r--r-- | src/check_stmt.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/check_stmt.cpp b/src/check_stmt.cpp index 3f9efda9a..fe70fd672 100644 --- a/src/check_stmt.cpp +++ b/src/check_stmt.cpp @@ -683,6 +683,7 @@ void check_stmt_internal(Checker *c, AstNode *node, u32 flags) { } gbTempArenaMemory tmp = gb_temp_arena_memory_begin(&c->tmp_arena); + defer (gb_temp_arena_memory_end(tmp)); // NOTE(bill): If there is a bad syntax error, rhs > lhs which would mean there would need to be // an extra allocation @@ -705,7 +706,6 @@ void check_stmt_internal(Checker *c, AstNode *node, u32 flags) { error(as->lhs[0], "Assignment count mismatch `%td` = `%td`", lhs_count, rhs_count); } - gb_temp_arena_memory_end(tmp); } break; default: { @@ -1325,6 +1325,8 @@ void check_stmt_internal(Checker *c, AstNode *node, u32 flags) { TypeAndToken *found = map_get(&seen, key); if (found != nullptr) { gbTempArenaMemory tmp = gb_temp_arena_memory_begin(&c->tmp_arena); + defer (gb_temp_arena_memory_end(tmp)); + isize count = multi_map_count(&seen, key); TypeAndToken *taps = gb_alloc_array(c->tmp_allocator, TypeAndToken, count); @@ -1347,7 +1349,6 @@ void check_stmt_internal(Checker *c, AstNode *node, u32 flags) { } } - gb_temp_arena_memory_end(tmp); if (continue_outer) { continue; |