On Thu, 2009-08-20 at 14:05 +0100, Dave Korn wrote:
> Jerry Quinn wrote:
> > On Thu, 2009-08-20 at 11:12 +0100, Dave Korn wrote:
> >> Jerry Quinn wrote:
> 
> >>> Apparently my change is too naive, because the assembler doesn't like a
> >>> name with '*' in it.  Are there any chars that can pass muster with
> >>> assemblers but not be a valid namespace identifier?
> >>   Don't you just want to arrange things so that the asterisk ends up in the
> >> typeinfo name string but not in the asm name?
> > 
> > Well, it WAS a very naive attack on the problem :-)
> > 
> > Where can I look to set the typeinfo name without setting the asm name?
> 
>   I think you want to just modify the NTBS name, rather than the internal
> identifier used to refer to it.  Take a look at tinfo_base_init() in
> gcc/cp/rtti.c, and how it calls tinfo_name.

OK, I'm now confused.  How does this dovetail with anonymous
namespaces?  

Richard's suggestion was to avoid mangling the name at all and relying
on pointers being different to distinguish between the anonymous
namespaces in different translation units.

If I understand correctly, the main thing we want is for libstdc++ to
consider two typeinfos the same if they are the same type in the same
file's anonymous namespace, but different if they have the same name but
came from different files.

I'm unclear how the symbols in the asm get turned into typeinfos, and
thus how the transform needs to be done.

Jerry


Reply via email to