https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71625

--- Comment #17 from Martin Sebor <msebor at gcc dot gnu.org> ---
Author: msebor
Date: Mon Aug 13 17:57:51 2018
New Revision: 263511

URL: https://gcc.gnu.org/viewcvs?rev=263511&root=gcc&view=rev
Log:
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.

Added:
    trunk/gcc/testsuite/g++.dg/init/string2.C
    trunk/gcc/testsuite/g++.dg/init/string3.C
    trunk/gcc/testsuite/g++.dg/init/string4.C
    trunk/gcc/testsuite/gcc.dg/init-string-3.c
    trunk/gcc/testsuite/gcc.dg/strlenopt-55.c
    trunk/gcc/testsuite/gcc.dg/strlenopt-56.c
Modified:
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.c
    trunk/gcc/c-family/c-common.h
    trunk/gcc/c/ChangeLog
    trunk/gcc/c/c-parser.c
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/decl.c
    trunk/gcc/cp/typeck2.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/c-c++-common/attr-nonstring-3.c

Reply via email to