aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/expr.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 07da5fd..416d049 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2010-07-30 Richard Guenther <rguenther@suse.de>
+ PR middle-end/45141
+ * expr.c (expand_expr_real_1): Check for not handled base address.
+
+2010-07-30 Richard Guenther <rguenther@suse.de>
+
* ipa-prop.c (ipa_modify_formal_parameters): Use
build_distinct_type_copy.
diff --git a/gcc/expr.c b/gcc/expr.c
index a27dfd8..f0a3b9c 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -8664,7 +8664,8 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
set_mem_attributes (temp, TMR_ORIGINAL (exp), 0);
set_mem_addr_space (temp, as);
base = get_base_address (TMR_ORIGINAL (exp));
- if (INDIRECT_REF_P (base)
+ if (base
+ && INDIRECT_REF_P (base)
&& TMR_BASE (exp)
&& TREE_CODE (TMR_BASE (exp)) == SSA_NAME
&& POINTER_TYPE_P (TREE_TYPE (TMR_BASE (exp))))