More mangling issues
Jim Dehnert
dehnert at baalbek.engr.sgi.com
Tue Mar 14 22:49:05 UTC 2000
> Date: Fri, 10 Mar 2000 15:31:16 -0800
> From: Daveed Vandevoorde <daveed at edg.com>
>
> > Another issue: for pointer-to-member types, is the M qualifier already
> > pointer in itself? I.e. given
> >
> > _Z3fooPM2ABi
> >
> > Is this foo(int AB::*) or foo(int AB::**)?
>
> The latter. "M" is pointer-to-member (which accounts for the first "*" token)
> and P is plain pointer (to data or function).
>
> > Same for functions, which leads to the question what _Z3fooPPM2ABFiE is.
>
> If I'm not mistaken: Ret? foo(int (AB::***)()).
Actually, the mangling means that foo is a pointer to a pointer to a
member function of AB with int result and no parameters, which I think
is represented as:
int (AB::***foo)();
True?
> Note the contrast with _Z3fooM2ABPPFiE which I think is
> Ret? foo(int (**AB::*)())
Well, here foo is a pointer to member data of AB of type pointer to
pointer to function with int result and no parameters, which I think
is:
int ( ** AB::*foo) ();
Am I close?
> Gotta love that syntax ;-)
Disgusting, I would have said...
Jim
- Jim Dehnert dehnert at sgi.com
(650)933-4272
More information about the cxx-abi-dev
mailing list