aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@gcc.gnu.org>2004-12-22 10:51:24 -0800
committerRichard Henderson <rth@gcc.gnu.org>2004-12-22 10:51:24 -0800
commitad50bc8d803c56fc9ec9a81b70877e74d61c7c14 (patch)
tree0cb8336d9cec3f258c1db3f86494f5469b7908b8 /gcc/function.c
parentba9ce455bb060016e01dfd1aecf97cbe51623ee9 (diff)
downloadgcc-ad50bc8d803c56fc9ec9a81b70877e74d61c7c14.zip
gcc-ad50bc8d803c56fc9ec9a81b70877e74d61c7c14.tar.gz
gcc-ad50bc8d803c56fc9ec9a81b70877e74d61c7c14.tar.bz2
[multiple changes]
2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED. 2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * tree.h (TYPE_SIZES_GIMPLIFIED): New. * function.c (gimplify_parm_type): Don't gimplify type if already done. * gimplify.c (gimplify_decl_expr): Likewise. (gimplify_type_sizes): Set TYPE_SIZES_GIMPLIFIED. Examine nested array types. 2004-12-22 Richard Henderson <rth@redhat.com> * gimplify.c (eval_save_expr): Remove. (gimplify_one_sizepos): Unshare expr before gimplifying. * stor-layout.c (variable_size): Revert 2004-12-19 change. (layout_decl): Revert 2004-12-18 change. (layout_type): Revert 2004-12-21 change. From-SVN: r92495
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c
index a7dc223..4f1af4f 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -3172,7 +3172,8 @@ gimplify_parm_type (tree *tp, int *walk_subtrees, void *data)
{
if (POINTER_TYPE_P (t))
*walk_subtrees = 1;
- else if (TYPE_SIZE (t) && !TREE_CONSTANT (TYPE_SIZE (t)))
+ else if (TYPE_SIZE (t) && !TREE_CONSTANT (TYPE_SIZE (t))
+ && !TYPE_SIZES_GIMPLIFIED (t))
{
gimplify_type_sizes (t, (tree *) data);
*walk_subtrees = 1;