OSDN Git Service

* c-parse.in (array_declarator): New. Handle C99 constructs.
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 25 May 2001 11:12:47 +0000 (11:12 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 25 May 2001 11:12:47 +0000 (11:12 +0000)
commit1fd94215b4cd18a5c13eed63abee488ca672579b
tree0d9cee59da5c70c8d1b6baefbc0569ba13d97432
parent5de2a02a1e24d2ae08d9122ec2f1b1252cf0bc3e
* c-parse.in (array_declarator): New.  Handle C99 constructs.
Don't restrict [*] declarators to C only.
(after_type_declarator, parm_declarator_starttypename,
parm_declarator_nostarttypename, notype_declarator,
direct_absdcl1): Use it.
* c-decl.c (build_array_declarator, set_array_declarator_type):
New functions.  Warn that [*] isn't properly implemented; pedwarn
for [*] outside C99 mode if pedantic rather than giving a hard
error.
(grokdeclarator): Handle static and type qualifiers in parameter
array declarators.
* c-tree.h (build_array_declarator, set_array_declarator_type):
Declare.
* extend.texi (Attribute Syntax): Document attributes in parameter
array declarators.

testsuite:
* gcc.dg/c90-arraydecl-1.c, gcc.dg/c99-arraydecl-1.c: New tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42574 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/c-decl.c
gcc/c-parse.in
gcc/c-tree.h
gcc/extend.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/c90-arraydecl-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/c99-arraydecl-1.c [new file with mode: 0644]