ref: bfe38a2454609a60bffe2f59340b075faeca7c4d
dir: /src/posix/platform.h/
#pragma once #define _XOPEN_SOURCE 700 #include <assert.h> #include <ctype.h> #if defined(__APPLE__) #include <machine/endian.h> #else #include <endian.h> #endif #include <errno.h> #include <fcntl.h> #include <float.h> #include <inttypes.h> #include <limits.h> #include <locale.h> #include <math.h> #include <setjmp.h> #include <stdbool.h> #include <stdarg.h> #include <stdio.h> #include <stddef.h> #include <stdint.h> #include <stdlib.h> #include <string.h> #include <strings.h> #include <sys/stat.h> #include <sys/time.h> #include <time.h> #include <unistd.h> #include <wctype.h> #include <wchar.h> #if defined(__linux__) #define __os_name__ "linux" #elif defined(__OpenBSD__) #define __os_name__ "openbsd" #elif defined(__FreeBSD__) #define __os_name__ "freebsd" #elif defined(__NetBSD__) #define __os_name__ "netbsd" #elif defined(__DragonFly__) #define __os_name__ "dragonflybsd" #elif defined(__APPLE__) #define __os_name__ "macosx" #elif defined(__HAIKU__) #define __os_name__ "haiku" #else #define __os_name__ "unknown" #endif extern char *os_version; #define __os_version__ os_version #if !defined(__SIZEOF_POINTER__) #error pointer size unknown #elif __SIZEOF_POINTER__ == 8 #define BITS64 #if defined(__aarch64__) #define FWD_BIT (1ULL<<55) #endif #endif #define sl_setjmp(e) sigsetjmp((e), 0) #define sl_longjmp(e, v) siglongjmp((e), (v)) #define nil NULL #define USED(x) ((void)(x)) #define nelem(x) (int)(sizeof(x)/sizeof((x)[0])) #define PATHSEP '/' #define PATHSEPSTRING "/" #define PATHLISTSEP ':' #define PATHLISTSEPSTRING ":" #define ISPATHSEP(c) ((c) == '/') // FIXME: __clang__ because no idea how to check if ubsan is enabled. #if !defined(__clang__) && (defined(__386__) || defined(__x86_64__) || defined(__aarch64__)) #define MEM_UNALIGNED_ACCESS #endif #include "cc_gnuc.h" #include "mem.h" #include "mp.h" #include "utf.h"