https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89833
--- Comment #4 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