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