mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-02-07 15:03:34 +00:00
f531acc8f9
- Invent openatemp() API - Invent O_UNLINK open flag - Introduce getenv_secure() API - Remove `git pull` from cosmocc - Fix utimes() when path is NULL - Fix mktemp() to never return NULL - Fix utimensat() UTIME_OMIT on XNU - Improve utimensat() code for RHEL5 - Turn `argv[0]` C:/ to /C/ on Windows - Introduce tmpnam() and tmpnam_r() APIs - Fix more const issues with internal APIs - Permit utimes() on WIN32 in O_RDONLY mode - Fix fdopendir() to check fd is a directory - Fix recent crash regression in landlock make - Fix futimens(AT_FDCWD, NULL) to return EBADF - Use workaround so `make -j` doesn't fork bomb - Rename dontdiscard to __wur (just like glibc) - Fix st_size for WIN32 symlinks containing UTF-8 - Introduce stdio ext APIs needed by GNU coreutils - Fix lstat() on WIN32 for symlinks to directories - Move some constants from normalize.inc to limits.h - Fix segv with memchr() and memcmp() overlapping page - Implement POSIX fflush() behavior for reader streams - Implement AT_SYMLINK_NOFOLLOW for utimensat() on WIN32 - Don't change read-only status of existing files on WIN32 - Correctly handle `0x[^[:xdigit:]]` case in strtol() functions
100 lines
2 KiB
C++
100 lines
2 KiB
C++
#define __COSMOPOLITAN__ 1
|
|
|
|
#ifndef __COUNTER__
|
|
#define __COUNTER__ __LINE__
|
|
#endif
|
|
|
|
#if __GNUC__ + 0 < 2
|
|
#undef __GNUC__
|
|
#elif defined(__GNUC__) && defined(SWIG) /* lool */
|
|
#undef __GNUC__
|
|
#elif defined(__GNUC__) && defined(__NVCC__) /* lool */
|
|
#undef __GNUC__
|
|
#elif !defined(__GNUC__) && defined(__APPLE__) /* modesty */
|
|
#define __GNUC__ 4
|
|
#define __GNUC_MINOR__ 2
|
|
#define __GNUC_PATCHLEVEL__ 1
|
|
#elif !defined(__GNUC__) && defined(__TINYC__)
|
|
#define __GNUC__ 2
|
|
#define __GNUC_MINOR__ 0
|
|
#define __GNUC_PATCHLEVEL__ 0
|
|
#endif
|
|
|
|
#if !defined(__x86_64__) && \
|
|
(defined(__amd64__) || (defined(_M_AMD64) && defined(_M_X64)))
|
|
#define __x86_64__ 1
|
|
#elif !defined(__i386__) && ((defined(__i486__) || defined(__i586__) || \
|
|
defined(__i686__) || defined(__i786__)) || \
|
|
_M_IX86 + 0 >= 400)
|
|
#define __i386__ 1
|
|
#elif !defined(__ia16__) && (defined(__MSDOS__) || defined(__BCC__))
|
|
#define __ia16__ 1
|
|
#endif
|
|
#if __ia16__ + __i386__ + __x86_64__ + 0
|
|
#define __x86__ 1
|
|
#endif
|
|
|
|
#ifdef _MSC_VER
|
|
#define __STRICT_ANSI__
|
|
#ifndef __STDC__
|
|
#define __STDC__
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef __has_attribute
|
|
#define __has_attribute(x) 0
|
|
#endif
|
|
#ifndef __has_builtin
|
|
#define __has_builtin(x) 0
|
|
#endif
|
|
#ifndef __has_cpp_attribute
|
|
#define __has_cpp_attribute(x) 0
|
|
#endif
|
|
#ifndef __has_extension
|
|
#define __has_extension(x) 0
|
|
#endif
|
|
|
|
#ifdef unix
|
|
#undef unix
|
|
#endif
|
|
|
|
#ifdef linux
|
|
#undef linux
|
|
#endif
|
|
|
|
#ifdef __linux
|
|
#undef __linux
|
|
#endif
|
|
|
|
#ifdef __linux__
|
|
#undef __linux__
|
|
#endif
|
|
|
|
#ifndef __BIGGEST_ALIGNMENT__
|
|
#define __BIGGEST_ALIGNMENT__ 16
|
|
#endif
|
|
|
|
#ifdef _COSMO_SOURCE
|
|
#define FRAMESIZE 65536
|
|
#define _PAGESIZE 4096
|
|
#endif
|
|
|
|
#define NSIG 128 /* b/c freebsd */
|
|
|
|
#if defined(__LP64__) && !defined(__INT64_TYPE__)
|
|
#include "libc/integral/lp64.inc"
|
|
#elif defined(_MSC_VER) && !defined(__INT64_TYPE__)
|
|
#include "libc/integral/llp64.inc"
|
|
#endif
|
|
|
|
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
|
#ifdef __STDC__
|
|
#include "libc/integral/c.inc"
|
|
#else
|
|
#define const
|
|
#define volatile
|
|
#endif
|
|
#ifdef __cplusplus
|
|
#include "libc/integral/cxx.inc"
|
|
#endif
|
|
#endif
|