I am a little confused...
I have an embedded project that uses the STM32 HAL libraries which in turn uses the stm32f072rb CMSIS header files.
The HAL claims here that it is Strict ANSI-C
The source code of drivers is developed in Strict ANSI-C, which makes it
independent from the development tools. It is checked with CodeSonarTM static
analysis tool. It is fully documented and is MISRA-C 2004 compliant.
I have the belief that Strict ANSI-C means C89 so I added these gcc flags to my Makefile.
CFLAGS = -std=c89\
-pedantic-errors
But when I do it gives lots of errors and warnings. If I remove these flags it compiles.
I am very confused over this. Am I lacking something or their documentation is wrong?
Here are some gcc compiler erros with the flag enabled... They keep repeating over many of STM32 HAL files.
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'
error: unknown type name 'inline'
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'NVIC_GetPriority'