diff options
author | Steve Ellcey <sje@cup.hp.com> | 2009-01-22 17:02:21 +0000 |
---|---|---|
committer | Steve Ellcey <sje@gcc.gnu.org> | 2009-01-22 17:02:21 +0000 |
commit | d0ea0759a0acb1b9c3dad3ef001fd4730881bb47 (patch) | |
tree | 9098c90f1882c810320281aa9900d758862a7b53 /gcc | |
parent | 87673f8408b5214dfc58cb4f7255fea96097e5db (diff) | |
download | gcc-d0ea0759a0acb1b9c3dad3ef001fd4730881bb47.zip gcc-d0ea0759a0acb1b9c3dad3ef001fd4730881bb47.tar.gz gcc-d0ea0759a0acb1b9c3dad3ef001fd4730881bb47.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/gimplify.c | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8b921a2..df876e9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-01-22 Steve Ellcey <sje@cup.hp.com> + + 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 <ubizjak@gmail.com> PR target/38931 diff --git a/gcc/gimplify.c b/gcc/gimplify.c index 5aef128..be0c1ac 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; |