GCC 7 warns when compiling ChibiOS 17.6.x and 18.2.x about unallowed 'register' storage class specifier in cmsis_gcc.h, an issue which has been fixed in the recent CMSIS 5.3 (or maybe already in 5.1 or 5.2 - I only checked 5.0 (broken) and 5.3).
For ChibiOS 17.6.x the exact file path is os/common/ext/CMSIS/include/cmsis_gcc.h and GCC complains about lines 150 (function '__get_PSP(void)') and 175 (function '__get_MSP(void)'). The error message is:
For ChibiOS 18.2.x tha path is now os/common/ext/ARM/CMSIS/Core/include/cmsis_gcc.h.
Code: Select all
warning: ISO C++1z does not allow 'register' storage class specifier [-Wregister]
register uint32_t result;
In the recent version of CMSIS those 'register' keywords have been removed to fix the issue.
Maybe the CMSIS parts can be updated for ChibiOS 17.6.x and 18.2.x?
PS: I don't want to start the discussion anew here, but if ChibiOS would use Git instead of SVN, the official ARM CMSIS 5 repository could be included as submodule and it would be much easier to maintain...