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~