On 8/3/26 5:01 PM, Jason Merrill wrote:
On 8/3/26 2:23 PM, Marek Polacek wrote:
Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk/16?
-- >8 --
[expr.reflect] says that a reflection of a pack-index-expressions
is ill-formed. But that applies to the ^^id-expression production,
not ^^type-id, in which a pack-index-specifier (for types) can be
used. So it's wrong for get_reflection to check PACK_INDEX_P, it
should only reject PACK_INDEX_EXPR.
I don't think that currently we can get there with a PACK_INDEX_EXPR
though: for a pack-index-expression Xs...[0] cp_parser_reflection_name
will consume Xs and then immediately call get_reflection which gives
an error.
This seems like a bit of a bug, since "A reflect-expression is parsed as
the longest possible sequence of tokens that could syntactically form a
reflect-expression.", i.e. the full pack-index-expression. But not an
important one, since it's ill-formed either way.
OK for trunk/16.
(after 16 opens again)