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: enable-build-with-cxx bootstrap compare broken by r149964


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~



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