summaryrefslogtreecommitdiff
path: root/gcc/integrate.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2009-09-16 13:35:23 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2009-09-16 13:35:23 +0000
commit3b0a08ea44006b4456cf1972c17c105426f07999 (patch)
treeacd920f03875af25ce83628a925f24d939583130 /gcc/integrate.c
parentfdf162c46e3bea390fdf292eb414a1e24e339f7e (diff)
downloadgcc-3b0a08ea44006b4456cf1972c17c105426f07999.tar.gz
* integrate.c (set_block_abstract_flags): Call
set_decl_abstract_flags also on BLOCK_NONLOCALIZED_VARs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151753 138bc75d-0d04-0410-961f-82ee72b054a4
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 30ef854ffff..d92cec5f67e 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))