summaryrefslogtreecommitdiff
path: root/gcc/c-parser.c
diff options
context:
space:
mode:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2009-02-04 00:59:21 +0000
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2009-02-04 00:59:21 +0000
commit51428eb144388fc3122aeff8b5f3b5f8be3a5a57 (patch)
treee3c8d3d5d76924587be86ae6609bd1a94db4b04f /gcc/c-parser.c
parent51bbf09d0e924bb9c426ed5750b828fc36c04eea (diff)
downloadgcc-51428eb144388fc3122aeff8b5f3b5f8be3a5a57.tar.gz
PR c/29129
* c-decl.c (grokdeclarator): Mark [*] arrays in field declarators as having variable size. Do not give an error for unnamed parameters with [*] declarators. Give a warning for type names with [*] declarators and mark them as variable size. * c-parser.c (c_parser_sizeof_expression): Do not give an error for sizeof applied to [*] type names. testsuite: * c90-arraydecl-1.c: Do not expect error for [*] in abstract declarator. * vla-6.c: Likewise. Expect warning not error for [*] lexically inside function prototype but not part of parameter declarator. * vla-11.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143918 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-parser.c')
-rw-r--r--gcc/c-parser.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/gcc/c-parser.c b/gcc/c-parser.c
index 88447692d9a..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