https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90926
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jason Merrill <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:e6cc142ad99ab8d28581f4ce61056c9cce74dba3 commit r11-7102-ge6cc142ad99ab8d28581f4ce61056c9cce74dba3 Author: Tom Greenslade (thomgree) <thomg...@cisco.com> Date: Wed Feb 3 11:31:53 2021 +0000 c++: fix string literal member initializer bug [PR90926] build_aggr_conv did not correctly handle string literal member initializers. Extended can_convert_array to handle this case. For the additional check of compatibility of character types, factored out code from digest_init_r into a new function. gcc/cp/ChangeLog: PR c++/90926 * call.c (can_convert_array): Extend to handle all valid aggregate initializers of an array; including by string literals, not just by brace-init-list. (build_aggr_conv): Call can_convert_array more often, not just in brace-init-list case. * typeck2.c (array_string_literal_compatible_p): New function. (digest_init_r): call array_string_literal_compatible_p * cp-tree.h: (array_string_literal_compatible_p): Declare. gcc/testsuite/ChangeLog: PR c++/90926 * g++.dg/cpp1y/nsdmi-aggr12.C: New test.