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
  •     #define bool _Bool
    //typedef _Bool bool;
    typedef bool bool_t;
    


    was that what you ment?
    if so, it makes it worse

    ..\Src\statemachine.c(69,0): Note 970: Use of modifier or type '_Bool' outside of a typedef [MISRA 2012 Directive 4.6, advisory]
    
    bool_t align_mode = false;
                      ^
    ..\Src\statemachine.c(70,0): Note 9075: external symbol 'align_mode' defined without a prior declaration [MISRA 2012 Rule 8.4, required]
    
    #... e -e921 */(_Bool) 0/*lint -restore */
                        ^
    ..\Src\statemachine.c(70,0): Note 970: Use of modifier or type '_Bool' outside of a typedef [MISRA 2012 Directive 4.6, advisory]
    
            if (align_mode == false)
    #... t -save -e921 */(_Bool) 0/*lint -restore */
                              ^
    ..\Src\statemachine.c(84,0): Note 970: Use of modifier or type '_Bool' outside of a typedef [MISRA 2012 Directive 4.6, advisory]
    
            if (align_mode == false)
                              ^
    ..\Src\statemachine.c(84,0): Info 731: Boolean argument to equal/not equal
    
    
    

Reply
  •     #define bool _Bool
    //typedef _Bool bool;
    typedef bool bool_t;
    


    was that what you ment?
    if so, it makes it worse

    ..\Src\statemachine.c(69,0): Note 970: Use of modifier or type '_Bool' outside of a typedef [MISRA 2012 Directive 4.6, advisory]
    
    bool_t align_mode = false;
                      ^
    ..\Src\statemachine.c(70,0): Note 9075: external symbol 'align_mode' defined without a prior declaration [MISRA 2012 Rule 8.4, required]
    
    #... e -e921 */(_Bool) 0/*lint -restore */
                        ^
    ..\Src\statemachine.c(70,0): Note 970: Use of modifier or type '_Bool' outside of a typedef [MISRA 2012 Directive 4.6, advisory]
    
            if (align_mode == false)
    #... t -save -e921 */(_Bool) 0/*lint -restore */
                              ^
    ..\Src\statemachine.c(84,0): Note 970: Use of modifier or type '_Bool' outside of a typedef [MISRA 2012 Directive 4.6, advisory]
    
            if (align_mode == false)
                              ^
    ..\Src\statemachine.c(84,0): Info 731: Boolean argument to equal/not equal
    
    
    

Children