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
  • Hello Erik,

    Have you used this tool to play around with your code:

    gimpel-online.com/.../genPage.py

    When you put your code in there, it links the error message pages:
    gimpel-online.com/MsgRef.html In that entry it says:
    "You may enable this message and then suppress the message for individual types to obtain special effects. For example the following will enable the message for all but bool." +e970 -esym(970,bool)

    =====

    As for the "MISRA 2012 Directive 4.6, advisory" line in the error message, there is a good discussion here:

    stackoverflow.com/.../does-misra-c-2012-say-not-to-use-bool

    In that page they say: "Directive 4.6 says "typedefs that indicate size and signedness should be used in place of the basic numerical types"."

    Also in that page, one of the posters disagrees with Gimpel's interpretation of Directive 4.6. You might want to check with Gimpel on their forum about this.

Reply
  • Hello Erik,

    Have you used this tool to play around with your code:

    gimpel-online.com/.../genPage.py

    When you put your code in there, it links the error message pages:
    gimpel-online.com/MsgRef.html In that entry it says:
    "You may enable this message and then suppress the message for individual types to obtain special effects. For example the following will enable the message for all but bool." +e970 -esym(970,bool)

    =====

    As for the "MISRA 2012 Directive 4.6, advisory" line in the error message, there is a good discussion here:

    stackoverflow.com/.../does-misra-c-2012-say-not-to-use-bool

    In that page they say: "Directive 4.6 says "typedefs that indicate size and signedness should be used in place of the basic numerical types"."

    Also in that page, one of the posters disagrees with Gimpel's interpretation of Directive 4.6. You might want to check with Gimpel on their forum about this.

Children