aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-strlen.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-10-04 17:25:53 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2011-10-04 17:25:53 +0200
commit80642376c0afb85fb894cc89d76ba8cfd5025069 (patch)
treef072adab37a8ccac026fd1df0c6cbd04caeea5db /gcc/tree-ssa-strlen.c
parentc17d253c7ac235322caca8248f34a9e83919714d (diff)
downloadgcc-80642376c0afb85fb894cc89d76ba8cfd5025069.zip
gcc-80642376c0afb85fb894cc89d76ba8cfd5025069.tar.gz
gcc-80642376c0afb85fb894cc89d76ba8cfd5025069.tar.bz2
re PR middle-end/50604 (verify_gimple failed: type mismatch in binary expression)
PR tree-optimization/50604 * builtins.c (fold_builtin_strcpy, fold_builtin_stpcpy, fold_builtin_strncpy, fold_builtin_stxcpy_chk): Ensure last argument to memcpy has size_type_node type instead of ssizetype. * tree-ssa-strlen.c (handle_builtin_memcpy): Use size_type_node instead of TREE_TYPE (len) as type for newlen. * gcc.dg/pr50604.c: New test. From-SVN: r179508
Diffstat (limited to 'gcc/tree-ssa-strlen.c')
-rw-r--r--gcc/tree-ssa-strlen.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-ssa-strlen.c b/gcc/tree-ssa-strlen.c
index 71cefaa..b2ee2f9 100644
--- a/gcc/tree-ssa-strlen.c
+++ b/gcc/tree-ssa-strlen.c
@@ -1297,7 +1297,7 @@ handle_builtin_memcpy (enum built_in_function bcode, gimple_stmt_iterator *gsi)
if (si != NULL)
newlen = si->length;
else
- newlen = build_int_cst (TREE_TYPE (len), ~idx);
+ newlen = build_int_cst (size_type_node, ~idx);
oldlen = NULL_TREE;
if (olddsi != NULL)
{