diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-10-04 17:25:53 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-10-04 17:25:53 +0200 |
commit | 80642376c0afb85fb894cc89d76ba8cfd5025069 (patch) | |
tree | f072adab37a8ccac026fd1df0c6cbd04caeea5db /gcc/tree-ssa-strlen.c | |
parent | c17d253c7ac235322caca8248f34a9e83919714d (diff) | |
download | gcc-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.c | 2 |
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) { |