|
DAC Supported Standards
What C language standards does DAC comply with?
DAC symbol analysis is strongly depending on selected C dialect (compiler) because the main goal and advantage of DAC
analyzer is to mimic analysis of
your compiler. If ANSI C dialect is selected than DAC analysis is ANSI C (C89) compliant. ISO 9899:1999 (C99) features are supported only if selected C dialect supports them through
extensions.
For example, GNU C dialect and compilers based on GNU C (Green Hills in GNU mode or Keil RealView ARM in GNU mode) supports most of C99 features
- variable-length arrays, designated initializers, compound literals, support for variadic macros (macros of variable arity), etc. C++ comments
are supported (switch on in a dialog option). To be sure if particular dialect is C99 compliant refer to
your compiler documentation.
MISRA-C
MISRA-C is a software development standard for the C programming language
developed by the Motor Industry Software Reliability Association, or MISRA.
Its aims are to facilitate code portability and reliability in the context
of embedded systems, specifically those systems programmed in ANSI C.
The first edition of the MISRA-C standard, "Guidelines for the use of
the C language in vehicle based software", was produced in 1998, and is
officially known as MISRA-C 1998. In 2004, a second edition —
"Guidelines for the use of the C language in critical systems", or
MISRA-C 2004 — was produced, with many substantial changes to the
guidelines, including the rescinding of 15 rules that "did not make
sense" and a complete renumbering of the rules.
MISRA-C 1998 had 127 rules, of which 93 were required and 34 were advisory;
the rules were numbered in sequence from 1 to 127. The MISRA-C 2004 document
contains 141 rules, of which 121 are "required" and 20 are
"advisory"; they are divided into 21 topical categories, from
"Environment" to "Run-time failures".
- MISRA-C 1998
- MISRA-C 2004
|