diff options
Diffstat (limited to 'src/analyze.cpp')
| -rw-r--r-- | src/analyze.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/analyze.cpp b/src/analyze.cpp index 3a8f0eb6fa..083f4bd2cd 100644 --- a/src/analyze.cpp +++ b/src/analyze.cpp @@ -3507,10 +3507,15 @@ static TypeTableEntry *analyze_while_expr(CodeGen *g, ImportTableEntry *import, AstNode *condition_node = node->data.while_expr.condition; AstNode *while_body_node = node->data.while_expr.body; + AstNode **continue_expr_node = &node->data.while_expr.continue_expr; TypeTableEntry *condition_type = analyze_expression(g, import, context, g->builtin_types.entry_bool, condition_node); + if (*continue_expr_node) { + analyze_expression(g, import, context, g->builtin_types.entry_void, *continue_expr_node); + } + BlockContext *child_context = new_block_context(node, context); child_context->parent_loop_node = node; |
