On 08/17/2009 07:40 PM, Jerry Quinn wrote:
On Mon, 2009-08-17 at 16:16 -0400, Jason Merrill wrote:
I'm not sure why GCC sources would need to mangle function-local
structs, though.

I'm not sure if the following is relevant, but I found it in
cp/mangle.c:

/* Since we now use strcmp to compare typeinfos on all targets because
of
    the RTLD_LOCAL problem, we need to munge the typeinfo name used for
    local classes of static functions to fix g++.dg/abi/local1.C.  We do
    that by pretending that the function is in an anonymous namespace.
*/

static bool
needs_fake_anon (const_tree decl)

Would it be helpful to reserve a leading character (say, "*") that means that strcmp should not apply, but rather pointer identity? Thus a class foo that is intended to be local, as opposed to forced local via RTLD_LOCAL, can just use "*foo" and not have to bother with mangling?


r~

Reply via email to