2022-06-20 04:41:44 +00:00
|
|
|
|
2022-06-21 13:32:46 +00:00
|
|
|
general:
|
|
|
|
* Start writing documentation concerning various implementation defined
|
|
|
|
behaviours of the library.
|
2022-08-05 04:57:31 +00:00
|
|
|
* (MSVC Ext.) Different kinds of main functions: wmain, WinMain, wWinMain, DllMain
|
|
|
|
* (MSVC Ext.) envp argument for main functions
|
2022-06-21 13:32:46 +00:00
|
|
|
|
2022-06-20 04:41:44 +00:00
|
|
|
math.h:
|
2022-07-17 15:21:42 +00:00
|
|
|
* exp
|
|
|
|
* exp2
|
|
|
|
* expml
|
|
|
|
* log
|
|
|
|
* log10
|
|
|
|
* log2
|
|
|
|
* log1p
|
|
|
|
* pow
|
|
|
|
* cbrt
|
|
|
|
* hypot
|
|
|
|
* atan2
|
|
|
|
* erf
|
|
|
|
* erfc
|
|
|
|
* tgamma
|
|
|
|
* lgamma
|
|
|
|
* frexp
|
|
|
|
* ldexp
|
|
|
|
* M_* constants
|
|
|
|
* M_E
|
|
|
|
* M_LOG2
|
|
|
|
* M_LOG10
|
|
|
|
* other stuff?
|
2022-06-20 04:41:44 +00:00
|
|
|
|
2022-08-10 06:12:01 +00:00
|
|
|
stdint.h:
|
|
|
|
* Implement 7.20.3
|
|
|
|
|
2022-06-20 04:41:44 +00:00
|
|
|
stdio.h:
|
2022-07-17 15:21:42 +00:00
|
|
|
* The only reason to keep a linked list of all streams is to make sure they
|
|
|
|
are flushed after main() returns. I wonder if only remembering the files
|
|
|
|
with a buffer would increase performance.
|
2022-07-18 21:27:37 +00:00
|
|
|
* Formatted scan
|
2022-07-18 22:20:09 +00:00
|
|
|
* %s precision should specify how much characters to *write*
|
2022-07-28 04:44:44 +00:00
|
|
|
* %s check for NULL
|
2022-07-24 09:31:35 +00:00
|
|
|
* %Ls this is an actual weird territory. If (wchar_t *) is a unicode string
|
|
|
|
then to determine it's "width" (to figure out field padding) would require
|
|
|
|
to use a Unicode composition algorithm. But the problem is that windows
|
|
|
|
Unicode rendering advances text by 2 units, even if it's 1 graphical
|
|
|
|
character that was composed from 2 unicode characters. The question
|
|
|
|
becomes: do we implement the thing correctly by using a more complex
|
|
|
|
solution, or do we succumb to windows' bullshittery. I guess the answer is
|
|
|
|
obvious. That's why I wrote this todo item :D
|
2022-07-28 18:02:12 +00:00
|
|
|
* tmpfile
|
|
|
|
* tmpnam
|
|
|
|
* tmpfile_s
|
|
|
|
* tmpnam_s
|
2022-08-06 00:06:03 +00:00
|
|
|
* Printing 8.98846567431157854073e+307
|
|
|
|
* Printing negative zero
|
2022-06-20 04:41:44 +00:00
|
|
|
|
|
|
|
stdlib.h:
|
2022-07-17 15:21:42 +00:00
|
|
|
* Strtod base 16 must be correctly rounded
|
|
|
|
* Multibyte string functions
|
|
|
|
* Better PRNG
|
2022-07-18 21:27:37 +00:00
|
|
|
* Fix aligned_malloc
|
2022-07-28 18:02:12 +00:00
|
|
|
* Constraint Handlers
|
|
|
|
* getenv_s
|
2022-08-08 13:48:01 +00:00
|
|
|
* aligned_alloc can't be used with free()
|
2022-07-28 18:02:12 +00:00
|
|
|
|
|
|
|
string.h:
|
|
|
|
* strnlen_s
|
|
|
|
* memset_s
|
|
|
|
* memmove_s
|
|
|
|
* memcpy_s
|
|
|
|
* strncpy_s
|
|
|
|
* strcpy_s
|
|
|
|
* strcat_s
|
|
|
|
* strncat_s
|
|
|
|
* strtok_s
|
|
|
|
* strerror_s
|
|
|
|
* strerrorlen_s
|
2022-06-20 04:41:44 +00:00
|
|
|
|
2022-08-06 12:36:16 +00:00
|
|
|
tgmath.h:
|
|
|
|
* Due to the use of conditional operator in type-generic macros the
|
|
|
|
expression always expands to the value of type `long double`. This leads
|
|
|
|
to warnings when used with printf, e.g. as in printf("%f\n", exp(0)).
|
|
|
|
Using _Generic macros isn't a good choice either, because it won't work
|
|
|
|
with typedef'd types.
|
|
|
|
In other words there's no pure-C way to do tgmath.h.
|
|
|
|
That's probably the reason msvc stdlib headers don't implement tgmath.h.
|
|
|
|
clang implements it with __attribute__((__overloadable__)).
|
|
|
|
|
2022-06-20 04:41:44 +00:00
|
|
|
threads.h:
|
2022-07-17 15:21:42 +00:00
|
|
|
* TODO: add todo items
|
2022-06-20 04:41:44 +00:00
|
|
|
|
2022-07-28 18:02:12 +00:00
|
|
|
time.h:
|
|
|
|
* Probably some other funcs
|
|
|
|
* asctime_s
|
|
|
|
* ctime_s
|
|
|
|
* gmtime_s
|
|
|
|
* localtime_s
|
|
|
|
|
2022-06-20 04:41:44 +00:00
|
|
|
wchar.h:
|
2022-08-05 04:57:31 +00:00
|
|
|
* Collation, IO, Tokenization, Conversions
|
|
|
|
|
|
|
|
|