aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-strlen.c
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2012-05-15 09:31:45 +0000
committerTristan Gingold <gingold@gcc.gnu.org>2012-05-15 09:31:45 +0000
commit33960e2e8ad75ac54052c24ce8ba8dbd447ef300 (patch)
tree412a1ae05c2b1796ef59f0e40d5329dfd603ae70 /gcc/tree-ssa-strlen.c
parente7834f95b1c3d9a869ed127219ee8e3fd3e219f3 (diff)
downloadgcc-33960e2e8ad75ac54052c24ce8ba8dbd447ef300.zip
gcc-33960e2e8ad75ac54052c24ce8ba8dbd447ef300.tar.gz
gcc-33960e2e8ad75ac54052c24ce8ba8dbd447ef300.tar.bz2
tree-ssa-strlen.c (get_string_length): Convert lhs if needed.
2012-05-15 Tristan Gingold <gingold@adacore.com> * tree-ssa-strlen.c (get_string_length): Convert lhs if needed. From-SVN: r187507
Diffstat (limited to 'gcc/tree-ssa-strlen.c')
-rw-r--r--gcc/tree-ssa-strlen.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/tree-ssa-strlen.c b/gcc/tree-ssa-strlen.c
index a37633a..05fd10d 100644
--- a/gcc/tree-ssa-strlen.c
+++ b/gcc/tree-ssa-strlen.c
@@ -427,6 +427,12 @@ get_string_length (strinfo si)
NULL);
add_referenced_var (lhs_var);
tem = gimple_call_arg (stmt, 0);
+ if (!ptrofftype_p (TREE_TYPE (lhs)))
+ {
+ lhs = convert_to_ptrofftype (lhs);
+ lhs = force_gimple_operand_gsi (&gsi, lhs, true, NULL_TREE,
+ true, GSI_SAME_STMT);
+ }
lenstmt
= gimple_build_assign_with_ops (POINTER_PLUS_EXPR,
make_ssa_name (lhs_var, NULL),