SLAU132V October   2004  – February 2020

 

  1.   1
    1.     2
    2.     3
    3.     4
    4.     5
    5.     6
  2.   7
    1.     8
    2.     9
    3.     10
    4.     11
    5.     12
  3.   13
    1.     14
    2.     15
    3.     16
      1.      17
      2.      18
      3.      19
      4.      20
      5.      21
      6.      22
      7.      23
      8.      24
      9.      25
      10.      26
      11.      27
      12.      28
    4.     29
      1.      30
      2.      31
    5.     32
      1.      33
      2.      34
        1.       35
      3.      36
      4.      37
      5.      38
      6.      39
      7.      40
      8.      41
      9.      42
      10.      43
    6.     44
    7.     45
      1.      46
      2.      47
    8.     48
    9.     49
    10.     50
    11.     51
      1.      52
      2.      53
    12.     54
      1.      55
    13.     56
    14.     57
  4.   58
    1.     59
    2.     60
    3.     61
      1.      62
    4.     63
      1.      64
      2.      65
    5.     66
    6.     67
      1.      68
      2.      69
    7.     70
      1.      71
        1.       72
        2.       73
        3.       74
        4.       75
        5.       76
        6.       77
        7.       78
        8.       79
      2.      80
      3.      81
      4.      82
    8.     83
      1.      84
        1.       85
        2.       86
      2.      87
        1.       88
        2.       89
        3.       90
    9.     91
    10.     92
    11.     93
      1.      94
      2.      95
    12.     96
    13.     97
      1.      98
      2.      99
      3.      100
      4.      101
      5.      102
      6.      103
      7.      104
      8.      105
      9.      106
      10.      107
      11.      108
      12.      109
      13.      110
  5.   111
    1.     112
      1.      113
      2.      114
      3.      115
    2.     116
      1.      117
      2.      118
    3.     119
      1.      120
        1.       121
          1.        122
        2.       123
        3.       124
      2.      125
      3.      126
      4.      127
      5.      128
      6.      129
      7.      130
      8.      131
      9.      132
        1.       133
  6.   134
    1.     135
      1.      136
    2.     137
    3.     138
    4.     139
    5.     140
    6.     141
      1.      142
    7.     143
    8.     144
      1.      145
      2.      146
      3.      147
        1.       148
        2.       149
      4.      150
        1.       151
    9.     152
    10.     153
    11.     154
    12.     155
      1.      156
      2.      157
      3.      158
      4.      159
      5.      160
      6.      161
        1.       162
        2.       163
        3.       164
        4.       165
      7.      166
      8.      167
        1.       168
        2.       169
        3.       170
      9.      171
      10.      172
      11.      173
      12.      174
      13.      175
      14.      176
      15.      177
      16.      178
      17.      179
      18.      180
      19.      181
      20.      182
      21.      183
      22.      184
      23.      185
      24.      186
      25.      187
      26.      188
      27.      189
      28.      190
      29.      191
      30.      192
        1.       193
        2.       194
        3.       195
      31.      196
      32.      197
    13.     198
    14.     199
    15.     200
    16.     201
      1.      202
      2.      203
      3.      204
    17.     205
      1.      206
      2.      207
      3.      208
      4.      209
      5.      210
    18.     211
  7.   212
    1.     213
      1.      214
      2.      215
      3.      216
      4.      217
      5.      218
      6.      219
    2.     220
      1.      221
        1.       222
        2.       223
        3.       224
        4.       225
      2.      226
    3.     227
    4.     228
      1.      229
      2.      230
      3.      231
    5.     232
    6.     233
      1.      234
      2.      235
        1.       236
        2.       237
      3.      238
        1.       239
          1.        240
          2.        241
        2.       242
          1.        243
          2.        244
      4.      245
      5.      246
    7.     247
      1.      248
      2.      249
      3.      250
      4.      251
      5.      252
    8.     253
      1.      254
      2.      255
      3.      256
      4.      257
        1.       258
          1.        259
        2.       260
          1.        261
    9.     262
      1.      263
      2.      264
      3.      265
        1.       266
        2.       267
        3.       268
        4.       269
          1.        270
          2.        271
          3.        272
          4.        273
        5.       274
        6.       275
      4.      276
        1.       277
        2.       278
    10.     279
  8.   280
    1.     281
      1.      282
      2.      283
      3.      284
      4.      285
      5.      286
      6.      287
      7.      288
      8.      289
    2.     290
      1.      291
        1.       292
      2.      293
      3.      294
      4.      295
        1.       296
      5.      297
        1.       298
    3.     299
    4.     300
      1.      301
      2.      302
        1.       303
        2.       304
          1.        305
          2.        306
          3.        307
          4.        308
      3.      309
        1.       310
        2.       311
  9.   312
    1.     313
    2.     314
      1.      315
      2.      316
      3.      317
  10.   318
    1.     319
  11.   320
    1.     321

Recent Revisions

Table B-1 lists significant changes made to this document. The left column identifies the first version of this document in which that particular change appeared.

Table B-1 Revision History

Version Added Chapter Location Additions / Modifications / Deletions
SLAU132V Linking Section 4.3.7 Clarified that either --rom_model or --ram_model is required if only the linker is being run, but --rom_model is the default if the compiler runs on C/C++ files on the same command line.
SLAU132V C/C++ Language Section 5.12.25 The #pragma once is now documented for use in header files.
SLAU132V Run-Time Environment Section 6.9.3.1 Clarified that zero initialization takes place only if the --rom_model linker option is used, not if the --ram_model option is used.


Previous Revisions:
SLAU132U -- throughout -- The default file extensions for object files created by the compiler have been changed in order to prevent conflicts when C and C++ files have the same names. Object files generated from C source files have the .c.obj extension. Object files generated from C++ source files have the .cpp.obj extension.
SLAU132U Using the Compile Section 2.3 and Section 2.3.2 The --gen_func_info_listing compiler option is now documented.
SLAU132T Using the Compiler Section 2.3.1 Added the --emit_references:file linker option.
SLAU132T Using the Compiler Section 2.5.1 Documented that C standard macros such as __STDC_VERSION__ are supported.
SLAU132T C/C++ Language Section 5.12.5 Added documentation for the CODE_ALIGN pragma.
SLAU132T C/C++ Language Section 5.12.22 Clarify section placement for the NOINIT and PERSISTENT pragmas.
SLAU132T C/C++ Language Section 5.12.32 Added documentation for the WEAK pragma.
SLAU132T C/C++ Language Section 5.16.1 Updated list of C99 non-supported run-time functions.
SLAU132T C/C++ Language Section 5.17.2 Added documentation for the aligned, calls, naked, and weak function attributes.
SLAU132T C/C++ Language Section 5.17.3 Added documentation for the location and packed variable attributes.
SLAU132T Run-Time Support Functions DEV_lseek topic Corrected syntax documented for DEV_lseek function.
SLAU132S Introduction,
Using the Compiler,
C/C++ Language
Section 1.3, Section 2.3, Section 5.1, and Section 5.16.2 Added support for C11.
SLAU132S Using the Compiler Section 2.3.1 Added the --ecc=on linker option, which enables ECC generation. Note that ECC generation is now off by default.
SLAU132S Using the Compiler Section 2.5.1 The __TI_STRICT_ANSI_MODE__ and __TI_STRICT_FP_MODE__ macros are defined as 0 if their conditions are false.
SLAU132S Using the Compiler,
C/C++ Language
Section 2.11 and Section 5.12 Revised the section on inline function expansion and its subsections to include new pragmas and changes to the compilers decision-making about what functions to inline. The FORCEINLINE, FORCEINLINE_RECURSIVE, and NOINLINE pragmas have been added.
SLAU132S C/C++ Language Section 5.2 C++11 features related to atomics are now supported. In addition, removed several C++ features from the exception list because they have been supported for several releases.
SLAU132S C/C++ Language Section 5.7 Added information about character sets and file encoding.
SLAU132S C/C++ Language Section 5.17.2 and Section 5.17.3 Added "retain" as a function attribute and variable attribute.
SLAU132R Using the Compiler,
C/C++ Language
Section 2.3 and Section 5.2 The compiler now follows the C++14 standard.
SLAU132R C/C++ Language Section 5.17 The compiler now supports several Clang __has_ macro extensions.
SLAU132R C/C++ Language Section 5.17.1 The wrapper header file GCC extension (#include_next) is now supported.
SLAU132Q C/C++ Language Section 5.2 Preliminary changes have been made in order to support C++14 in a future release. These changes may cause linktime errors. Recompile object files to resolve these errors.
SLAU132Q C/C++ Language Section 5.8.1 Clarified exceptions to const data storage set by the const keyword.
SLAU132P Optimization Section 3.7.1.4 Corrected error in command to process the profile data.
SLAU132O Using the Compiler,
C/C++ Language
Section 2.3.3, Section 5.3, Section 5.12.3, and Section 5.12.27 Revised to state that --check_misra option is required even if the CHECK_MISRA pragma is used.
SLAU132O Using the Compiler Section 2.10 Corrected the document to describe the ---gen_preprocessor_listing option. The name --gen_parser_listing was incorrect.
SLAU132O Run-Time Environment Section 6.1.3 State that certain MSP430 devices do have writeable memory above the 64K boundary.
SLAU132N Optimization Section 3.7.3 Corrected function names for _TI_start_pprof_collection() and _TI_stop_pprof_collection().
SLAU132N C/C++ Language Section 5.17.2 Added the call_conv function attribute to allow IAR and TI compilers to link against the same ROM image.
SLAU132M Using the Compiler Section 2.3 The --align_for_power option has been added.
SLAU132M Using the Compiler Section 2.3 The default for --cinit_compression and --copy_compression has been changed from RLE to LZSS.
SLAU132M Using the Compiler Section 2.3 Settings available for use with the --silicon_errata option are now documented.
SLAU132M Using the Compiler Several compiler options have been deprecated, removed, or renamed. The compiler continues to accept some of the deprecated options, but they are not recommended for use. See the Compiler Option Cleanup wiki page for a list of deprecated and removed options, options that have been removed from CCS, and options that have been renamed.
SLAU132L Using the Compiler Section 2.3 and Section 4.2.2 The --gen_data_subsections option has been added.
SLAU132L Using the Compiler Section 2.3.5 The --symdebug:dwarf_version compiler option has been added. This option sets the DWARF debugging format version used.
SLAU132L Optimization Section 3.7 and Section 3.8 Feedback directed optimization is described. This technique can be used for code coverage analysis.
SLAU132L C/C++ Language Section 5.12.2 A CALLS pragma has been added to specify a set of functions that can be called indirectly from a specified calling function. Using this pragma allows such indirect calls to be included in the calculation of a functions' inclusive stack size.
SLAU132L Run-Time Environment Section 6.8 Intrinsics have been added for saturated addition and subtraction of shorts and longs.
SLAU132L Run-Time Environment Section 6.9.1 Additional boot hook functions are available. These can be customized for use during system initialization.
SLAU132K Introduction Section 1.4 The COFF object file format is no longer supported. The MSP430 Code Generation Tools now support only the Embedded Application Binary Interface (EABI) ABI, which works only with object files that use the ELF object file format and the DWARF debug format. Sections of this document that referred to the COFF format have been removed or simplified. If you would like to produce COFF output files, please use v4.4 of the MSP430 Code Generation Tools and refer to SLAU132J for documentation.

The --abi=coff, --symdebug:profile_coff, --no_sym_merge, and --diable_clink options have been deprecated.

SLAU132K Using the Compiler Section 2.3.4 The --ramfunc option has been added. If set, this option places all functions in RAM.
SLAU132K C/C++ Language Section 5.17.2 The ramfunc function attribute has been added. It specifies that a function should be placed in RAM.
SLAU132K Run-Time Environment Section 6.1.5 Corrected documentation to state that R1 is the stack pointer.
SLAU132I Introduction Section 1.3 Added support for C99 and C++03.
SLAU132I Using the Compiler Table 2-7 and Section 5.5 Added --advice:hw_config option for ULP Advisor checking of device configuration.
SLAU132I Using the Compiler Table 2-9 Added support for C99 and C++03. The -gcc option has been deprecated. The --relaxed_ansi option is now the default.
SLAU132I Using the Compiler Table 2-9 Removed documentation of precompiled headers, which are not supported for MSP430.
SLAU132I Using the Compiler Table 2-12 and Section 2.7.1 Added --section_sizes option for diagnostic reporting of section sizes.
SLAU132J Using the Compiler Table 2-14 and Section 2.3.4 Added --disable_interrupts_around_hw_mpy option.
SLAU132J Using the Compiler Table 2-14 and Section 2.3.4 The --use_hw_mpy option is now a compiler option and performs additional actions at compile time.
SLAU132J Using the Compiler Section 2.5.3 Documented that the #warning and #warn preprocessor directives are supported.
SLAU132J Using the Compiler Section 2.6 Added section on techniques for passing arguments to main().
SLAU132I Using the Compiler Section 2.11 Documented that the inline keyword is now enabled in all modes except C89 strict ANSI mode.
SLAU132J C/C++ Language Section 5.1.1 Added section documenting implementation-defined behavior.
SLAU132I C/C++ Language Section 5.4, Section 5.12.4, and Section 5.12.28 Added pragmas for enabling/resetting ULP Advisor rule checks.
SLAU132J C/C++ Language Section 5.6.1 Added documentation on the size of enum types.
SLAU132J C/C++ Language Section 5.12.20, Section 5.12.29, and Section 5.17.2 Added C++ syntax for the INTERRUPT and RETAIN pragmas. Also removed unnecessary semicolons from #pragma syntax specifications. Also the GCC interrupt and alias function attributes are now supported.
SLAU132J C/C++ Language Section 5.12.9 Added the diag_push and diag_pop diagnostic message pragmas.
SLAU132I C/C++ Language Section 5.16, Section 5.16.1, and Section 5.16.3 Added support for C99 and C++03. The --relaxed_ansi option is now the default and --strict_ansi is the other option; "normal mode" for standards violation strictness is no longer available.
SLAU132J Run-Time Environment Section 6.5 Added reference to section on accessing linker symbols in C and C++ in the Assembly Language Tools User's Guide.
SLAU132I Run-Time Environment Section 6.8.1 and Section 6.8.4 Corrected: __never_executed intrinsic has two underscores as the prefix.
SLAU132J Run-Time Support Functions Section 7.1.3 RTS source code is no longer provided in a rtssrc.zip file. Instead, it is located in separate files in the lib/src subdirectory of the compiler installation.
SLAU132J C++ Name Demangler Section 8.1 Corrected information about name demangler options.