C++ ABI: Mangling of call_expr

Nathan Sidwell nathan@codesourcery.com
Tue Jun 24 16:17:00 GMT 2003


Giovanni Bajo wrote:
> Nathan Sidwell <nathan@codesourcery.com> wrote:
> 
> 
>>>But what is a CALL_EXPR? Its two-letter mangled name is "cl", but it
>>>certainly can't be either unary, binary, or trinary. In fact, in
>>>operators.def, it is defined with arity "-1", which means "any arity is
>>>allowed". But then, I can't see which production is supposed to use.
> 
> 
>>looks like a bug in the ABI spec. To be demanglable, there must be a count
>>of the number of parameters encoded.
>>Mark, have I missed something?
> 
> 
> Since we are at it, I think the ABI is also missing a description of how to
> mangle a call to a constructor.
Isn't that just the same as a call with a funny name?


It's missing a description of all member function calls, and of calls like
	(expr).Foo ();
where Foo turns out to be a static member -- where do I put the mangling
for 'expr'?

nathan
-- 
Nathan Sidwell    ::   http://www.codesourcery.com   ::     CodeSourcery LLC
          The voices in my head said this was stupid too
nathan@codesourcery.com    ::     http://www.planetfall.pwp.blueyonder.co.uk




More information about the Gcc mailing list