CMSIS_5
CMSIS_5 copied to clipboard
system headers (system_ARMxxxx) should include headers they require
https://github.com/ARM-software/CMSIS_5/blob/develop/Device/ARM/ARMCM4/Include/system_ARMCM4.h#L41 - I checked couple of system headers like this one.
The workaround like this is required in whatever includes them:
// system_ARMCM55.h CMSIS header requires stdint.h, so include it first.
#include <stdint.h>
#include "system_ARMCM55.h"
system_ARMxxxx headers should include what they require and not require this workaround to applications. Or refactor the headers not being dependent on external headers (in this case stdint header).
System headers are typically not included directly but used through device header. I guess that's why this laziness never became a real issue.