aboutsummaryrefslogtreecommitdiff
path: root/gcc/integrate.c
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 /gcc/integrate.c
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
Diffstat (limited to 'gcc/integrate.c')
-rw-r--r--gcc/integrate.c9
1 files changed, 9 insertions, 0 deletions
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))