diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-02-05 08:44:42 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-02-05 08:44:42 +0000 |
commit | 521c00a042cbcd8ea9772e9c1850fdd76dd77457 (patch) | |
tree | 90dcda4efd7650714636b9765bbc578dbffd83ba /gcc/c-parser.c | |
parent | a3237183ed12392595cd42b77db6dd66565c2fd1 (diff) | |
download | gcc-521c00a042cbcd8ea9772e9c1850fdd76dd77457.tar.gz |
2009-02-05 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r143951
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@143959 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-parser.c')
-rw-r--r-- | gcc/c-parser.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/gcc/c-parser.c b/gcc/c-parser.c index 5cb1982a544..199a5a72f3f 100644 --- a/gcc/c-parser.c +++ b/gcc/c-parser.c @@ -4949,13 +4949,6 @@ c_parser_sizeof_expression (c_parser *parser) /* sizeof ( type-name ). */ skip_evaluation--; in_sizeof--; - if (type_name->declarator->kind == cdk_array - && type_name->declarator->u.array.vla_unspec_p) - { - /* C99 6.7.5.2p4 */ - error_at (expr_loc, - "%<[*]%> not allowed in other than a declaration"); - } return c_expr_sizeof_type (type_name); } else @@ -5089,6 +5082,17 @@ c_parser_postfix_expression (c_parser *parser) switch (c_parser_peek_token (parser)->type) { case CPP_NUMBER: + expr.value = c_parser_peek_token (parser)->value; + expr.original_code = ERROR_MARK; + loc = c_parser_peek_token (parser)->location; + c_parser_consume_token (parser); + if (TREE_CODE (expr.value) == FIXED_CST + && !targetm.fixed_point_supported_p ()) + { + error_at (loc, "fixed-point types not supported for this target"); + expr.value = error_mark_node; + } + break; case CPP_CHAR: case CPP_CHAR16: case CPP_CHAR32: |