/*  DO NOT EDIT THIS FILE.

    It has been auto-edited by fixincludes from:

	"/usr/include/setjmp.h"

    This had to be done to correct non-standard usages in the
    original, manufacturer supplied header file.  */

/* "@(#) setjmp.h $Revision: ../hdr/setjmp.h@@/main/r11ros/cup_ros-cpe/cup_libc-ros-cpe/2 $" */
#ifndef _SETJMP_INCLUDED /* allow multiple inclusions */
#define _SETJMP_INCLUDED

#ifndef _SYS_STDSYMS_INCLUDED
#  include <sys/stdsyms.h>
#endif /* _SYS_STDSYMS_INCLUDED */

#ifdef _NAMESPACE_STD
#define _NAMESPACE_STD_START namespace std {
#define _NAMESPACE_STD_END }
#define _hpux_size_t std::size_t
#define __time_t std::time_t
#define __FILE std::FILE
#define __wint_t std::wint_t
#define __struct_tm std::tm
#define __va__list std::va_list
#else
#define _NAMESPACE_STD_START
#define _NAMESPACE_STD_END
#define _hpux_size_t size_t
#define __time_t time_t
#define __FILE FILE
#define __wint_t wint_t
#define __struct_tm struct tm
#define __va__list va_list
#endif

#ifdef _NAMESPACE_STD
#define __jmp_buf std::jmp_buf
#else
#define __jmp_buf jmp_buf
#endif

#ifdef __cplusplus
extern "C" {
#endif


#  if !defined(_PA_RISC1_0) && !defined(_PA_RISC1_1) && !defined(_PA_RISC2_0) && !defined(_PA_RISC2_0N) && !defined(_PA_RISC2_0W)
#    define _JBLEN 128

_NAMESPACE_STD_START
      typedef double jmp_buf[_JBLEN/2];
_NAMESPACE_STD_END

#ifdef _INCLUDE_POSIX_SOURCE
      typedef double sigjmp_buf[_JBLEN/2];
#endif
#  else /* !defined(__LP64__) && (!defined(_PA_RISC1_0) && !defined(_PA_RISC1_1) && !defined(_PA_RISC2_0)) */
#    if defined __LP64__
#      define _JBLEN 160

/* There is a mode of C++ that does not define __STDC__ compensate for that. */
#if defined(__STDC__) || defined(__cplusplus)
_NAMESPACE_STD_START
        typedef long double jmp_buf[_JBLEN/4];
_NAMESPACE_STD_END
#else
        typedef double jmp_buf[_JBLEN/2]; /* In 32- bit runtime the alignment
                                             is the same for double and long
                                             double */
#endif /* __STDC__ || __cplusplus*/
        
#ifdef _INCLUDE_POSIX_SOURCE
/* There is a mode of C++ that does not define __STDC__ compensate for that. */
#if defined(__STDC__) || defined(__cplusplus)
        typedef long double sigjmp_buf[_JBLEN/4];
#else
        typedef double sigjmp_buf[_JBLEN/2]; /* In 32- bit runtime the alignment
                                             is the same for double and long
                                             double */
#endif /* __STDC__ */

#endif
#    else /* defined __LP64__ || (!defined(_PA_RISC1_0) && !defined(_PA_RISC1_1) && !defined(_PA_RISC2_0)) */
#      define _JBLEN 50

_NAMESPACE_STD_START
        typedef double jmp_buf[_JBLEN/2];
_NAMESPACE_STD_END

#ifdef _INCLUDE_POSIX_SOURCE
        typedef double sigjmp_buf[_JBLEN/2];
#endif
#    endif /* defined __LP64__ */
#  endif /* !defined(_PA_RISC1_0) && !defined(_PA_RISC1_1) && !defined(_PA_RISC2_0) */

#  if defined(__STDC__) || defined(__cplusplus)
     extern int setjmp(__jmp_buf);
_NAMESPACE_STD_START
     extern void longjmp(__jmp_buf, int);
_NAMESPACE_STD_END
#  else /* not __STDC__ || __cplusplus */
     extern int setjmp();
     extern void longjmp();
#  endif /* __STDC__ || __cplusplus */

#ifdef _INCLUDE_POSIX_SOURCE

#    if defined(__STDC__) || defined(__cplusplus)
       extern int sigsetjmp(sigjmp_buf, int);
       extern void siglongjmp(sigjmp_buf, int);
#    else /* not __STDC__ || __cplusplus */
       extern int sigsetjmp();
       extern void siglongjmp();
#    endif /* __STDC__ || __cplusplus*/
#endif /* _INCLUDE_POSIX_SOURCE */

#ifdef _INCLUDE_XOPEN_SOURCE_EXTENDED 
#  if defined(__STDC__) || defined(__cplusplus)
     extern int _setjmp(__jmp_buf);
     extern void _longjmp(__jmp_buf, int);
#  else /* not __STDC__ || __cplusplus */
     extern int _setjmp();
     extern void _longjmp();
#  endif /* __STDC__ || __cplusplus */
#endif /* _INCLUDE_XOPEN_SOURCE_EXTENDED */

#ifdef __cplusplus
}
#endif

#endif /*_SETJMP_INCLUDED */
