Make for init; ; {} an error without an explicit cond or post

This commit is contained in:
gingerBill
2023-08-08 15:07:00 +01:00
parent cd74cdfdaf
commit 2181e0fc27
2 changed files with 10 additions and 3 deletions

View File

@@ -4339,6 +4339,13 @@ gb_internal Ast *parse_for_stmt(AstFile *f) {
}
cond = convert_stmt_to_expr(f, cond, str_lit("boolean expression"));
if (init != nullptr &&
cond == nullptr &&
post == nullptr) {
syntax_error(init, "'for init; ; {' without an explicit condition nor post statement is not allowed, please prefer something like 'for init; true; /**/{'");
}
return ast_for_stmt(f, token, init, cond, post, body);
}