aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-07-30 11:01:22 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-07-30 11:01:22 +0000
commit1f60f74e3fb70b2e46935120ba577d19b2fee7e7 (patch)
tree23799704054afb04a1603f3c67ef450a17122033 /gcc
parent02c3d2ec47d2d4d59ccc10db00bb11e9f6efa93d (diff)
downloadgcc-1f60f74e3fb70b2e46935120ba577d19b2fee7e7.zip
gcc-1f60f74e3fb70b2e46935120ba577d19b2fee7e7.tar.gz
gcc-1f60f74e3fb70b2e46935120ba577d19b2fee7e7.tar.bz2
re PR lto/45141 (lto1 ICEs when linking cns_solve again)
2010-07-30 Richard Guenther <rguenther@suse.de> PR middle-end/45141 * expr.c (expand_expr_real_1): Check for not handled base address. From-SVN: r162709
Diffstat (limited to 'gcc')
-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))))