------- Comment #10 from manu at gcc dot gnu dot org  2008-11-02 12:53 -------
(In reply to comment #9)
> > This is my current patch and it works in this testcase. However, it also
> > triggers on cases like: const char *p = str + sizeof(str)
> > 
> > Perhaps I am doing this at the wrong place. Any suggestions?
> 
> Keep in mind that one-after the string is ok, so ...

Do you mean one after the null character? If you have str = "abcd". Then
sizeof(str) is 5 and str + sizeof(str) points outside the string. (str[4] is
the null character).

> > 
> > @@ -3322,10 +3323,36 @@ pointer_int_sum (enum tree_code resultco
> > +       {
> > +         HOST_WIDE_INT max = TREE_STRING_LENGTH (string_cst) - 1;
> 
> ... the -1 is wrong here.
> 

TREE_STRING_LENGTH is the size of the character array, not the string. Are you
sure it is wrong?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35652

Reply via email to