trying to use pc-lint with MISRA 2012 I have tried to change in stdbool
#define bool _Bool //typedef _Bool bool;
makes no difference
any suggestions?
I get the below type of 'report' all over the place.
bool bIsFahrenheit = false; ^ ..\Src\statemachine.c(34,0): Note 970: Use of modifier or type '_Bool' outside of a typedef [MISRA 2012 Directive 4.6, advisory] ^ ..\Src\statemachine.c(34,0): Note 9075: external symbol 'bIsFahrenheit' defined without a prior declaration [MISRA 2012 Rule 8.4, required] #... ve -e921 */(_Bool) 0/*lint -restore */ ^ ..\Src\statemachine.c(34,0): Note 970: Use of modifier or type '_Bool' outside of a typedef [MISRA 2012 Directive 4.6, advisory]
Vaguely relevant links to promote cross-linky-ness
Modifications that may be needed to the default lint config file. You might have to make your own tweaks as well:
www.keil.com/.../misraCompliance5.html
www.keil.com/.../coreMISRA_Exceptions_pg.html
You can set the ARM Compiler 6 to emit "MISRA compatible" warnings. See:
http://www.keil.com/support/man/docs/uv4/uv4_dg_armclang_cmp.htm
Discussions at
http://www.keil.com/forum/24035/
http://www.keil.com/forum/63388/