From 6f11d6900d932c1e64e77f84d98b954ed6aba798 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Wed, 3 Jun 2009 14:33:31 +0000 Subject: [PATCH] cfgexpand.c (discover_nonconstant_array_refs_r): Make only non-BLKmode arrays addressable. 2009-06-03 Richard Guenther Andrey Belevantsev * cfgexpand.c (discover_nonconstant_array_refs_r): Make only non-BLKmode arrays addressable. Co-Authored-By: Andrey Belevantsev From-SVN: r148130 --- gcc/ChangeLog | 6 ++++++ gcc/cfgexpand.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a68abcbfe54a..dd1816e315ce 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-06-03 Richard Guenther + Andrey Belevantsev + + * cfgexpand.c (discover_nonconstant_array_refs_r): Make only + non-BLKmode arrays addressable. + 2009-06-03 Maxim Kuvyrkov * config/m68k/linux.h (HAVE_GAS_BALIGN_AND_P2ALIGN): Move to ... diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index 31d346e6cb30..939aa58279d7 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; } -- 2.47.2