diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/expr.c | 3 |
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. @@ -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)))) |