Commit c5bdb340 by Richard Guenther Committed by Richard Biener

gimple-fold.c (canonicalize_constructor_val): Mark address-taken variables addressable.

2011-11-09  Richard Guenther  <rguenther@suse.de>

	* gimple-fold.c (canonicalize_constructor_val): Mark
	address-taken variables addressable.

From-SVN: r181197
parent 6c235090
2011-11-09 Richard Guenther <rguenther@suse.de>
* gimple-fold.c (canonicalize_constructor_val): Mark
address-taken variables addressable.
2011-11-09 Ira Rosen <ira.rosen@linaro.org>
PR tree-optimization/51015
......@@ -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));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment