On Wed, Nov 16, 2022 at 08:22:39AM -0500, Jason Merrill wrote:
> On 11/15/22 19:35, Marek Polacek wrote:
> > On Tue, Nov 15, 2022 at 06:58:39PM -0500, Jason Merrill wrote:
> > > On 11/12/22 06:53, Marek Polacek wrote:
> > > > In this PR, we are crashing because we've encountered a UDL where a
> > > > string-literal is expected.  This patch makes the parser reject string
> > > > and character UDLs in all places where the grammar requires a
> > > > string-literal and not a user-defined-string-literal.
> > > > 
> > > > Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk?
> > > 
> > > Since the grammar has
> > > 
> > > user-defined-string-literal :
> > >   string-literal ud-suffix
> > > 
> > > maybe we want to move the UDL handling out to a 
> > > cp_parser_udl_string_literal
> > > that calls cp_parser_string_literal?
> > 
> > Umm, maybe, but the UDL handling code seems to be too entrenched in
> > cp_parser_string_literal and I don't think it's going to be easy to extract
> > it :/.
> 
> Fair enough; maybe a wrapper, then?

As in, have a cp_parser_udl_string_literal wrapper that calls
cp_parser_string_literal with udl_ok=true, rename cp_parser_string_literal,
introduce a new cp_parser_string_literal wrapper that passes udl_ok=false?

One problem with cp_parser_udl_string_literal is that it's too similar to
cp_parser_userdef_string_literal, which would be confusing, I think.

Marek

Reply via email to