This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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++ ABI: Mangling of call_expr


Giovanni Bajo wrote:
Hello,

I can't understand how mangle.c is supposed to mangle a call expression.
Currently, it just segfaults on it. The expression production from the ABI
says:

<expression> ::= <unary operator-name> <expression>
            ::= <binary operator-name> <expression> <expression>
            ::= <trinary operator-name> <expression> <expression>
<expression>
[...]

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?

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



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