File: setjmp.h

package info (click to toggle)
iraf 2.17-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 95,288 kB
  • sloc: ansic: 228,894; fortran: 75,606; lisp: 18,369; xml: 8,401; sh: 6,111; yacc: 5,648; lex: 596; makefile: 575; asm: 153; csh: 95; sed: 4
file content (25 lines) | stat: -rw-r--r-- 633 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* SETJMP, LONGJMP -- Non local goto.  Requires libc.h and knames.h.
 * Note that jmp_buf must be at least one int larger than necessary to
 */
#ifndef D_libc
#ifndef import_libc
#include "libc.h"
#endif
#ifndef import_knames
#include "knames.h"
#endif
#endif

typedef	int	jmp_buf[LEN_JUMPBUF];
static	XINT	u_jmpstat;

#define	setjmp(e)	(ZSVJMP((e),&u_jmpstat),u_jmpstat)
#define	longjmp(e,v)	(u_jmpstat=(v),ZDOJMP((e),&u_jmpstat))

/* The following is necessary to prevent to prevent the optimizer from
 * doing unwise things with setjmp on a Sun-4.
 */
extern	int zsvjmp_();
#pragma unknown_control_flow(zsvjmp_)

#define	D_setjmp