aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-09-16 15:35:23 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2009-09-16 15:35:23 +0200
commite038c37bb97c516378e39af6b04625dd6751ec00 (patch)
treeacd920f03875af25ce83628a925f24d939583130
parent4928d38f15be8e82aa458635126c490cb8d8e876 (diff)
downloadgcc-e038c37bb97c516378e39af6b04625dd6751ec00.zip
gcc-e038c37bb97c516378e39af6b04625dd6751ec00.tar.gz
gcc-e038c37bb97c516378e39af6b04625dd6751ec00.tar.bz2
integrate.c (set_block_abstract_flags): Call set_decl_abstract_flags also on BLOCK_NONLOCALIZED_VARs.
* integrate.c (set_block_abstract_flags): Call set_decl_abstract_flags also on BLOCK_NONLOCALIZED_VARs. From-SVN: r151753
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/integrate.c9
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 00f964e..c8d8846 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-09-16 Jakub Jelinek <jakub@redhat.com>
+
+ * integrate.c (set_block_abstract_flags): Call
+ set_decl_abstract_flags also on BLOCK_NONLOCALIZED_VARs.
+
2009-09-16 Richard Guenther <rguenther@suse.de>
PR middle-end/34011
diff --git a/gcc/integrate.c b/gcc/integrate.c
index 30ef854..d92cec5 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -167,6 +167,7 @@ set_block_abstract_flags (tree stmt, int setting)
{
tree local_decl;
tree subblock;
+ unsigned int i;
BLOCK_ABSTRACT (stmt) = setting;
@@ -175,6 +176,14 @@ set_block_abstract_flags (tree stmt, int setting)
local_decl = TREE_CHAIN (local_decl))
set_decl_abstract_flags (local_decl, setting);
+ for (i = 0; i < BLOCK_NUM_NONLOCALIZED_VARS (stmt); i++)
+ {
+ local_decl = BLOCK_NONLOCALIZED_VAR (stmt, i);
+ if ((TREE_CODE (local_decl) == VAR_DECL && !TREE_STATIC (local_decl))
+ || TREE_CODE (local_decl) == PARM_DECL)
+ set_decl_abstract_flags (local_decl, setting);
+ }
+
for (subblock = BLOCK_SUBBLOCKS (stmt);
subblock != NULL_TREE;
subblock = BLOCK_CHAIN (subblock))