]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/c/ChangeLog
PR tree-optimization/71625 - missing strlen optimization on different array initializ...
authorMartin Sebor <msebor@redhat.com>
Mon, 13 Aug 2018 17:57:51 +0000 (17:57 +0000)
committerMartin Sebor <msebor@gcc.gnu.org>
Mon, 13 Aug 2018 17:57:51 +0000 (11:57 -0600)
commit23aa9f7c4637ad51587e536e245ae6adb5391bbc
treef8eac004f5eeb0fa8a2376e0ab0e5fb0844532e2
parente6a1e5fe7346458208ede97741382061a6191024
PR tree-optimization/71625 - missing strlen optimization on different array initialization style

gcc/c/ChangeLog:

PR tree-optimization/71625
* c-parser.c (c_parser_declaration_or_fndef): Call
braced_list_to_string.

gcc/c-family/ChangeLog:

PR tree-optimization/71625
* c-common.c (braced_list_to_string): New function.
* c-common.h (braced_list_to_string): Declare it.

gcc/cp/ChangeLog:

PR tree-optimization/71625
* decl.c (check_initializer):  Call braced_list_to_string.
(eval_check_narrowing): New function.
* gcc/cp/typeck2.c (digest_init_r): Accept strings literals
as initilizers for all narrow character types.

gcc/testsuite/ChangeLog:

PR tree-optimization/71625

* g++.dg/init/string2.C: New test.
* g++.dg/init/string3.C: New test.
* g++.dg/init/string4.C: New test.
* gcc.dg/init-string-3.c: New test.
* gcc.dg/strlenopt-55.c: New test.
* gcc.dg/strlenopt-56.c: New test.

From-SVN: r263511
16 files changed:
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/c-family/c-common.h
gcc/c/ChangeLog
gcc/c/c-parser.c
gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/cp/typeck2.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/attr-nonstring-3.c
gcc/testsuite/g++.dg/init/string2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/init/string3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/init/string4.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/init-string-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/strlenopt-55.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/strlenopt-56.c [new file with mode: 0644]