http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46525
--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-18 11:16:35 UTC --- Hm. We have t (leader) -> main-variant (but t is its leader) so we violated /* Always register the main variant first. This is important so we pick up the non-typedef variants as canonical, otherwise we'll end up taking typedef ids for structure tags during comparison. */ if (TYPE_MAIN_VARIANT (t) != t) gimple_register_type (TYPE_MAIN_VARIANT (t)); somehow. This results in endless recursion between the two fns. I have a patch.