https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77841
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Marek Polacek <mpola...@gcc.gnu.org>: https://gcc.gnu.org/g:b1c59b31ef7adc832405209e9e2a77212284abd7 commit r11-2972-gb1c59b31ef7adc832405209e9e2a77212284abd7 Author: Marek Polacek <pola...@redhat.com> Date: Tue Sep 1 11:44:16 2020 -0400 c++: Allow new char[4]{"foo"} [PR77841] Currently, we allow new char[]{"foo"}, but not new char[4]{"foo"}. We should accept the latter too: [dcl.init.list]p3.3 says to treat this as [dcl.init.string]. We were rejecting this code because we never called reshape_init before the digest_init in build_new_1. reshape_init handles [dcl.init.string] by unwrapping the STRING_CST from its enclosing { }, and digest_init assumes that reshape_init has been called for aggregates anyway, and an array is an aggregate. gcc/cp/ChangeLog: PR c++/77841 * init.c (build_new_1): Call reshape_init. gcc/testsuite/ChangeLog: PR c++/77841 * g++.dg/cpp0x/initlist-new4.C: New test.