From d0973676463bcc7324151954568a0cdc9de9077b Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Thu, 22 Apr 2010 16:19:12 +0000 Subject: [PATCH] Fix C/should_fail/array0.c: static is allowed only once in an array declarator. [r27431] --- parser.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/parser.c b/parser.c index 657893a..353c70d 100644 --- a/parser.c +++ b/parser.c @@ -3528,13 +3528,15 @@ static construct_type_t *parse_array_declarator(void) memset(array, 0, sizeof(*array)); cons->kind = CONSTRUCT_ARRAY; - if (next_if(T_static)) - array->is_static = true; + bool is_static = next_if(T_static); type_qualifiers_t type_qualifiers = parse_type_qualifiers(); - if (type_qualifiers != 0 && next_if(T_static)) - array->is_static = true; + + if (!is_static) + is_static = next_if(T_static); + array->type_qualifiers = type_qualifiers; + array->is_static = is_static; if (token.type == '*' && look_ahead(1)->type == ']') { array->is_variable = true; -- 2.20.1