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 Mon, 2009-08-17 at 16:16 -0400, Jason Merrill wrote:
> On 08/15/2009 10:12 AM, Jerry Quinn wrote:
> > Bootstrap comparison failure!
>  >[...]
> >          (write_nested_name): Add a fake anonymous namespace scope if
> > true.
> 
> What I assume is going on here is that use of anonymous namespaces can 
> break bitwise comparison, because get_file_function_name uses a random 
> number if it doesn't know a non-weak symbol to use in the name.
> 
> One thing that would help would be to defer all mangling, or at least 
> all mangling that depends on the anonymous namespace name, until end of 
> file so that first_global_object_name is usually set.
> 
> 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)


Jery



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