aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-11-28 10:59:12 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-11-28 10:59:12 +0000
commit80e6a1edf9f81362dd40b062ebf81ae7592d19d9 (patch)
tree082401f4827be57a412ec872efdcbdc44c3d22cf /gcc/tree-ssa.c
parentdcc4956cab842cbf2aee1a84a9548696565f8a2d (diff)
downloadgcc-80e6a1edf9f81362dd40b062ebf81ae7592d19d9.zip
gcc-80e6a1edf9f81362dd40b062ebf81ae7592d19d9.tar.gz
gcc-80e6a1edf9f81362dd40b062ebf81ae7592d19d9.tar.bz2
re PR fortran/88229 (ICE tree check: expected integer_cst, have nop_expr in get_len, at tree.h:5608)
2018-11-28 Richard Biener <rguenther@suse.de> PR tree-optimization/88229 * tree-ssa.c (non_rewritable_mem_ref_base): Check DECL_SIZE_UNIT is an INTEGER_CST before accessing it so. From-SVN: r266550
Diffstat (limited to 'gcc/tree-ssa.c')
-rw-r--r--gcc/tree-ssa.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index bd8b91f..e3eb4b0 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -1446,6 +1446,7 @@ non_rewritable_mem_ref_base (tree ref)
return NULL_TREE;
/* For integral typed extracts we can use a BIT_FIELD_REF. */
if (DECL_SIZE (decl)
+ && TREE_CODE (DECL_SIZE_UNIT (decl)) == INTEGER_CST
&& (known_subrange_p
(mem_ref_offset (base),
wi::to_poly_offset (TYPE_SIZE_UNIT (TREE_TYPE (base))),