General Exceptions

The following table lists the exceptions to MISRA-C:2004 rules that apply across all the library projects.

Table 1. HC(S)08 general library exceptions to MISRA-C:2004 rules
Exception MISRA-C:2004 Rule Reason
Accept non-ANSI reserved words `near' and `far' 1.1 REQ + 2.2 REQ These are HC-08 specific language extensions
Allow the use of modifiers and types outside of typedefs that indicate size and signedness 6.3 ADV Data type formats are configurable (default size and/or sign can be changed with the -T flexible type management option)
Allow function-like macros 19.7 ADV Function-like macros allow more efficient code
Allow standard library functions to be #define'd 20.1 REQ The rule cannot apply to the standard library implementation itself
Allow repeatedly included header files 19.15 REQ All the library headers are guarded using macros
Allow multiple exit points for functions 14.7 REQ Use of multiple return statements can simplify code logic
Allow unions 18.4 REQ Unions are used for effective representation of floating-point infinity
Allow `continue' statements 14.5 REQ Use of `continue' statements can simplify code logic