1. Behavioral Differences Between armcl and tiarmclang

This section of the Migration Guide contains information about general differences in behavior between the TI Arm Clang (tiarmclang) Compiler Tools and the armcl compiler tools. Some particular differences to be aware of include:

Differences in Support for Legacy TI C/C++ and Arm Assembly

  • Discontinued support for legacy TI pre-defined macro symbols, pragmas, and intrinsics.
  • The tiarmclang compiler tools support GNU-syntax Arm assembly language by default as opposed to legacy TI-syntax Arm assembly language.

Development Flow Related Differences

  • The tiarmclang compiler will invoke the linker by default, whereas the user must specify armcl’s -run_linker option to invokde the linker from the armcl command-line.
  • The tiarmclang compiler does not support a C/C++ interlist option from the compiler command-line.
  • The tiarmclang compiler will stop compilation after emitting assembly output when using the -S option.
  • The tiarmclang compiler does not support altering the file extension of compiler generated files.

Differences in Behavior of Binary Utilities

  • The command-line interface for the tiarmclang versions of the C++ Name Demangler Utility (tiarmdem) and the Name Utility (tiarmnm) behave differently than the armcl versions of armdem and armnm.

For more specific information about these differences, please see the following subsections: