diff options
author | Joseph Myers <joseph@codesourcery.com> | 2011-05-05 11:20:31 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2011-05-05 11:20:31 +0100 |
commit | a04a722b88baf5568f3ba02a07189cbd65b0dc22 (patch) | |
tree | b17a45e382a8a322480a5f68a04bd1948915571e /gcc/c-tree.h | |
parent | c92a6f97df83d8ee957dbfd7871a0ad517dcd699 (diff) | |
download | gcc-a04a722b88baf5568f3ba02a07189cbd65b0dc22.zip gcc-a04a722b88baf5568f3ba02a07189cbd65b0dc22.tar.gz gcc-a04a722b88baf5568f3ba02a07189cbd65b0dc22.tar.bz2 |
c-decl.c (finish_decl): Don't call get_pending_sizes.
* c-decl.c (finish_decl): Don't call get_pending_sizes.
(grokparm): Add parameter expr. Pass it to grokdeclarator.
(push_parm_decl): Add parameter expr. Pass it to grokdeclarator.
(c_variable_size): Remove.
(grokdeclarator): Use save_expr instead of c_variable_size. Don't
call put_pending_sizes.
(get_parm_info): Add parameter expr. Use it to set
arg_info->pending_sizes.
(store_parm_decls): Use arg_info->pending_sizes instead or calling
get_pending_sizes.
* c-parser.c (c_parser_parms_declarator): Update call to
c_parser_parms_list_declarator.
(c_parser_parms_list_declarator): Take parameter expr. Update
call to push_parm_decl. Update recursive call. Don't call
get_pending_sizes. Update calls to get_parm_info.
(c_parser_objc_method_definition): Update calls to
c_parser_objc_method_decl and objc_start_method_definition.
(c_parser_objc_methodproto): Update call to
c_parser_objc_method_decl.
(c_parser_objc_method_decl): Add parameter expr. Update call to
grokparm.
(c_parser_objc_try_catch_finally_statement): Update call to
grokparm.
* c-tree.h (struct c_arg_info.pending_sizes): Change to a tree.
(get_parm_info, grokparm, push_parm_decl): Update prototypes.
c-family:
* c-objc.h (objc_start_method_definition): Update prototype.
* stub-objc.c (objc_start_method_definition): Add extra parameter.
cp:
* parser.c (cp_parser_objc_method_definition_list): Update call to
objc_start_method_definition.
objc:
* objc-act.c (objc_start_method_definition): Add parameter expr.
Update call to start_method_def.
(objc_generate_cxx_ctor_or_dtor, objc_synthesize_getter,
objc_synthesize_setter) Update calls to
objc_start_method_definition.
(objc_get_parm_info): Add parameter expr. Update call to
get_parm_info.
(start_method_def): Add parameter expr. Update call to
objc_get_parm_info.
* objc-gnu-runtime-abi-01.c (build_module_initializer_routine):
Update call to objc_get_parm_info.
* objc-runtime-shared-support.h (objc_get_parm_info): Add extra
parameter.
From-SVN: r173422
Diffstat (limited to 'gcc/c-tree.h')
-rw-r--r-- | gcc/c-tree.h | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/gcc/c-tree.h b/gcc/c-tree.h index 8e88362..97a4e55 100644 --- a/gcc/c-tree.h +++ b/gcc/c-tree.h @@ -1,6 +1,6 @@ /* Definitions for C parsing and type checking. Copyright (C) 1987, 1993, 1994, 1995, 1997, 1998, - 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010 + 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of GCC. @@ -315,11 +315,12 @@ struct c_arg_info { /* A list of non-parameter decls (notably enumeration constants) defined with the parameters. */ tree others; - /* A VEC of VLA sizes from the parameters. In a function - definition, these are used to ensure that side-effects in sizes - of arrays converted to pointers (such as a parameter int i[n++]) - take place; otherwise, they are ignored. */ - VEC(tree,gc) *pending_sizes; + /* A compound expression of VLA sizes from the parameters, or NULL. + In a function definition, these are used to ensure that + side-effects in sizes of arrays converted to pointers (such as a + parameter int i[n++]) take place; otherwise, they are + ignored. */ + tree pending_sizes; /* True when these arguments had [*]. */ BOOL_BITFIELD had_vla_unspec : 1; }; @@ -445,17 +446,17 @@ extern void finish_function (void); extern tree finish_struct (location_t, tree, tree, tree, struct c_struct_parse_info *); extern struct c_arg_info *build_arg_info (void); -extern struct c_arg_info *get_parm_info (bool); +extern struct c_arg_info *get_parm_info (bool, tree); extern tree grokfield (location_t, struct c_declarator *, struct c_declspecs *, tree, tree *); extern tree groktypename (struct c_type_name *, tree *, bool *); -extern tree grokparm (const struct c_parm *); +extern tree grokparm (const struct c_parm *, tree *); extern tree implicitly_declare (location_t, tree); extern void keep_next_level (void); extern void pending_xref_error (void); extern void c_push_function_context (void); extern void c_pop_function_context (void); -extern void push_parm_decl (const struct c_parm *); +extern void push_parm_decl (const struct c_parm *, tree *); extern struct c_declarator *set_array_declarator_inner (struct c_declarator *, struct c_declarator *); extern tree c_builtin_function (tree); |