This report summarizes results from two software quality assessment tools used to analyze the software in this product:
Unless noted below, all source code, both .c and .h files, for embedded target libraries was analyzed using these tools.
This report summarizes the Static Program Analysis results. For each library, a listing provides:
There are several rules in MISRA-C:2004 that are contrary to long-standing coding standards used in this product, and, hence will not be addressed in the product source code. These rules are listed in the table below. The corresponding checks were explicitly disabled in the tool when the source code was analyzed.
|MISRA C Id||Brief Summary||Exemption Rationale|
|14.4/R||The goto statement shall not be used.||Coding convention|
|14.5/R||The continue statement shall not be used.||Coding convention|
|16.7/A||A pointer parameter in a function prototype should be declared as pointer to const if the pointer is not used to modify the addressed object.||Coding convention|
|19.1/A||#include statements in a file should only be preceded by other preprocessor directives or comments.||Tool reports false positives|
|19.4/R||C macros shall only expand to a braced initialiser, a constant, a parenthesised expression, a type qualifier, a storage class specifier, or a do-while-zero construct.||Coding convention|
|19.6/R||#undef shall not be used||XDC generated .h files contain #undef|
|19.7/A||A function should not be used in preference to a function-like macro.||Coding conventions|
|19.13/A||The # and ## preprocessor operators should not be used.||Coding conventions|
|19.15/R||Precautions shall be taken in order to prevent the contents of a header file being included twice.||Tool reports false positives|
|19.17/R||All #else, #elif and #endif preprocessor directives shall reside in the same file as the #if or #ifdef directive to which they are related.||Tool reports false positives|
Justification for Not Addressing MISRA-C:2004 Violations