------- Comment #22 from rguenth at gcc dot gnu dot org 2009-01-20 09:13 ------- >From tree-inline.c:
case BUILT_IN_LONGJMP: /* We can't inline functions that call __builtin_longjmp at all. The non-local goto machinery really requires the destination be in a different function. If we allow the function calling __builtin_longjmp to be inlined into the function calling __builtin_setjmp, Things will Go Awry. */ so IMHO we shouldn't inline foo (). See inline_forbidden_p_stmt. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38587