This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 3/27/19 12:24 PM, Martin Sebor wrote:
On 3/21/19 1:03 PM, Jason Merrill wrote:On 3/20/19 6:06 PM, Marek Polacek wrote:On Wed, Mar 20, 2019 at 10:58:32PM +0100, Jakub Jelinek wrote:On Wed, Mar 20, 2019 at 05:55:04PM -0400, Marek Polacek wrote:On Wed, Mar 20, 2019 at 04:56:33PM -0300, Alexandre Oliva wrote:On Mar 20, 2019, Marek Polacek <polacek@redhat.com> wrote:This test fails withpr88534.C:58:1: sorry, unimplemented: string literal in function template signatureInteresting... gcc-8 rejected it with an error message rejecting the template parameter, but my latest trunk build (dated Mar 13, r269641) compiles it all right. Was there a subsequent fix, maybe? I didn't realize it was supposed to be rejected.Ah, that problem only started with r269814, namely this hunk:Maybe this is done too early and should be postponed to genericization (perhaps except for TREE_STATIC vars)?Or skip when DECL is template_parm_object_p.Or handle it in mangle.c. I don't see any reason we shouldn't accept struct A { char c[4]; }; template <A a> struct B { }; B<A{"FOO"}> b;Probably we should use the same mangling whether the initializer for c was spelled as a string literal or list of integers.So just loop over the STRING_CST and mangle each character the same way as it were an element of the braced initializer list?
That's probably best, yes. Jason
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |