c++: Fix array of char typedef in template (PR90966).
authorJason Merrill <jason@redhat.com>
Mon, 27 Jan 2020 03:19:47 +0000 (22:19 -0500)
committerJason Merrill <jason@redhat.com>
Mon, 27 Jan 2020 20:02:52 +0000 (15:02 -0500)
commit8f25c39c454d7d3d323edf014a653649946352bd
treea92ba7747dfab3f83dc24a5e711c8e50346a7c47
parent1f2e84238c9f079747804026b6225ec8c1d0e4b7
c++: Fix array of char typedef in template (PR90966).

Since Martin Sebor's patch for PR 71625 to change braced array initializers
to STRING_CST in some cases, we need to be ready for STRING_CST with types
that are changed by tsubst.  fold_convert doesn't know how to deal with
STRING_CST, which is reasonable; we really shouldn't expect it to here.  So
let's handle STRING_CST separately.

PR c++/90966
* pt.c (tsubst_copy) [STRING_CST]: Don't use fold_convert.
gcc/cp/ChangeLog
gcc/cp/pt.c
gcc/testsuite/g++.dg/cpp0x/initlist-array10.C [new file with mode: 0644]