diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e6816e58628..c1287513256 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-11-08 Richard Guenther + + * gimple-fold.c (canonicalize_constructor_val): Make sure + we have referenced vars setup before adding to them. + 2011-11-07 Richard Henderson Aldy Hernandez Andrew MacLeod diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index 53bfb9641f8..08b7ccc83db 100644 --- a/gcc/gimple-fold.c +++ b/gcc/gimple-fold.c @@ -137,7 +137,8 @@ canonicalize_constructor_val (tree cval) || TREE_CODE (base) == FUNCTION_DECL) && !can_refer_decl_in_current_unit_p (base)) return NULL_TREE; - if (cfun && base && TREE_CODE (base) == VAR_DECL) + if (cfun && gimple_referenced_vars (cfun) + && base && TREE_CODE (base) == VAR_DECL) add_referenced_var (base); /* Fixup types in global initializers. */ if (TREE_TYPE (TREE_TYPE (cval)) != TREE_TYPE (TREE_OPERAND (cval, 0)))