inttypes.h defines some methods which are not present but required for POSIX compliance. They are also included in the FACE General Purpose Profile.
intmax_t imaxabs(intmax_t);
imaxdiv_t imaxdiv(intmax_t, intmax_t);
intmax_t strtoimax(const char *restrict, char restrict, int);
uintmax_t strtoumax(const char *restrict, char restrict, int);
intmax_t wcstoimax(const wchar_t *restrict, wchar_t restrict, int);
uintmax_t wcstoumax(const wchar_t *restrict, wchar_t restrict, int);
This was originally discussed here (https://sourceware.org/ml/newlib/2013/msg00626.html) with follow up discussion here (https://sourceware.org/ml/newlib/2017/msg00240.html).
The consensus seems to be that the methods as currently implemented in FreeBSD address the concerns raised in that email thread.
This ticket is complete when:
- source for these methods is merged into newlib
- methods are documented in newlib
- RSB is updated appropriately
- tests are added to RTEMS
- RTEMS POSIX Compliance spreadsheet (https://goo.gl/AXrnxO) is updated
All of these methods are now present.