⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setjmp.h

📁 sunplus dvd开发编译器,希望对想了解这方面的人有点点儿帮助,我也才刚开始
💻 H
字号:
#if defined(__arm__) || defined(__thumb__)/* * All callee preserved registers: * v1 - v7, fp, ip, sp, lr, f4, f5, f6, f7 */#define _JBLEN 23#endif#ifdef __sparc__/* * onsstack,sigmask,sp,pc,npc,psr,g1,o0,wbcnt (sigcontext). * All else recovered by under/over(flow) handling. */#define	_JBLEN	13#endif/* necv70 was 9 as well. */#ifdef __mc68000__/* * onsstack,sigmask,sp,pc,psl,d2-d7,a2-a6, * fp2-fp7	for 68881. * All else recovered by under/over(flow) handling. */#define	_JBLEN	34#endif#if defined(__Z8001__) || defined(__Z8002__)/* 16 regs + pc */#define _JBLEN 20#endif#ifdef _AM29K/* * onsstack,sigmask,sp,pc,npc,psr,g1,o0,wbcnt (sigcontext). * All else recovered by under/over(flow) handling. */#define	_JBLEN	9#endif#if defined(__CYGWIN__) && !defined (_JBLEN)#define _JBLEN (13 * 4)#elif defined (__i386__)#ifdef __unix__# define _JBLEN	36#else#include "setjmp-dj.h"#endif#endif#ifdef __i960__#define _JBLEN 35#endif#ifdef __M32R__/* Only 8 words are currently needed.  10 gives us some slop if we need   to expand.  */#define _JBLEN 10#endif#ifdef __mips__#ifdef __mips64#define _JBLEN 23#define _JBTYPE long long#else#define _JBLEN 11#endif#endif#ifdef __m88000__#define _JBLEN 21#endif#ifdef __H8300__#define _JBLEN 5typedef int jmp_buf[_JBLEN];#endif#ifdef __H8300H__/* same as H8/300 but registers are twice as big */#define _JBLEN 5#define _JBTYPE long#endif#ifdef __H8300S__/* same as H8/300 but registers are twice as big */#define _JBLEN 5#define _JBTYPE long#endif#ifdef __H8500__#define _JBLEN 4#endif#ifdef  __sh__#define _JBLEN 20#endif#ifdef  __v800#define _JBLEN 28#endif#ifdef __PPC__#define _JBLEN 32#define _JBTYPE double#endif#ifdef __hppa__/* %r30, %r2-%r18, %r27, pad, %fr12-%fr15.   Note space exists for the FP registers, but they are not   saved.  */#define _JBLEN 28#endif#if defined(__mn10300__) || defined(__mn10200__)/* A guess */#define _JBLEN 10#endif#ifdef __v850/* I think our setjmp is saving 15 regs at the moment.  Gives us one word   slop if we need to expand.  */#define _JBLEN 16#endif#ifdef __TIC80__#define _JBLEN 13#endif#ifdef __D10V__#define _JBLEN 8#endif#ifdef __D30V__#define _JBLEN ((64 /* GPR */ + (2*2) /* ACs */ + 18 /* CRs */) / 2)#define _JBTYPE double#endif#ifdef __fr30__#define _JBLEN 10#endif#ifdef __mcore__#define _JBLEN 16#endif#ifdef __MMIX__/* Using a layout compatible with GCC's built-in.  */#define _JBLEN 5#define _JBTYPE unsigned long#endif#ifdef _JBLEN#ifdef _JBTYPEtypedef	_JBTYPE jmp_buf[_JBLEN];#elsetypedef	int jmp_buf[_JBLEN];#endif#if defined(__CYGWIN__) || defined(__rtems__)#include <signal.h>/* POSIX sigsetjmp/siglongjmp macros */typedef int sigjmp_buf[_JBLEN+2];#define _SAVEMASK	_JBLEN#define _SIGMASK	(_JBLEN+1)#ifdef __CYGWIN__# define _CYGWIN_WORKING_SIGSETJMP#endif#define sigsetjmp(env, savemask) ((env)[_SAVEMASK] = savemask,\               sigprocmask (SIG_SETMASK, 0, (sigset_t *) ((env) + _SIGMASK)),\               setjmp (env))#define siglongjmp(env, val) ((((env)[_SAVEMASK])?\               sigprocmask (SIG_SETMASK, (sigset_t *) ((env) + _SIGMASK), 0):0),\               longjmp (env, val))#endif /* __CYGWIN__ or __rtems__ */#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -