#pragma once #define _XOPEN_SOURCE 700#include <assert.h>#include <ctype.h>#include <float.h>#include <inttypes.h>#include <limits.h>#include <machine/endian.h>#include <math.h>#include <setjmp.h>#include <stdbool.h>#include <stdarg.h>#include <stdio.h>#include <stdint.h>#include <stdlib.h>#include <string.h>#include <strings.h>#include <unistd.h> #define __os_name__ "dos" #define nil NULL#define USED(x) ((void)(x))#define nelem(x) (int)(sizeof(x)/sizeof((x)[0]))#define FWD_BIT (sl_v)(1U<<31) typedef jmp_buf sl_jmp_buf;#define sl_setjmp(e) setjmp((e))#define sl_longjmp(e, v) longjmp((e), (v))#define sys_exit(status, code) do{ \ exit((status) == nil && (code) == 0 ? 0 : (code)); \}while(0)#define sysfatal(...) do{ \ fprintf(stderr, __VA_ARGS__); \ exit(99); \}while(0) #define getcallerpc(a) __builtin_extract_return_addr((USED(a), __builtin_return_address(0)))#define sys_setcallpc(arg) do{sl.cpc = getcallerpc(&arg);}while(0)void sys_setcurrpc(int dummy);void sys_seed(void *p, int sz); #define MEM_UNALIGNED_ACCESS#define sl_segalloc(sz) MEM_ALLOC((usize)sz)#define sl_segfree(s, sz) MEM_FREE(s)#define sl_segused(s, sz, used) do{}while(0) #include "inc/cc.h"#include "inc/mem.h"#include "mp.h"#include "utf.h"
#pragma once
#define _XOPEN_SOURCE 700
#include <assert.h>
#include <ctype.h>
#include <float.h>
#include <inttypes.h>
#include <limits.h>
#include <machine/endian.h>
#include <math.h>
#include <setjmp.h>
#include <stdbool.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <unistd.h>
#define __os_name__ "dos"
#define nil NULL
#define USED(x) ((void)(x))
#define nelem(x) (int)(sizeof(x)/sizeof((x)[0]))
#define FWD_BIT (sl_v)(1U<<31)
typedef jmp_buf sl_jmp_buf;
#define sl_setjmp(e) setjmp((e))
#define sl_longjmp(e, v) longjmp((e), (v))
#define sys_exit(status, code) do{ \
exit((status) == nil && (code) == 0 ? 0 : (code)); \
}while(0)
#define sysfatal(...) do{ \
fprintf(stderr, __VA_ARGS__); \
exit(99); \
}while(0)
#define getcallerpc(a) __builtin_extract_return_addr((USED(a), __builtin_return_address(0)))
#define sys_setcallpc(arg) do{sl.cpc = getcallerpc(&arg);}while(0)
void sys_setcurrpc(int dummy);
void sys_seed(void *p, int sz);
#define MEM_UNALIGNED_ACCESS
#define sl_segalloc(sz) MEM_ALLOC((usize)sz)
#define sl_segfree(s, sz) MEM_FREE(s)
#define sl_segused(s, sz, used) do{}while(0)
#include "inc/cc.h"
#include "inc/mem.h"
#include "mp.h"
#include "utf.h"