aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2009-06-03 14:33:31 +0000
committerAndrey Belevantsev <abel@gcc.gnu.org>2009-06-03 18:33:31 +0400
commit6f11d6900d932c1e64e77f84d98b954ed6aba798 (patch)
tree3e3faaed1f68710749fc269296631322d8e896f0
parent889614719946a14fe16cb371337bea925680629b (diff)
downloadgcc-6f11d6900d932c1e64e77f84d98b954ed6aba798.zip
gcc-6f11d6900d932c1e64e77f84d98b954ed6aba798.tar.gz
gcc-6f11d6900d932c1e64e77f84d98b954ed6aba798.tar.bz2
cfgexpand.c (discover_nonconstant_array_refs_r): Make only non-BLKmode arrays addressable.
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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/cfgexpand.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a68abcb..dd1816e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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 ...
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 31d346e..939aa58 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -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;
}