enable-build-with-cxx bootstrap compare broken by r149964

Jason Merrill jason@redhat.com
Mon Sep 14 15:54:00 GMT 2009


On 08/31/2009 12:57 AM, Jerry Quinn wrote:
> On Thu, 2009-08-27 at 00:24 -0400, Jason Merrill wrote:
>> Do you know why r149964 makes a difference?

I understand now.  The patch changed the anonymous namespace name to use 
get_file_function_name in all cases, where previously we were using the 
same name in all translation units.  This was necessary to avoid 
treating types in the anonymous namespace in two different translation 
units as equivalent for typeinfo comparison.

Your patch deals with the fake anonymous namespace inserted for 
mangling, but doesn't deal with real anonymous namespaces, which will be 
incorrectly treated as identical with your patch.

I think the way to go with this is to revert the compiler bits of 
r149964, not mess with mangle.c at all, and insert the initial * if the 
typeinfo name won't have TREE_PUBLIC set, since that's precisely the 
property we want to mirror in comparison.

Jason



More information about the Gcc mailing list