MISRA Discussion Forums
Is it possible to define your own Boolean types? - Printable Version

+- MISRA Discussion Forums (https://forum.misra.org.uk)
+-- Forum: MISRA C (https://forum.misra.org.uk/forum-4.html)
+--- Forum: MISRA C:2012 guidelines (https://forum.misra.org.uk/forum-21.html)
+---- Forum: 8.10 The essential type model (https://forum.misra.org.uk/forum-165.html)
+---- Thread: Is it possible to define your own Boolean types? (/thread-1545.html)



Is it possible to define your own Boolean types? - andrea96b1 - 06-07-2020

Hello,

I want to know if it is possible to define a Boolean type and do not use the one defined in the stdbool.h. Can I define Boolean like this:
Code:
typedef uint8_t boolean;
and
Code:
#define TRUE 0x1
and
Code:
#define FALSE 0x0
? And If I define Boolean in this way, what operations, which if done using standard booleans would I violate?

Sorry in advance If the question is not too clear and If I made some mistake.


Re: Is it possible to define your own Boolean types? - misra-c - 05-08-2020

The MISRA-C working group recommends the use of the stdbool.h version of bool where available.
However Appendix D.6 on Boolean constants says:
" Tools may also provide additional ways of identifying essential Boolean types."
It is therefore possible to define a boolean type as you have done. The MISRA C:2012 rules on essentially boolean types will then apply.