You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This isn't a shopping list of things we want implemented right now this is primarily to summarize what we have and what's missing, as well as categorize things that are unlikely to be useful.
assert.h
assert macro
(C11) static_assert macro
ctype.h
isspace function (takes char instead of int)
isalnum function
isalpha function
isblank function
iscntrl function
isdigit function
isgraph function
islower function
isprint function
ispunct function
isupper function
isxdigit function
tolower function
toupper function
errno.h
errno macro (there is one in fcntl.c)
EDOM define
EILSEQ define
ERANGE define
limits.h
CHAR_BIT
SCHAR_MIN
SCHAR_MAX
UCHAR_MIN
UCHAR_MAX
CHAR_MIN
CHAR_MAX
MB_LEN_MAX
SHRT_MIN
SHRT_MAX
USHRT_MAX
INT_MIN
INT_MAX
UINT_MAX
LONG_MIN
LONG_MAX
ULONG_MAX
LLONG_MIN
LLONG_MAX
ULLONG_MAX
setjmp.h
setjmp macro
jmp_buf type
longjmp function
stddef.h
ptrdiff_t type
size_t type
NULL macro
max_align_t type
offsetof macro
stdlib.h
EXIT_FAILURE define
EXIT_SUCCESS define
calloc function
free function
malloc function
getenv function
size_t type
div_t type
ldiv_t type
lldiv_t type
RAND_MAX define
atoi function
atol function
atoll function
strtold function
strtol function
strtoll function
strtoul function
strtoull function
rand function
srand function
realloc function
abort function
atexit function
exit function
_Exit function
system function
bsearch function
qsort function
abs function
labs function
llabs function
div function
ldiv function
lldiv function
string.h
memcpy function
memmove function
strcpy function
strncpy function
memcmp function
strcmp function
strlen function
strncmp function
memchr function
strchr function
strcspn function
strpbrk function
strrchr function
strspn function
strstr function
strcat function
strncat function
memset function
strcoll function
strxfrm function
strtok function
strerror function
time.h
CLOCKS_PER_SEC define
TIME_UTC define
clock_t type
time_t type
struct timespec type
struct tm type
clock function
difftime function
mktime function
time function
timespec_get function
asctime function
ctime function
gmtime function
localtime function
strftime function
stdio.h
FILE type
BUFSIZ define
EOF define
SEEK_CUR define
SEEK_END define
SEEK_SET define
stdin define
stdout define
stderr define
getchar function
fclose function
fflush function
fgets function
fputc function
fputs function
puts function
ungetc function
fread function
fwrite function
fseek function
ftell function
rewind function
TMP_MAX define
fpos_t type
_IOFBF define
_IOLBF define
_IONBF define
FOPEN_MAX define
FILENAME_MAX define
L_tmpnam define
remove function
rename function
tmpfile function
tmpnam function
fopen function
freopen function
setbuf function
setvbuf function
getc function
putc function
putchar function
fgetpos function
fsetpos function
clearerr function
feof function
ferror function
perror function
stdint.h
[u]int{8,16,32}_t type
[u]int64_t type
[u]int_least{8,16,32,64}_t type
[u]int_fast{8,16,32,64}_t type
intptr_t type
uintptr_t type
intmax_t type
uintmax_t type
uintmax_t type
INT{8,16,32,64}_MIN define
[U]INT{8,16,32,64}_MAX define
INT_LEAST{8,16,32,64}_MIN define
[U]INT_LEAST{8,16,32,64}_MAX define
INT_FAST{8,16,32,64}_MIN define
[U]INT_FAST{8,16,32,64}_MAX define
INTPTR_MIN define
INTPTR_MAX define
UINTPTR_MAX define
INTMAX_MIN define
INTMAX_MAX define
UINTMAX_MAX define
PTRDIFF_MIN define
PTRDIFF_MAX define
SIZE_MAX define
[U]INT{8,16,32,64}_C macro. Might be better to implement these in the compiler.
INTMAX_C macro
UINTMAX_C macro
signal.h, better function pointer support
inttypes.h, variadic functions and printf support
Requires additional implementation in M2-Planet
stdalign.h, _Alignof and _Alignas support
alignof macro
__alignas_is_defined define
alignas macro
__alignof_is_defined define
Unlikely to be useful
complex.h introduced in C99, standardized but not required. Define __STDC_NO_COMPLEX__ in compiler instead.
stdatomic.h introduced in C11, standardized but not required. Define __STDC_NO_ATOMICS__ in compiler instead.
threads.h introduced in C11, standardized but not required. Define __STDC_NO_THREADS__ in compiler instead.
This isn't a shopping list of things we want implemented right now this is primarily to summarize what we have and what's missing, as well as categorize things that are unlikely to be useful.
assert.hassertmacrostatic_assertmacroctype.hisspacefunction (takescharinstead ofint)isalnumfunctionisalphafunctionisblankfunctioniscntrlfunctionisdigitfunctionisgraphfunctionislowerfunctionisprintfunctionispunctfunctionisupperfunctionisxdigitfunctiontolowerfunctiontoupperfunctionerrno.herrnomacro (there is one infcntl.c)EDOMdefineEILSEQdefineERANGEdefinelimits.hCHAR_BITSCHAR_MINSCHAR_MAXUCHAR_MINUCHAR_MAXCHAR_MINCHAR_MAXMB_LEN_MAXSHRT_MINSHRT_MAXUSHRT_MAXINT_MININT_MAXUINT_MAXLONG_MINLONG_MAXULONG_MAXLLONG_MINLLONG_MAXULLONG_MAXsetjmp.hsetjmpmacrojmp_buftypelongjmpfunctionstddef.hptrdiff_ttypesize_ttypeNULLmacromax_align_ttypeoffsetofmacrostdlib.hEXIT_FAILUREdefineEXIT_SUCCESSdefinecallocfunctionfreefunctionmallocfunctiongetenvfunctionsize_ttypediv_ttypeldiv_ttypelldiv_ttypeRAND_MAXdefineatoifunctionatolfunctionatollfunctionstrtoldfunctionstrtolfunctionstrtollfunctionstrtoulfunctionstrtoullfunctionrandfunctionsrandfunctionreallocfunctionabortfunctionatexitfunctionexitfunction_Exitfunctionsystemfunctionbsearchfunctionqsortfunctionabsfunctionlabsfunctionllabsfunctiondivfunctionldivfunctionlldivfunctionstring.hmemcpyfunctionmemmovefunctionstrcpyfunctionstrncpyfunctionmemcmpfunctionstrcmpfunctionstrlenfunctionstrncmpfunctionmemchrfunctionstrchrfunctionstrcspnfunctionstrpbrkfunctionstrrchrfunctionstrspnfunctionstrstrfunctionstrcatfunctionstrncatfunctionmemsetfunctionstrcollfunctionstrxfrmfunctionstrtokfunctionstrerrorfunctiontime.hCLOCKS_PER_SECdefineTIME_UTCdefineclock_ttypetime_ttypestruct timespectypestruct tmtypeclockfunctiondifftimefunctionmktimefunctiontimefunctiontimespec_getfunctionasctimefunctionctimefunctiongmtimefunctionlocaltimefunctionstrftimefunctionstdio.hFILEtypeBUFSIZdefineEOFdefineSEEK_CURdefineSEEK_ENDdefineSEEK_SETdefinestdindefinestdoutdefinestderrdefinegetcharfunctionfclosefunctionfflushfunctionfgetsfunctionfputcfunctionfputsfunctionputsfunctionungetcfunctionfreadfunctionfwritefunctionfseekfunctionftellfunctionrewindfunctionTMP_MAXdefinefpos_ttype_IOFBFdefine_IOLBFdefine_IONBFdefineFOPEN_MAXdefineFILENAME_MAXdefineL_tmpnamdefineremovefunctionrenamefunctiontmpfilefunctiontmpnamfunctionfopenfunctionfreopenfunctionsetbuffunctionsetvbuffunctiongetcfunctionputcfunctionputcharfunctionfgetposfunctionfsetposfunctionclearerrfunctionfeoffunctionferrorfunctionperrorfunctionstdint.h[u]int{8,16,32}_ttype[u]int64_ttype[u]int_least{8,16,32,64}_ttype[u]int_fast{8,16,32,64}_ttypeintptr_ttypeuintptr_ttypeintmax_ttypeuintmax_ttypeuintmax_ttypeINT{8,16,32,64}_MINdefine[U]INT{8,16,32,64}_MAXdefineINT_LEAST{8,16,32,64}_MINdefine[U]INT_LEAST{8,16,32,64}_MAXdefineINT_FAST{8,16,32,64}_MINdefine[U]INT_FAST{8,16,32,64}_MAXdefineINTPTR_MINdefineINTPTR_MAXdefineUINTPTR_MAXdefineINTMAX_MINdefineINTMAX_MAXdefineUINTMAX_MAXdefinePTRDIFF_MINdefinePTRDIFF_MAXdefineSIZE_MAXdefine[U]INT{8,16,32,64}_Cmacro. Might be better to implement these in the compiler.INTMAX_CmacroUINTMAX_Cmacrosignal.h, better function pointer supportinttypes.h, variadic functions andprintfsupportRequires additional implementation in M2-Planet
stdalign.h,_Alignofand_Alignassupportalignofmacro__alignas_is_defineddefinealignasmacro__alignof_is_defineddefineUnlikely to be useful
complex.hintroduced in C99, standardized but not required. Define__STDC_NO_COMPLEX__in compiler instead.stdatomic.hintroduced in C11, standardized but not required. Define__STDC_NO_ATOMICS__in compiler instead.threads.hintroduced in C11, standardized but not required. Define__STDC_NO_THREADS__in compiler instead.char.hintroduced in C11wchar.hintroduced in NA1 (1995)wctype.hintroduced in NA1 (1995)fenv.hintroduced in C99float.hintroduced in C89locale.hintroduced in C89math.hintroduced in C99stdbit.hintroduced in C23tgmath.hintroduced in C99