diff options
author | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-05-25 11:12:47 +0000 |
---|---|---|
committer | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-05-25 11:12:47 +0000 |
commit | 1fd94215b4cd18a5c13eed63abee488ca672579b (patch) | |
tree | 0d9cee59da5c70c8d1b6baefbc0569ba13d97432 /gcc/c-tree.h | |
parent | 5de2a02a1e24d2ae08d9122ec2f1b1252cf0bc3e (diff) | |
download | gcc-1fd94215b4cd18a5c13eed63abee488ca672579b.tar.gz |
* 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
Diffstat (limited to 'gcc/c-tree.h')
-rw-r--r-- | gcc/c-tree.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/c-tree.h b/gcc/c-tree.h index a33d64d7d27..8264ebd0690 100644 --- a/gcc/c-tree.h +++ b/gcc/c-tree.h @@ -153,6 +153,7 @@ extern int yyparse_1 PARAMS ((void)); extern void gen_aux_info_record PARAMS ((tree, int, int, int)); /* in c-decl.c */ +extern tree build_array_declarator PARAMS ((tree, tree, int, int)); extern tree build_enumerator PARAMS ((tree, tree)); #define c_build_type_variant(TYPE, CONST_P, VOLATILE_P) \ @@ -197,6 +198,7 @@ extern void push_label_level PARAMS ((void)); extern void push_parm_decl PARAMS ((tree)); extern tree pushdecl_top_level PARAMS ((tree)); extern void pushtag PARAMS ((tree, tree)); +extern tree set_array_declarator_type PARAMS ((tree, tree, int)); extern tree shadow_label PARAMS ((tree)); extern void shadow_record_fields PARAMS ((tree)); extern void shadow_tag PARAMS ((tree)); |