diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-22 18:51:24 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-22 18:51:24 +0000 |
commit | bc97b18f58bcfb95ae1f0bd395b95b55efec1c05 (patch) | |
tree | 0cb8336d9cec3f258c1db3f86494f5469b7908b8 /gcc/function.c | |
parent | dcce4b90c2469031bd32e8f050a33ec07b7e8f9d (diff) | |
download | gcc-bc97b18f58bcfb95ae1f0bd395b95b55efec1c05.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92495 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c index a7dc2236bf6..4f1af4f331d 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; |