From: Christoph Mallon Date: Thu, 22 Apr 2010 16:19:12 +0000 (+0000) Subject: Fix C/should_fail/array0.c: static is allowed only once in an array declarator. X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=d0973676463bcc7324151954568a0cdc9de9077b;p=cparser Fix C/should_fail/array0.c: static is allowed only once in an array declarator. [r27431] --- 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;