http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47815
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2011.02.19 11:25:54 Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-02-19 11:25:54 UTC --- Confirmed. In 4.6 we have noreturn discovery which figures out that tail_call0 and tail_call1 do not return. Then this causes us to not apply tailcall optimization _by design_ to provide accurate backtraces for noreturn functions which are usually especially used for debugging. You can simulate the same effect with GCC 4.5 by adding noreturn in addition to the noinline attribute. I think we are not going to fix this because it is a feature and not a bug.