On 07/30/18 08:52, Richard Biener wrote:
> On Sun, 29 Jul 2018, Bernd Edlinger wrote:
> 
>> Hi!
>>
>> This fixes another not NUL terminated string literal that is created
>> in tree-ssa-forwprop.c at simplify_builtin_call.
>>
>> src_buf is set up to contain a NUL at src_buf[src_len], thus use src_len + 1
>> as length parameter to build_string_literal.  All other uses of
>> build_string_literal do it right, as far as I can see.
>>
>>
>> Bootstrapped and reg-tested on x86_64-pc-linux-gnu.
>> Is it OK for trunk?
> 
> OK.
> 
> Richard.
> 

Hi,

when I installed that patch it appeared to me that naturally all string
constants ought to be zero-terminated.

But since we have now the STRING_CST semantic changes installed,
which do equally support both zero and non-zero terminated string constants,
I want to revert this again:


r263068 | edlinger | 2018-07-30 15:26:25 +0200 (Mo, 30. Jul 2018) | 5 Zeilen
GeƤnderte Pfade:
    M /trunk/gcc/ChangeLog
    M /trunk/gcc/tree-ssa-forwprop.c

2018-07-30  Bernd Edlinger  <bernd.edlin...@hotmail.de>

         * tree-ssa-forwprop.c (simplify_builtin_call): Don't create a not NUL
         terminated string literal.

So unless there are reasons to keep this zero-terminated string constant,
I am going to revert this patch today evening, after another
Bootstrapped and reg-tested on x86_64-pc-linux-gnu.


Thanks
Bernd.
Index: gcc/ChangeLog
===================================================================
--- gcc/ChangeLog	(revision 263068)
+++ gcc/ChangeLog	(revision 263067)
@@ -1,8 +1,3 @@
-2018-07-30  Bernd Edlinger  <bernd.edlin...@hotmail.de>
-
-	* tree-ssa-forwprop.c (simplify_builtin_call): Don't create a not NUL
-	terminated string literal.
-
 2018-07-30  Segher Boessenkool  <seg...@kernel.crashing.org>
 
 	PR rtl-optimization/85160
Index: gcc/tree-ssa-forwprop.c
===================================================================
--- gcc/tree-ssa-forwprop.c	(revision 263068)
+++ gcc/tree-ssa-forwprop.c	(revision 263067)
@@ -1391,7 +1391,7 @@
 				    src_buf, ptr1_align, false))
 	    break;
 
-	  new_str_cst = build_string_literal (src_len + 1, src_buf);
+	  new_str_cst = build_string_literal (src_len, src_buf);
 	  if (callee1)
 	    {
 	      /* If STMT1 is a mem{,p}cpy call, adjust it and remove

Reply via email to