C++ ABI: Mangling of call_expr
Giovanni Bajo
giovannibajo@libero.it
Tue Jun 24 17:26:00 GMT 2003
Mark Mitchell <mark@codesourcery.com> wrote:
> Only that this is a known issue, with no known solution.
>
> Steve Adamczyk and I agreed at one point that the ISO C++ standard
> allows far too much complexity in expressions in this context:
>
> S<sizeof (new (p) X(3.2, a->b (c)))>
>
> is pretty goofy.
Yup, given that its meaning is basically S<sizeof(X)>...
> However, the standard does presently seem to allow that.
But ABI is not that far from being able to handle such expressions. We're
basically missing this specification about "cl", and maybe one or two other
little details I can't think of right now (like placement new mangling). So
maybe it makes sense to extend it.
BTW, meanwhile, is it ok to prepare a patch to emit a sorry() instead of
segfaulting, when mangling those expressions?
And what about a patch that mangles them in some vendor-specific operator
(or even simply "cl" <num-parms> <exr>+), maybe emitting a -Wabi warning?
Giovanni Bajo
More information about the Gcc
mailing list