From 6b2753683815f45f00c27116093b94d6f1c9ed60 Mon Sep 17 00:00:00 2001 From: rth Date: Sun, 19 Dec 2004 04:42:14 +0000 Subject: PR middle-end/16417 * c-decl.c (store_parm_decls): Clarify get_pending_sizes insertion comment. * c-objc-common.c (c_cannot_inline_tree_fn): Remove pending sizes checks. * c-tree.h (struct lang_decl): Remove pending_sizes. * function.c: Include tree-gimple.h (assign_parm_setup_reg): Remove callee-copies code. (gimplify_parm_type, gimplify_parameters): New functions. (expand_pending_sizes): Remove. (expand_function_start): Don't call it. * gimplify.c (gimplify_expr): Examine DECL_VALUE_EXPR for PARM_DECL. (gimplify_body): Add do_parms argument. Use gimplify_parameters. (gimplify_function_tree): Setup cfun. Update gimplify_body call. * tree-gimple.h (gimplify_body): Update decl. * tree-inline.c (initialize_inlined_parameters): Update gimplify_body call. * tree.h (gimplify_parameters): Declare. * Makefile.in (function.o): Depend on TREE_GIMPLE_H. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92373 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/c-decl.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gcc/c-decl.c') diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 26caa2c47b3..e6b4cba7912 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -6235,8 +6235,11 @@ store_parm_decls (void) DECL_SAVED_TREE (fndecl) = push_stmt_list (); /* ??? Insert the contents of the pending sizes list into the function - to be evaluated. This just changes mis-behavior until assign_parms - phase ordering problems are resolved. */ + to be evaluated. The only reason left to have this is + void foo(int n, int array[n++]) + because we throw away the array type in favor of a pointer type, and + thus won't naturally see the SAVE_EXPR containing the increment. All + other pending sizes would be handled by gimplify_parameters. */ { tree t; for (t = nreverse (get_pending_sizes ()); t ; t = TREE_CHAIN (t)) -- cgit v1.2.1