mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-28 08:12:28 +00:00
Improve synchronization
- Fix bugs in kDos2Errno definition - malloc() should now be thread safe - Fix bug in rollup.com header generator - Fix open(O_APPEND) on the New Technology - Fix select() on the New Technology and test it - Work towards refactoring i/o for thread safety - Socket reads and writes on NT now poll for signals - Work towards i/o completion ports on the New Technology - Make read() and write() intermittently check for signals - Blinkenlights keyboard i/o so much better on NT w/ poll() - You can now poll() files and sockets at the same time on NT - Fix bug in appendr() that manifests with dlmalloc footers off
This commit is contained in:
parent
233144b19d
commit
933411ba99
266 changed files with 8761 additions and 4344 deletions
44
libc/type2str.h
Normal file
44
libc/type2str.h
Normal file
|
@ -0,0 +1,44 @@
|
|||
#ifndef COSMOPOLITAN_LIBC_TYPE2STR_H_
|
||||
#define COSMOPOLITAN_LIBC_TYPE2STR_H_
|
||||
#if __STDC_VERSION__ + 0 >= 201112
|
||||
/* clang-format off */
|
||||
|
||||
#define _TYPE2STR(X) \
|
||||
_Generic(X, \
|
||||
_Bool: "_Bool", \
|
||||
signed char: "signed char", \
|
||||
unsigned char: "unsigned char", \
|
||||
char: "char", \
|
||||
short: "short", \
|
||||
unsigned short: "unsigned short", \
|
||||
int: "int", \
|
||||
unsigned: "unsigned", \
|
||||
long: "long", \
|
||||
unsigned long: "unsigned long", \
|
||||
long long: "long long", \
|
||||
unsigned long long: "unsigned long long", \
|
||||
float: "float", \
|
||||
double: "double", \
|
||||
long double: "long double")
|
||||
|
||||
#define _PRINTF_GENERIC(X, D, U) \
|
||||
_Generic(X, \
|
||||
_Bool: "hhh" U, \
|
||||
signed char: "hh" D, \
|
||||
unsigned char: "hh" U, \
|
||||
char: "hh" D, \
|
||||
short: "h" D, \
|
||||
unsigned short: "h" U, \
|
||||
int: D, \
|
||||
unsigned: U, \
|
||||
long: "l" D, \
|
||||
unsigned long: "l" U, \
|
||||
long long: "ll" D, \
|
||||
unsigned long long: "ll" U, \
|
||||
float: "f", \
|
||||
double: "f", \
|
||||
long double: "Lf")
|
||||
|
||||
/* clang-format on */
|
||||
#endif /* C11 */
|
||||
#endif /* COSMOPOLITAN_LIBC_TYPE2STR_H_ */
|
Loading…
Add table
Add a link
Reference in a new issue