http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46076
Jan Hubicka <hubicka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenther at suse dot de --- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> 2010-10-19 03:33:39 UTC --- Hmm, actually in the modified testcase we miss the indirect inlining and we also never turn the indirect call into direct call. The problem is that pointer cast is in the way one.0_1 = (unsigned char (*Calculable) (void)) one; D.3314_7 = one.0_1 (); Martin, Richi, this is really yours area. I think both indirect inlining and constant propagation should be able to get past the cast especially when there is no type mismatch in the testcase. Honza