------- Comment #18 from geoffk at geoffk dot org 2007-10-30 18:35 ------- Subject: Re: [4.3 Regression] typeinfo name referenced in ... defined in discarded section
On 30/10/2007, at 11:07 AM, rguenth at gcc dot gnu dot org wrote: > ------- Comment #16 from rguenth at gcc dot gnu dot org 2007-10-30 > 18:07 ------- > Geoff, your patch changed the typeinfo symbols for anonymous > namespaces from > having weak linkage to non-weak linkage. This caused the > regression. Do you > argue this change was deliberate and is the right thing? Why do you > think so? > Can you please restore the old behavior which is also that of other > compilers > for the linux targets? No, it changed the typeinfo symbols from being externally visible and having weak linkage, to not being externally visible in which case the weak-ness does not matter. The change is correct and necessary. You cannot access an anonymous namespace from outside the translation unit it is defined in, so the associated symbols do not need to be externally visible, and the change is correct. It is necessary if you do not use random strings in the symbol names, because otherwise the symbols will conflict. It does not matter what other compilers do, this is not an ABI issue. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33871