http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52178
--- Comment #4 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-02-13 11:53:38 UTC --- > Merging happens at WPA time, it happens again at LTRANS but that is an > implementation artifact (it should not be necessary to merge again). OK. > Ok, this sounds like it is a real bug, especially if the existing machinery > to plug these holes does not trigger (and issue the warning). Something I remarked while trying to debug this: "regular" type merging has a sophisticated machinery taking into account SCCs (gtc_visit) while "canonical" type merging doesn't have it. The hypothesis I came up with is that the former was able to merge the various instances of the type whereas the latter wasn't. Since the middle-end type system is based on canonical types, it chokes. > So - do you by chance happen to have a (small) testcase? ;) No, but I can try to distill one