1.2. Development Flow Differences¶
There are a few significant differences in terms of development flow behavior when migrating from the TI ARM compiler to the tiarmclang compiler. These include the following:
- The linker is invoked automatically by default by the compiler. - The tiarmclang compiler invokes the linker automatically by default, whereas the TI ARM compiler must be told to invoke the linker via the armcl’s --run_linker (-z) option. Further details about how to manage the linker invocation from the tiarmclang command-line can be found in the Using the tiarmclang Compiler and Linker section of the tiarmclang Getting Started Guide. 
- The interlist option is not supported on the compiler command line. - Unlike the TI ARM compiler, which provides -s, -ss, and -os options to instruct the compiler to generate an interlisted assembly source file, the tiarmclang does not support an interlisting option on the compiler command-line. Instead, when a C/C++ source file is compiled with debug enabled, the tiarmobjdump utility can be used with its -S option on the compiler-generated object file to produce disassembled object code with C/C++ source lines interlisted. 
- Altering the file extension of generated files is not supported on the compiler command line. - The tiarmclang compiler does not support options to alter the file extension of compiler-generated files. For more details about which TI ARM options do not have analogous tiarmclang options, please see the Migrating Command-Line Options chapter of this migration guide. 
- Compilation stops after generating assembly source if the -S option is specified. - The tiarmclang compiler supports a -S option that allows you to keep the compiler-generated assembly file, but unlike the armcl’s -k option, the tiarmclang’s -S option causes the compiler to halt immediately after generating the assembly file. When -S is used, an object file is not created by the compiler. 
