TI Compilers and Industry Standards

From Texas Instruments Wiki
Jump to: navigation, search

Programming Language Standards

C standard

The TI compilers for all devices support

The TI compiler does not support

  • C11 (ISO/IEC 9899:2011)

See those links for details of the implementation and variations from the standard.

C++ standard

The TI compilers for all devices support

The TI compiler does not support

  • C++ TR1
  • C++11 (ISO/IEC 14882:2011)

See those links for details of the implementation and variations from the standard.

Validation

TI performs extensive regression validation tests to ensure that the compiler generates correct programs for conforming C and C++ code.

IEEE 754

The TI ARM and C6000 C/C++ Compilers support 32-bit and 64-bit format binary floating point numbers conformant to that part of IEEE-754 (ISO/IEC/IEEE 60559) available in C89 features, with the following caveats:

  • Only when using a device that natively supports floating-point arithmetic
  • The --fp_mode=strict option must be specified
  • The --fp_reassoc=off option must be specified
  • Only one NaN, qNaN (quiet NaN) is supported
  • Only "round to nearest/even" mode is supported
  • The compiler may perform optimizations which do not preserve the floating-point exception behavior at run time

See IEEE 754 Support in TI Compilers for more details.

MISRA-C

The compiler provides options to check for select MISRA-C rules. See the C/C++ Compiler User's Guide for your target.

Other industry standards

Additional industry specific tests such as IEC61508 safety tests, automotive TÜV safety tests are the responsibility of the user.

However, see