This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

_Bool and pc_lint

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]


Parents
  • One way is to define a typdef for bool and use that instead. MISRA should be happy with it.

    #include <stdbool.h>
    typedef bool bool_t;
    #define FALSE                   ((bool_t)0)
    #define TRUE                    ((bool_t)1)
    
    bool_t bIsFahrenheit = FALSE;
    

Reply
  • One way is to define a typdef for bool and use that instead. MISRA should be happy with it.

    #include <stdbool.h>
    typedef bool bool_t;
    #define FALSE                   ((bool_t)0)
    #define TRUE                    ((bool_t)1)
    
    bool_t bIsFahrenheit = FALSE;
    

Children