From d148cfdcd5b668b6aa0110d59fe73bc46a17eee5 Mon Sep 17 00:00:00 2001 From: "Wolfgang (Blub) Bumiller" Date: Fri, 30 Nov 2012 21:34:49 +0100 Subject: [PATCH] bodyless loops still have to loop --- ast.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ast.c b/ast.c index 5d824d0..40a53a3 100644 --- a/ast.c +++ b/ast.c @@ -2420,7 +2420,7 @@ bool ast_loop_codegen(ast_loop *self, ast_function *func, bool lvalue, ir_value bbreak = bout; /* The loop body... */ - if (self->body) + /* if (self->body) */ { bbody = ir_function_create_block(ast_ctx(self), func->ir_func, ast_function_label(func, "loop_body")); if (!bbody) @@ -2437,9 +2437,11 @@ bool ast_loop_codegen(ast_loop *self, ast_function *func, bool lvalue, ir_value func->continueblock = bbody; /* generate */ - cgen = self->body->expression.codegen; - if (!(*cgen)((ast_expression*)(self->body), func, false, &dummy)) - return false; + if (self->body) { + cgen = self->body->expression.codegen; + if (!(*cgen)((ast_expression*)(self->body), func, false, &dummy)) + return false; + } end_bbody = func->curblock; func->breakblock = old_bbreak; -- 2.39.2