diff options
author | Richard Guenther <rguenther@suse.de> | 2009-06-03 14:33:31 +0000 |
---|---|---|
committer | Andrey Belevantsev <abel@gcc.gnu.org> | 2009-06-03 18:33:31 +0400 |
commit | 6f11d6900d932c1e64e77f84d98b954ed6aba798 (patch) | |
tree | 3e3faaed1f68710749fc269296631322d8e896f0 | |
parent | 889614719946a14fe16cb371337bea925680629b (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cfgexpand.c | 3 |
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; } |