aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vrp.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-08-22 11:01:58 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-08-22 11:01:58 +0000
commitacc2580750f930440cabe85650df8a2f20ff520d (patch)
tree87fb853e26710c2432d55e0a90685db4cd815017 /gcc/tree-vrp.c
parent66c4f4d8c4399c499f1af5f550bf28878a8d69db (diff)
downloadgcc-acc2580750f930440cabe85650df8a2f20ff520d.zip
gcc-acc2580750f930440cabe85650df8a2f20ff520d.tar.gz
gcc-acc2580750f930440cabe85650df8a2f20ff520d.tar.bz2
re PR tree-optimization/86988 (ICE: tree check: expected integer_cst, have var_decl in get_len, at tree.h:5563)
2018-08-22 Richard Biener <rguenther@suse.de> PR tree-optimization/86988 * tree-vrp.c (vrp_prop::check_mem_ref): Bail out on VLAs. * g++.dg/pr86988.C: New testcase. From-SVN: r263762
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r--gcc/tree-vrp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index 24e089b..ead19f1 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -4581,6 +4581,7 @@ vrp_prop::check_mem_ref (location_t location, tree ref,
tree reftype = TREE_TYPE (arg);
if (POINTER_TYPE_P (reftype)
|| !COMPLETE_TYPE_P (reftype)
+ || TREE_CODE (TYPE_SIZE_UNIT (reftype)) != INTEGER_CST
|| RECORD_OR_UNION_TYPE_P (reftype))
return;