clean up the STATUS file

Also add "!" in front of lines requiring more work to complete for
visual cues of progress.
This commit is contained in:
Lephenixnoir 2021-05-20 16:40:39 +02:00
parent cc03641522
commit 6847596bcd
No known key found for this signature in database
GPG key ID: 1BBA026E13FC0495

135
STATUS
View file

@ -1,7 +1,7 @@
This file describes the implementation status and some notes; information is
taken from the C99 standard (ISO/IEC 9899:1999), section 7 ("Library").
Notes for implementers:
# Notes for implementers
7.1.2§6:
Use (extern) in all function prototypes
@ -14,6 +14,8 @@ Notes for implementers:
address of the function can be taken; don't rely on the macro being defined,
as the user can remove it except in some special cases
# Status
In this file, every definition is classified in one of several implementation
statuses. There are 5 stages that every definition should go through.
@ -24,10 +26,9 @@ TEST: Function/symbol/macro needs to be tested
DONE: Function/symbol/macro is defined, builds, links, and is tested
7.2 <assert.h>
7.2.1 assert: LDEPS(fprintf,stderr,abort)
! 7.2.1 assert: LDEPS(fprintf,stderr,abort)
7.3 <complex.h>
Provided by Lephenixnoir's port of OpenLibm.
7.3 <complex.h> => OpenLibm
7.4 <ctype.h>
7.4.1 is*: DONE
@ -36,88 +37,120 @@ DONE: Function/symbol/macro is defined, builds, links, and is tested
7.5 <errno.h>
7.5.2 EDOM EILSEQ ERANGE: DONE
7.6 <fenv.h>
Provided by Lephenixnoir's port of OpenLibm.
7.6 <fenv.h> => OpenLibm
7.7 <float.h>
Provided by GCC.
7.7 <float.h> => GCC
7.8 <inttypes.h>
7.8.1 PRI* macros: LDEPS(*printf)
7.8.1 SCN* macros: LDEPS(*scanf)
! 7.8.1 PRI* macros: LDEPS(*printf)
! 7.8.1 SCN* macros: LDEPS(*scanf)
7.8.2.1 imaxabs: DONE
7.8.2.2 imaxdiv: DONE
7.8.2.3 strtoimax strtoumax: DONE
7.8.2.4 wcstoimax wcstoumax: TODO
! 7.8.2.4 wcstoimax wcstoumax: TODO
7.9 <iso646.h>
Provided by GCC.
7.9 <iso646.h> => GCC
7.10 <limits.h>
Provided by GCC.
7.10 <limits.h> => GCC
7.11 <locale.h>
7.11.1 setlocale: TEST
7.11.2 localeconv: TEST
! 7.11.1 setlocale: TEST
! 7.11.2 localeconv: TEST
What if we wanted to support more locales?
-> Need to a mechanism to supply the raw information, similar to the text
files in /usr/share/i18n/locales
-> Implement setlocale() and localeconv() properly (not hard)
-> Probably support nl_langinfo(), which is much better than localeconv()
-> Fix the "TODO: locale: ..." messages wherever assumptions on the locale
are made in the code
7.12 <math.h>
Provided by Lephenixnoir's port of OpenLibm.
7.12 <math.h> => OpenLibm
7.13 <setjmp.h>
7.13.1 setjmp: TEST
7.13.2 longjmp: TEST
! 7.13.1 setjmp: TEST
! 7.13.2 longjmp: TEST
7.14 <signal.h>
TODO: Difficult; the execution environment might not support signals
! 7.14.1 Macros and stuff: TODO
! 7.14.1.1 signal: TODO
! 7.14.1.2 raise: TODO
7.15 <stdarg.h>
Provided by GCC.
7.15 <stdarg.h> => GCC
7.16 <stdbool.h>
Provided by GCC.
7.16 <stdbool.h> => GCC
7.17 <stddef.h>
Provided by GCC.
7.17 <stddef.h> => GCC
7.18 <stdint.h>
Provided by GCC.
7.18 <stdint.h> => GCC
7.19 <stdio.h>
TODO (will give the full list later on)
! 7.19.1 Introduction: TODO
! 7.19.4 Operations on files: TODO
! 7.19.5 File access functions: TODO
! 7.19.6 Formatted input/output functions: TODO
! 7.19.7 Character input/output functions: TODO
! 7.19.8 Direct input/output functions: TODO
! 7.19.9 File positioning functions: TODO
! 7.19.10 Error-handling functions: TODO
7.20 <stdlib.h>
7.20.1.1 atof: TODO
! 7.20.1.1 atof: TODO
7.20.1.2 atoi, atol, atoll: DONE
7.20.1.3 strtod, strtof, strtold: TODO
! 7.20.1.3 strtod, strtof, strtold: TODO
7.20.1.4 strtol, strtoul, strtoll, strtoull: DONE
7.20.2 Pseudo-random sequence generation functions: TODO
7.20.3 Memory management functions: TODO (check existing code first)
7.20.4 Communication with the environment: TODO
7.20.5 Searching and sorting utilities: TODO
! 7.20.2 Pseudo-random sequence generation functions: TODO
! 7.20.3 Memory management functions: TODO (check existing code first)
! 7.20.4 Communication with the environment: TODO
! 7.20.5 Searching and sorting utilities: TODO
7.20.6.1 abs, labs, llabs: DONE
7.20.6.2 div, ldiv, lldiv: DONE
7.20.7 Multibyte/wide character conversion functions: TODO
7.20.8 Multibyte/wide string conversion functions: TODO
! 7.20.7 Multibyte/wide character conversion functions: TODO
! 7.20.8 Multibyte/wide string conversion functions: TODO
7.21 <string.h>
TODO (will give the full list later on)
7.21.2.1 memcpy: DONE
7.21.2.2 memmove: DONE
! 7.21.2.3 strcpy: TODO
! 7.21.2.4 strncpy: TODO
! 7.21.3.1 strcat: TODO
! 7.21.3.2 strncat: TODO
! 7.21.4.1 memcmp: TEST
! 7.21.4.2 strcmp: TODO
! 7.21.4.3 strcoll: TODO
! 7.21.4.4 strncmp: TODO
! 7.21.4.5 strxfrm: TODO
! 7.21.5.1 memchr: TODO
! 7.21.5.2 strchr: TODO
! 7.21.5.3 strcspn: TODO
! 7.21.5.4 strpbrk: TODO
! 7.21.5.5 strrchr: TODO
! 7.21.5.6 strspn: TODO
! 7.21.5.7 strstr: TODO
! 7.21.5.8 strtok: TODO
7.21.6.1 memset: DONE
! 7.21.6.2 strerror: TODO
! 7.21.6.3 strlen: TODO
7.22 <tgmath.h>
Provided by GCC.
7.22 <tgmath.h> => GCC
7.23 <time.h>
TODO (will give the full list later on)
! 7.23.1 Components of time: TODO
! 7.23.2.1 clock: TODO
! 7.23.2.2 difftime: TODO
! 7.23.2.3 mktime: TODO
! 7.23.2.4 time: TODO
! 7.23.3.1 asctime: TODO
! 7.23.3.2 ctime: TODO
! 7.23.3.3 gmtime: TODO
! 7.23.3.4 localtime: TODO
! 7.23.3.5 strftime: TODO
7.24 <wchar.h>
TODO (not a priority)
7.25 <wctype.h>
TODO (not a priority)
# Supporting locales
What if we wanted to support more locales?
-> Need to a mechanism to supply the raw information, similar to the text files
in /usr/share/i18n/locales
-> Implement setlocale() and localeconv() properly (not hard)
-> Probably support nl_langinfo(), which is much better than localeconv()
-> Fix the "TODO: locale: ..." messages wherever assumptions on the locale are
made in the code
-> Properly implement strcoll() and strxfrm()