c++0x: libraries and features
David Vandevoorde
daveed@edg.com
Wed Jan 21 21:29:00 GMT 2009
Hello,
On Jan 21, 2009, at 4:15 PM, John Freeman '08 wrote:
> (I am cc'ing Daveed Vandevoorde concerning the discussion of name-
> mangling
> mentioned below.)
Thanks!
[...]
> There was some discussion among Doug, Daveed Vandevoorde, Lawrence
> Crowl,
> Dennis Handly, and myself before Christmas about name-mangling.
(This was on the IA-64 ABI reflector.)
> To me, the
> matter seemed almost resolved, but I don't know if it has been
> picked up
> since.
Yes, that was also my impression: it's "almost resolved", though there
wasn't closure (ouch :-P).
My last e-mail in that thread claimed that nonlocal lambda's didn't
require an ABI-mandated mangling. I'd like some experienced voice to
confirm/deny that claim.
Earlier, I made a proposal for mangling local lambda's that I think is
okay, but I haven't sent a patch to Mark M. yet. Here is a relevant
quote
> On Dec 17, 2008, at 10:39 AM, John Freeman wrote:
>
>> Doug Gregor wrote:
>>>
>>> We need something that encodes the context of the lambda (function
>>> "::foo" with no parameters) followed by, perhaps, a numbering scheme
>>> within that context. The context encoding needs to account for (at
>>> least) inline functions, classes, and namespaces.
>>>
>>
>> This sounds like a problem that must have been encountered before.
>> Is there already a solution for it? At least for the unnumbered
>> portion?
>
>
> Yes, see 5.1.6. We can reuse that general scheme for local
> lambdas. E.g.:
>
> <local-lambda-name> := Z <function encoding> E l [<discriminator>]
>
> and maybe introduce something similar for local unnamed classes:
>
> <local-unnamed-class_name> := Z <function encoding> E u
> [<discriminator>]
Daveed
More information about the Libstdc++
mailing list