integrate.c (set_block_abstract_flags): Call set_decl_abstract_flags also on BLOCK_NO...
authorJakub Jelinek <jakub@redhat.com>
Wed, 16 Sep 2009 13:35:23 +0000 (15:35 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 16 Sep 2009 13:35:23 +0000 (15:35 +0200)
* integrate.c (set_block_abstract_flags): Call
set_decl_abstract_flags also on BLOCK_NONLOCALIZED_VARs.

From-SVN: r151753

gcc/ChangeLog
gcc/integrate.c

index 00f964ee401cdac52d59f692999d3d5373d220f3..c8d88460c60f6d570adcfab9027c0371e57aabed 100644 (file)
@@ -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
index 30ef854ffffb61e583736446bcdbdf092ef55921..d92cec5f67e4634b89f047375136b4ab9bf47aea 100644 (file)
@@ -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))