From d782b3d21d55a78fb538aa8b6421ae177235f037 Mon Sep 17 00:00:00 2001 From: Ginger Bill Date: Sat, 1 Jul 2017 11:53:01 +0100 Subject: Fix `do` on `for` loops --- src/parser.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/parser.cpp') diff --git a/src/parser.cpp b/src/parser.cpp index ae54b1dd6..45e733353 100644 --- a/src/parser.cpp +++ b/src/parser.cpp @@ -3971,7 +3971,8 @@ AstNode *parse_for_stmt(AstFile *f) { AstNode *body = NULL; bool is_range = false; - if (f->curr_token.kind != Token_OpenBrace) { + if (f->curr_token.kind != Token_OpenBrace && + f->curr_token.kind != Token_do) { isize prev_level = f->expr_level; f->expr_level = -1; if (f->curr_token.kind != Token_Semicolon) { @@ -3981,8 +3982,7 @@ AstNode *parse_for_stmt(AstFile *f) { } } - if (!is_range && (f->curr_token.kind == Token_Semicolon || - f->curr_token.kind == Token_do)) { + if (!is_range && f->curr_token.kind == Token_Semicolon) { next_token(f); init = cond; cond = NULL; -- cgit v1.2.3