I use a stm32f4xx MCU and I've created a very simple project in cubemx foratollic truestudio. While browsing in the project's code and files I run into a strange issue when I tried to use the __INLINE, __STATIC_INLINE or__ASM macros in the main.c file.
Let's me explain better.
Since I use the CortexM4 CPU, the reference file for such as macros is the core_cm4.h one. In fact, if I try to call a macro like __CORTEX_M it regularly "belongs" to such as file (if I open its declaration) and it appears in the drop-down menù of the TrueStudio code editor. On the other hand, the aforementioned macros are not available in the drop-down menù. In addition, they got flagged as 'syntax error' and underlined in yellow if I disregard this defect and write them entirely. As a result, the compilation does not report any message or warning!
The interested code's lines of the core_cm4.h file are (__GNUC__ is defined):
#elif defined ( __GNUC__ )
#define __ASM __asm /*!< asm keyword for GNU Compiler */
#define __INLINE i nline /*!< inline keyword for GNU Compiler */
#define __STATIC_INLINE static inline
Even though I move the macros' declation out of conditional statements the effect is the very same one. It seems they are not visible to TrueStudio absolutely, not even starting from a CubeMX project from scratch.
Is this a bug or I'm overlooking something?