The IAR C/C++ Compiler supports C, C++ and Embedded C++. It supports a wide range of industry-standard debug and image formats, compatible with most popular debuggers and emulators, including ELF/DWARF where applicable.
The IAR C/C++ compilers offer different dialects of the C and C++ programming languages, as well as different extensions specific for embedded programming (please note that not all language standards are supported for all target implementations). The compiler can be instructed to disable extensions for strict conformance to the standards.
A wide range of industry-standard debug and image formats compatible with most popular debuggers and emulators are supported. This includes ELF/DWARF where applicable.
The IAR C/C++ compilers adhere to a freestanding implementation of the following C programming language standards:
IAR Embedded Workbench supports the IEEE 754 standard for floating-point arithmetic.
MISRA C is a software development standard for the C programming language developed by MISRA, The Motor Industry Software Reliability Association. Its aims are to facilitate code safety, portability and reliability in the context of embedded systems, specifically those systems programmed in ISO 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. In 2004, a second edition was produced with many substantial changes to the guidelines, including a complete renumbering of the rules.
IAR Embedded Workbench features a built-in MISRA C checker (2004 & 1998). With the add-on product C-STAT, you can check compliance with rules as defined by MISRA C:2004, MISRA C++:2008 and MISRA C:2012.
We use the following commercial test suites to test conformance of our tools to the standards:
In addition to the commercial suites we use several in-house test suites for testing new features, regression testing, corrected errors, etc.