[cxx-abi-dev] mangling for fold-expressions
John McCall
rjmccall at apple.com
Mon Nov 10 18:30:46 UTC 2014
On Nov 8, 2014, at 9:16 AM, Richard Smith <richardsmith at google.com> wrote:
> Hi,
>
> WG21 is voting on a proposal for "fold-expressions" today. These are syntactically of the form:
>
> ( .... + pack )
> ( pack + ... )
> ( p0 + ... + pack )
> ( pack + ... + pn )
>
> (where + can be any binary operator). These expand to
>
> (((p0 + p1) + ...) + pn)
>
> for the first and third cases and
>
> (p0 + (p1 + (... + pn)))
>
> for the other two cases.
And the expansion for (pack + … + pack) is “semantic error”?
I assume ‘pack’ is any expression containing an unexpanded pack reference?
> These need a mangling; I suggest (and have implemented):
>
> <expression> ::=
> fl <binary operator-name> <expression> # ( ... op pack )
> fr <binary operator-name> <expression> # ( pack op ... )
> fx <binary operator-name> <expression> <expression> # ( expr op ... op expr )
This doesn’t seem to correspond to one of your examples.
John.
More information about the cxx-abi-dev
mailing list