This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: c++0x: libraries and features


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]