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

--- Comment #15 from Martin Sebor <msebor at gcc dot gnu.org> ---
Author: msebor
Date: Thu Apr  4 23:10:23 2019
New Revision: 270155

URL: https://gcc.gnu.org/viewcvs?rev=270155&root=gcc&view=rev
Log:
PR c++/89974 - ICE on a definition of a non-type specialization on a struct
object with pointer to member function
PR c++/89878 - same specializations on a zero-initialized struct object as a
non-type parameter treated as distinct
PR c++/89833 - sorry, unimplemented: string literal in function template
signature
PR c++/47488 - sorry, unimplemented: string literal in function template
signature

gcc/cp/ChangeLog:

        PR c++/89974
        PR c++/89878
        PR c++/89833
        PR c++/47488
        * decl.c (reshape_init_array_1): Strip trailing zero-initializers
        from arrays of trivial type and known size.
        * mangle.c (write_expression): Convert braced initializer lists
        to STRING_CSTs.
        (write_expression): Trim trailing zero-initializers from arrays
        of trivial type.
        (write_template_arg_literal): Mangle strings the same as braced
        initializer lists.

gcc/testsuite/ChangeLog:

        PR c++/89974
        PR c++/89878
        PR c++/89833
        PR c++/47488
        * gcc/testsuite/g++.dg/abi/mangle69.C: New test.
        * gcc/testsuite/g++.dg/abi/mangle70.C: New test.
        * gcc/testsuite/g++.dg/abi/mangle71.C: New test.
        * gcc/testsuite/g++.dg/abi/mangle72.C: New test.
        * gcc/testsuite/g++.dg/cpp0x/constexpr-array19.C: New test.
        * gcc/testsuite/g++.dg/cpp2a/nontype-class15.C: New test.
        * gcc/testsuite/g++.dg/cpp2a/nontype-class16.C: New test.
        * gcc/testsuite/g++.dg/init/array51.C: New test.


Added:
    trunk/gcc/testsuite/g++.dg/abi/mangle69.C
    trunk/gcc/testsuite/g++.dg/abi/mangle70.C
    trunk/gcc/testsuite/g++.dg/abi/mangle71.C
    trunk/gcc/testsuite/g++.dg/abi/mangle72.C
    trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-array19.C
    trunk/gcc/testsuite/g++.dg/cpp2a/nontype-class15.C
    trunk/gcc/testsuite/g++.dg/cpp2a/nontype-class16.C
    trunk/gcc/testsuite/g++.dg/init/array51.C
    trunk/gcc/testsuite/g++.dg/template/nontype29.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/decl.c
    trunk/gcc/cp/mangle.c
    trunk/gcc/testsuite/ChangeLog

Reply via email to