8 Document Revision History

Revision A (October 2021)

  • Initial release of this document.

Revision B (June 2022)

  • Added a compiler limitation note for the exp2(), exp2l(), and exp2f() functions, since they have been removed from the library shipped with the MPLAB XC8 compiler.
  • Added missing inclusion of <stdio.h> in some examples performing file and formatted IO operations.
  • Added missing inclusion of <time.h> in examples using localtime().
  • Clarified that time zones are not supported by localtime().
  • Specified that <fenv.h> functionality is only available for devices with a floating-point unit.
  • Indicated that the raise() function is only implemented as a stub with MPLAB XC32 and clarified the usage of this function's example code.
  • Clarified note regarding smart IO customization of formatted IO functions.
  • Corrected the prototype shown for the vsnprintf() function.
  • Replaced description of the system() function.
  • Expanded the description of the time() function.
  • Corrected the description for getwc(), putwc(), ungetwc() functions.
  • Corrected wide string array type used in the example code for all functions implemented by <wctype.h>.
  • Replaced example code for the vswscanf() function.
  • Clarified the general description in the Syscall Interface section.
  • Updated the applicability note used by some syscall interface functions that they are additionally implemented by MPLAB XC16.
  • Added new section which indicates which functions are not thread safe.

Revision C (October 2023)

  • Added references to the MPLAB XC-DSC compiler.
  • Corrected conversion specifiers used with example code associated with ceill, expl(), logbf(), and logbl() functions.
  • Corrected example code for the remquo() family of functions.
  • Updated information relating to how the sqrt() family of functions is implemented for Cortex-M devices.
  • Improved the description of the offsetof() macro.
  • Removed undefined behavior examples for ldiv() and lldiv() functions.
  • Clarified the return value and setting of errno for the strtod() family of functions.
  • Added types for clock_t and time_t, the latter which has changed in recent XC8 compiler releases.

Revision D (September 2024)

  • Added the MPLAB XC32 form of the option used to specify the heap size in brk() and sbrk() descriptions
  • Indicated that the brk() and sbrk() functions are deprecated when using MPLAB XC32
  • Updated values in <limit.h> to accommodate new dsPIC33A devices
  • Added missing UINT_MAX values for MPLAB XC 32