------- Comment #8 from matz at gcc dot gnu dot org 2009-01-30 17:12 ------- But special_function_p looks at the name of the function, which is __builtin_setjmp in case the builtin is used explicitely:
% cat x.c #include <setjmp.h> jmp_buf env; int f(void){ return __builtin_setjmp(env);} % gdb --args cc1 x.c (gdb) b special_function_p ... 474 if (fndecl && DECL_NAME (fndecl) (gdb) 487 const char *name = IDENTIFIER_POINTER (DECL_NAME (fndecl)); (gdb) 488 const char *tname = name; (gdb) p name $3 = 0x7ffff7f60460 "__builtin_setjmp" Up to now, it's only a theory that it might be setjmp related, purely because it's jobs.c of bash which exhibits the error, and presumably jobs.c deals with, well, jobs and forks, and possibly setjmps around. But what we do know is, that its indeed Ben's patch. Reverting it lets bash build again. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38977