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