From: Steve Ellcey Date: Thu, 22 Jan 2009 17:02:21 +0000 (+0000) Subject: re PR middle-end/38615 (invalid promotion to static from auto) X-Git-Tag: releases/gcc-4.4.0~772 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d0ea0759a0acb1b9c3dad3ef001fd4730881bb47;p=thirdparty%2Fgcc.git re PR middle-end/38615 (invalid promotion to static from auto) PR middle-end/38615 * gimplify.c (gimplify_init_constructor): Fix promotion of const variables to static. * doc/invoke.texi (-fmerge-all-constants): Update description. From-SVN: r143570 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8b921a214240..df876e9bb0d3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-01-22 Steve Ellcey + + PR middle-end/38615 + * gimplify.c (gimplify_init_constructor): Fix promotion of const + variables to static. + * doc/invoke.texi (-fmerge-all-constants): Update description. + 2009-01-22 Uros Bizjak PR target/38931 diff --git a/gcc/gimplify.c b/gcc/gimplify.c index 5aef12875aa7..be0c1ac00e55 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -3526,7 +3526,8 @@ gimplify_init_constructor (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p, if (valid_const_initializer && num_nonzero_elements > 1 && TREE_READONLY (object) - && TREE_CODE (object) == VAR_DECL) + && TREE_CODE (object) == VAR_DECL + && (flag_merge_constants >= 2 || !TREE_ADDRESSABLE (object))) { if (notify_temp_creation) return GS_ERROR;