SLAU132Y September 2004 – June 2021
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 6.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 6.4 for details. |
--advice:power_severity={error| warning|remark|suppress} |
Sets the diagnostic severity for ULP Advisor rules. |
--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 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:
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. |
--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. |