aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
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/expr.c
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/expr.c')
-rw-r--r--gcc/expr.c3
1 files changed, 2 insertions, 1 deletions
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))))