http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46188
Mikael Pettersson <mikpe at it dot uu.se> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hubicka at gcc dot gnu.org, | |mikpe at it dot uu.se --- Comment #10 from Mikael Pettersson <mikpe at it dot uu.se> 2011-02-05 15:19:22 UTC --- This was fixed for 4.6 by r159907: Author: hubicka Date: Thu May 27 02:07:01 2010 New Revision: 159907 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159907 Log: * cgraphunit.c (verify_cgraph_node): Do checking that DECL match edge only when checking is enabled; check using former_clone_of; check inline clones too. (cgraph_materialize_clone): Record former_clone_of pointer. (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not combining redirections; dump args_to_skip bitmap (cgraph_materialize_all_clones): Do no redirection here. * ipa-inline.c (inline_transform): Do redirection here. * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled cheking only). See also: http://gcc.gnu.org/ml/gcc-patches/2010-05/msg02029.html The patch doesn't apply as-is to 4.5.2 so I haven't checked if it solves the bug there too.