]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
cfgexpand.c (discover_nonconstant_array_refs_r): Make only non-BLKmode arrays address...
authorRichard Guenther <rguenther@suse.de>
Wed, 3 Jun 2009 14:33:31 +0000 (14:33 +0000)
committerAndrey Belevantsev <abel@gcc.gnu.org>
Wed, 3 Jun 2009 14:33:31 +0000 (18:33 +0400)
2009-06-03  Richard Guenther  <rguenther@suse.de>
            Andrey Belevantsev  <abel@ispras.ru>

        * cfgexpand.c (discover_nonconstant_array_refs_r): Make only
        non-BLKmode arrays addressable.

Co-Authored-By: Andrey Belevantsev <abel@ispras.ru>
From-SVN: r148130

gcc/ChangeLog
gcc/cfgexpand.c

index a68abcbfe54ac1848f62c587e2c9a6362bb245ec..dd1816e315ce2c4e44e31fb8baae8e20f36d5835 100644 (file)
@@ -1,3 +1,9 @@
+2009-06-03  Richard Guenther  <rguenther@suse.de>
+           Andrey Belevantsev  <abel@ispras.ru>
+
+       * cfgexpand.c (discover_nonconstant_array_refs_r): Make only 
+       non-BLKmode arrays addressable.
+
 2009-06-03  Maxim Kuvyrkov  <maxim@codesourcery.com>
 
        * config/m68k/linux.h (HAVE_GAS_BALIGN_AND_P2ALIGN): Move to ...
index 31d346e6cb30be6721d30dde3de144c3d827077d..939aa58279d78184008a671370b3479f8598ba46 100644 (file)
@@ -2321,7 +2321,8 @@ discover_nonconstant_array_refs_r (tree * tp, int *walk_subtrees,
       if (TREE_CODE (t) == ARRAY_REF || TREE_CODE (t) == ARRAY_RANGE_REF)
        {
          t = get_base_address (t);
-         if (t && DECL_P (t))
+         if (t && DECL_P (t)
+              && DECL_MODE (t) != BLKmode)
            TREE_ADDRESSABLE (t) = 1;
        }