mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 06:22:25 +00:00
SetJmp fixed on darwin; -- noch
This commit is contained in:
parent
15274cbfb0
commit
ffe9476fd2
4 changed files with 5 additions and 51 deletions
|
|
@ -1 +1 @@
|
|||
/opt/voc-1.1/lib
|
||||
/Users/noch/local/voc-1.1/lib
|
||||
|
|
|
|||
|
|
@ -154,61 +154,15 @@ CONST sigsetarrlength = 1024 / 8 * SIZE(LONGINT);
|
|||
|
||||
|
||||
TYPE
|
||||
(* bits/sigset.h
|
||||
_SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
|
||||
|
||||
1024 / 8*8 = 16
|
||||
1024 / 8*4 = 32
|
||||
*)
|
||||
sigsett* = RECORD
|
||||
val : ARRAY 16 OF LONGINT (* 32 for 32 bit *)
|
||||
(*val : ARRAY sigsetarrlength OF LONGINT *)
|
||||
END;
|
||||
|
||||
JmpBuf* = RECORD
|
||||
(* macosx darwin 64bit, cpp /usr/include/setjmp.h
|
||||
typedef int jmp_buf[((9 * 2) + 3 + 16)];
|
||||
typedef int sigjmp_buf[((9 * 2) + 3 + 16) + 1];
|
||||
*)
|
||||
|
||||
(*bx*, si*, di*, bp*, sp*, pc*: LONGINT;*)
|
||||
(* bits/setjmp.h sets up longer array in GNU libc *)
|
||||
(*
|
||||
# if __WORDSIZE == 64
|
||||
typedef long int __jmp_buf[8];
|
||||
# else
|
||||
typedef int __jmp_buf[6];
|
||||
# endif
|
||||
*)
|
||||
(*bx*, si*, di*, bp*, sp*, pc*, ki*, ku*: LONGINT;*)
|
||||
f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15,
|
||||
f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29,
|
||||
f30, f31, f32, f33, f34, f35, f36: INTEGER;
|
||||
(* setjmp.h
|
||||
/* Calling environment, plus possibly a saved signal mask. */
|
||||
struct __jmp_buf_tag
|
||||
{
|
||||
/* NOTE: The machine-dependent definitions of `__sigsetjmp'
|
||||
assume that a `jmp_buf' begins with a `__jmp_buf' and that
|
||||
`__mask_was_saved' follows it. Do not move these members
|
||||
or add others before it. */
|
||||
__jmp_buf __jmpbuf; /* Calling environment. */
|
||||
int __mask_was_saved; /* Saved the signal mask? */
|
||||
__sigset_t __saved_mask; /* Saved signal mask. */
|
||||
};
|
||||
|
||||
*)
|
||||
(*maskWasSaved*, savedMask*: LONGINT;*)
|
||||
(*maskWasSaved*: INTEGER; *)
|
||||
(*
|
||||
# define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
|
||||
typedef struct
|
||||
{
|
||||
unsigned long int __val[_SIGSET_NWORDS];
|
||||
} __sigset_t;
|
||||
|
||||
*)
|
||||
(*savedMask*: sigsett;*)
|
||||
END ;
|
||||
jmpbuf: ARRAY 38 OF INTEGER;
|
||||
END ;
|
||||
|
||||
Status* = RECORD (* struct stat *)
|
||||
dev* : INTEGER; (* dev_t 4 *)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
MODULE prf;
|
||||
|
||||
CONST prefix* = "/opt";
|
||||
CONST prefix* = "/Users/noch/local";
|
||||
|
||||
END prf.
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue