projects
/
cparser
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
parser: Parse and reject GCC range initializers "[0 ... 9]".
[cparser]
/
parser.c
diff --git
a/parser.c
b/parser.c
index
a0df559
..
5fec2af
100644
(file)
--- a/
parser.c
+++ b/
parser.c
@@
-1535,7
+1535,13
@@
static designator_t *parse_designation(void)
designator->pos = *HERE;
eat('[');
add_anchor_token(']');
designator->pos = *HERE;
eat('[');
add_anchor_token(']');
+ add_anchor_token(T_DOTDOTDOT);
designator->array_index = parse_constant_expression();
designator->array_index = parse_constant_expression();
+ if (accept(T_DOTDOTDOT)) {
+ designator->range_last = parse_constant_expression();
+ errorf(&designator->pos, "range initializer not supported");
+ }
+ rem_anchor_token(T_DOTDOTDOT);
rem_anchor_token(']');
expect(']');
break;
rem_anchor_token(']');
expect(']');
break;