From 1e748a2b15347a0e5c9fd525218233abd773b46e Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Thu, 1 Jul 2004 19:45:28 +0000 Subject: [PATCH] * gimplify.c (gimplify_one_sizepos): Don't do anything if any VAR_DECL. From-SVN: r83998 --- gcc/ChangeLog | 2 ++ gcc/gimplify.c | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1850bc844d0..2ac7f335f47 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,7 @@ 2004-07-01 Richard Kenner + * gimplify.c (gimplify_one_sizepos): Don't do anything if any VAR_DECL. + * tree-pretty-print.c (dump_generic_node, case ARRAY_REF): Use access functions for lower bound and element size and only output if lower bound nonzero or element size not same as that of type. diff --git a/gcc/gimplify.c b/gcc/gimplify.c index e8fdbe9001f..ed1af19a344 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -4069,8 +4069,12 @@ void gimplify_one_sizepos (tree *expr_p, tree *stmt_p) { /* We don't do anything if the value isn't there, is constant, or contains - A PLACEHOLDER_EXPR. */ + A PLACEHOLDER_EXPR. We also don't want to do anything if it's already + a VAR_DECL. If it's a VAR_DECL from another function, the gimplfier + will want to replace it with a new variable, but that will cause problems + if this type is from outside the function. It's OK to have that here. */ if (*expr_p == NULL_TREE || TREE_CONSTANT (*expr_p) + || TREE_CODE (*expr_p) == VAR_DECL || CONTAINS_PLACEHOLDER_P (*expr_p)) return; -- 2.30.2