From e078347c520eccd957b2b45ce848e51e65dc55d5 Mon Sep 17 00:00:00 2001 From: Luc Van Oostenryck Date: Thu, 23 Jul 2020 23:07:26 +0200 Subject: do not accept comma expressions in array declarator Comma expressions are not allowed for the size in an array declarator. So, change the parsing of these expressions to only accept assignment-expressions. Signed-off-by: Luc Van Oostenryck --- parse.c | 2 +- validation/abstract-array-declarator.c | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/parse.c b/parse.c index cc5dbd52..182f4ad3 100644 --- a/parse.c +++ b/parse.c @@ -1743,7 +1743,7 @@ static struct token *abstract_array_declarator(struct token *token, struct symbo if (match_idents(token, &restrict_ident, &__restrict_ident, &__restrict___ident, NULL)) token = abstract_array_static_declarator(token->next, &has_static); - token = parse_expression(token, &expr); + token = assignment_expression(token, &expr); sym->array_size = expr; return token; } diff --git a/validation/abstract-array-declarator.c b/validation/abstract-array-declarator.c index f230e586..ca182373 100644 --- a/validation/abstract-array-declarator.c +++ b/validation/abstract-array-declarator.c @@ -3,7 +3,6 @@ void c99(int a[(1, 2)]); /* * check-name: abstract-array-declarator - * check-known-to-fail * * check-error-start abstract-array-declarator.c:1:17: error: Expected ] in abstract_array_declarator -- cgit 1.2.3-korg