http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49538
--- Comment #3 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2011-06-28 20:32:14 UTC --- Haha, that patch doesn't work. It's identical to: #if 0 if (!in_charge_parm_used && fns[0] && idx == 1 && !flag_use_repository && DECL_INTERFACE_KNOWN (fns[0]) && (SUPPORTS_ONE_ONLY || !DECL_WEAK (fns[0])) && (!DECL_ONE_ONLY (fns[0]) || (HAVE_COMDAT_GROUP && DECL_WEAK (fns[0]))) && (flag_syntax_only /* Set linkage flags appropriately before cgraph_create_function_alias looks at them. */ && (expand_or_defer_fn_1 (clone) || cgraph_same_body_alias (cgraph_get_node (fns[0]), clone, fns[0])))) { alias = true; if (DECL_ONE_ONLY (fns[0])) { /* For comdat base and complete cdtors put them into the same, *[CD]5* comdat group instead of *[CD][12]*. */ comdat_group = cdtor_comdat_group (fns[1], fns[0]); DECL_COMDAT_GROUP (fns[0]) = comdat_group; } } #endif So back to square one. But everything points to commit c70f46b057cd12973: Author: hubicka Date: Sat Jun 11 13:01:53 2011 +0000 * lto-symtab.c (lto_cgraph_replace_node): Kill same body alias code. (lto_symtab_resolve_can_prevail_p): Likewise. ...