From: Richard Guenther Date: Wed, 9 Nov 2011 08:32:26 +0000 (+0000) Subject: gimple-fold.c (canonicalize_constructor_val): Mark address-taken variables addressable. X-Git-Tag: releases/gcc-4.7.0~2324 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c5bdb340d6458e3df097f58d611e75f999e07653;p=thirdparty%2Fgcc.git gimple-fold.c (canonicalize_constructor_val): Mark address-taken variables addressable. 2011-11-09 Richard Guenther * gimple-fold.c (canonicalize_constructor_val): Mark address-taken variables addressable. From-SVN: r181197 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 12425f4a54c8..e2d23ea16c18 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-11-09 Richard Guenther + + * gimple-fold.c (canonicalize_constructor_val): Mark + address-taken variables addressable. + 2011-11-09 Ira Rosen PR tree-optimization/51015 diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index 08b7ccc83dbd..0da5eef18a2d 100644 --- a/gcc/gimple-fold.c +++ b/gcc/gimple-fold.c @@ -137,9 +137,12 @@ canonicalize_constructor_val (tree cval) || TREE_CODE (base) == FUNCTION_DECL) && !can_refer_decl_in_current_unit_p (base)) return NULL_TREE; - if (cfun && gimple_referenced_vars (cfun) - && base && TREE_CODE (base) == VAR_DECL) - add_referenced_var (base); + if (base && TREE_CODE (base) == VAR_DECL) + { + TREE_ADDRESSABLE (base) = 1; + if (cfun && gimple_referenced_vars (cfun)) + add_referenced_var (base); + } /* Fixup types in global initializers. */ if (TREE_TYPE (TREE_TYPE (cval)) != TREE_TYPE (TREE_OPERAND (cval, 0))) cval = build_fold_addr_expr (TREE_OPERAND (cval, 0));