Appendix G

Main differences between eCv C and MISRA-C 2004

Here is a list of the main differences between the language accepted by eCv in C90 mode and MISRA-C 2004. Numbers in brackets are the corresponding MISRA rule numbers.

MISRA rules not fully enforced by eCv

The MISRA-C 2004 standard has 141 rules constraining how the C language may be used. Compliance with about 128 of these rules can in principle be checked by source code analysis, with formal verification needed in the case of a few rules. eCv currently checks 52 MISRA rules in full and 16 rules in part. Future versions of eCv may support additional MISRA compliance checks.

The following lists the MISRA rules that eCv allows to be violated without generating a warning or error message.

Notes:

  1. The above assumes that the "Enable MISRA warnings" feature is turned on; otherwise, checks for a few MISRA rules are relaxed or disabled.
  2. The commenting rules (2.x) and preprocessor rules (19.x) are only checked if you are using eCv's own preprocessor, not if you are using your compiler's preprocessor.
  3. Compliance with rules 1.2, 12.2, 12.8, 17.2, 17.3 and 21.1 can only be ensured if verification is run and the verification conditions corresponding to these rules are successfully discharged by the theorem prover.

eCv rules that are stronger than the MISRA rules


TOC   TOC

eCv Manual, Version 5.0, September 2011.
© 2010 onwards Escher Technologies Limited. All rights reserved.