http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54289

--- Comment #6 from Dmitry <dmitriy-hshg at mail dot ru> 2012-08-16 19:49:27 
UTC ---
I think standard of C std libs declares setjmp as a function. So, it should be
function.

Some code:

__BEGIN_NAMESPACE_STD
typedef struct __jmp_buf_tag jmp_buf[1];

extern int setjmp (jmp_buf __env) __THROW;

__END_NAMESPACE_STD

#ifndef    __FAVOR_BSD
extern int _setjmp (struct __jmp_buf_tag __env[1]) __THROW;
# define setjmp(env)    _setjmp (env)
#else
# define setjmp(env)    setjmp (env)
#endif 

Do you see that if __FAVOR_BSD is defined then std::setjmp will work? Different
behaviours aren't good.

Reply via email to