SLAU132V October 2004 – February 2020
Following are detailed descriptions of miscellaneous options:
--advice:hw_config={all|none
rulespec} |
Enables checking the device configuration. For example, the FRAM waitstate configuration is checked. Information about resolving a device configuration issue can be found by clicking the link provided in Code Composer Studio when one of these checks produces a warning. See Section 5.5 for details. |
--advice:power={all|none|
rulespec} |
Enables checking code against ULP (ultra low power) Advisor rules for possible power inefficiencies. More detailed information can be found at www.ti.com/ulpadvisor. The rulespec parameter is a comma-separated list of specifiers. See Section 5.4 for details. |
--advice:power_severity={error|
warning|remark|suppress} |
Sets the diagnostic severity for ULP Advisor rules. |
--check_misra={all|required|
advisory|none|rulespec} |
Displays the specified amount or type of MISRA-C documentation. This option must be used if you want to enable use of the CHECK_MISRA and RESET_MISRA pragmas within the source code. The rulespec parameter is a comma-separated list of specifiers. See Section 5.3 for details. |
--float_operations_allowed= {none|all|32|64} | Restricts the type of floating point operations allowed in the application. The default is all. If set to none, 32, or 64, the application is checked for operations that will be performed at runtime. For example, if --float_operations_allowed=32 is specified on the command line, the compiler issues an error if a double precision operation will be generated. This can be used to ensure that double precision operations are not accidentally introduced into an application. The checks are performed after relaxed mode optimizations have been performed, so illegal operations that are completely removed result in no diagnostic messages. |
--fp_mode={relaxed|strict} | The default floating-point mode is strict. To enable relaxed floating-point mode use the --fp_mode=relaxed option. Relaxed floating-point mode causes double-precision floating-point computations and storage to be converted to single-precision floating-point or integers where possible. This behavior does not conform with ISO, but it results in faster code, with some loss in accuracy. The following specific changes occur in relaxed mode:
|
In the following examples, iN=integer variable, fN=float variable, and dN=double variable:
il = f1 + f2 * 5.0 -> +, * are float, 5.0 is converted to 5.0f
To enable relaxed floating-point mode use the --fp_mode=relaxed option, which also sets --fp_reassoc=on. To disable relaxed floating-point mode use the --fp_mode=strict option, which also sets --fp_reassoc=off. If --strict_ansi is specified, --fp_mode=strict is set automatically. You can enable the relaxed floating-point mode with strict ANSI mode by specifying --fp_mode=relaxed after --strict_ansi. |
|
--fp_reassoc={on|off} | Enables or disables the reassociation of floating-point arithmetic. If --strict_ansi is set, --fp_reassoc=off is set since reassociation of floating-point arithmetic is an ANSI violation.
Because floating-point values are of limited precision, and because floating-point operations round, floating-point arithmetic is neither associative nor distributive. For instance, (1 + 3e100) - 3e100 is not equal to 1 + (3e100 - 3e100). If strictly following IEEE 754, the compiler cannot, in general, reassociate floating-point operations. Using --fp_reassoc=on allows the compiler to perform the algebraic reassociation, at the cost of a small amount of precision for some operations. |
--misra_advisory={error|
warning|remark|suppress} |
Sets the diagnostic severity for advisory MISRA-C:2004 rules. |
--misra_required={error|
warning|remark|suppress} |
Sets the diagnostic severity for required MISRA-C:2004 rules. |
--preinclude=filename | Includes the source code of filename at the beginning of the compilation. This can be used to establish standard macro definitions. The filename is searched for in the directories on the include search list. The files are processed in the order in which they were specified. |
--printf_support={full|
nofloat|minimal} |
Enables support for smaller, limited versions of the printf function family (sprintf, fprintf, etc.) and the scanf function family (sscanf, fscanf, etc.) run-time-support functions. The valid values are:
There is no run-time error checking to detect if a format specifier is used for which support is not included. The --printf_support option precedes the --run_linker option, and must be used when performing the final link. |