- IAR Embedded Workbench for Arm 9.70.x
- IAR C/C++ Development
- Compiler options
- Summary of compiler options
Summary of compiler options
This table summarizes the compiler command line options:
Command line option | Description |
|---|---|
| Specifies the calling convention |
| Generates code using the A64 instruction set |
| Specifies a data model for generating code using the A64 instruction set |
| Enables AEABI-compliant code generation |
| Generates code to align SP on entry to |
| Sets the default function mode to Arm |
| Generates code with support for branch protection using BTI, PAC, or both |
| Specifies the C89 dialect |
| Treats |
| Treats |
| Enables CMSE secure object generation |
| Specifies a processor variant |
| Specifies the default CPU mode for functions |
| Specifies Standard C++ |
| Defines preprocessor symbols |
| Generates debug information |
| Lists file dependencies |
| Enables/disables warnings for deprecated features |
| Treats these as errors |
| Treats these as remarks |
| Suppresses these diagnostics |
| Treats these as warnings |
| Specifies the format for printed diagnostics |
| Lists all diagnostic messages |
| Discards unused public symbols |
| Uses the system include files for the DLIB library and determines which configuration of the library to use |
| For user-named sections, treats explicit initializations to zero as zero initializations |
| Lists in a structured format all output files |
| Enables IAR language extensions |
| Enables a specific hardware workaround |
| Enables the Standard C keyword |
| Specifies the byte order of the generated code and data |
| Sets the minimum size on enumeration types |
| Specifies the allowed number of errors before compilation stops |
| Extends the command line |
| Extends the command line, optionally with a dependency |
| Selects the type of floating-point unit |
| Places each function of the source file in a separate section in the resulting object file |
| Generates extra functions for use from non-instrumented code. See Compiler and linker reference for C-RUN |
| Enables guards for function static variable initialization |
| Lists all referred source files and header files |
| Specifies include file path |
| Disables checking of accesses via pointers from non-instrumented code. See Compiler and linker reference for C-RUN |
| Creates a list file |
| Enables IAR or GNU language extensions |
| Makes the compiler and linker use the Libc++ library |
| Prevents the compiler from using specified registers |
| Obtains positions inside macros in diagnostic messages |
| Turns all variable and function definitions into weak definitions |
| Specifies the limit for |
| Specifies the limit for |
| Enables multi-file compilation |
| Disables alignment reduction for simple Thumb functions |
| Disables an optimization that places some variables in read-only memory |
| Omits the Byte Order Mark for UTF-8 output files |
| Disables output of call frame information |
| Disables static clustering optimizations |
| Disables code motion optimization |
| Disables the alignment optimization for constants |
| Disables common subexpression elimination |
| Sets the default value for |
| Disables C++ exception support |
| Disables section fragment handling |
| Disables function inlining |
| Generates code that should run from a memory region where it is not allowed to read data, only to execute code |
| Disables the alignment of labels in loops |
| Makes the compiler not optimize certain memory access patterns |
| Disables normalization of paths in the symbols |
| Removes the path from the return value of the symbols |
| Disables C++ RTTI support |
| Disables runtime initialization of static C variables |
| Disables the instruction scheduler |
| Relaxes the normal restrictions for code size expansion when optimizing for speed |
| Disables destruction of C++ static variables at program exit |
| Disables the automatic search for system include files |
| Disables type-based alias analysis |
| Disables the use of typedef names in diagnostics |
| Avoids unaligned accesses |
| Specifies the default syntax rules for IAR type attributes |
| Disables loop unrolling |
| Aligns variable objects based on the alignment of their type |
| Disables all warnings |
| Disables wrapping of diagnostic messages |
| Generates a warning when the path used for opening a source header file is not in the same case as the path in the file system |
| Sets the optimization level |
| Sets the object filename. Alias for |
| Uses standard output only |
| Sets the object filename |
| Sets the maximum number of instantiations of a given C++ template |
| Lists the predefined symbols. |
| Includes an include file before reading the source file |
| Generates preprocessor output |
| Defines a global named assembler label |
| Generates debug information. Alias for |
| Relaxes the rules for optimizing floating-point expressions |
| Enables remarks |
| Verifies that functions are declared before they are defined |
| Generates code that uses |
| Makes all accesses to constant data, base-addressed relative to the register |
| Enables runtime error checking. See Compiler and linker reference for C-RUN |
| Generates code that uses an offset from the static base register to address-writable data |
| Generates code that uses an offset from the static base register to address-writable data. Addresses max 64 Kbytes of memory |
| Changes a section name |
| Adds a prefix to section names |
| |
| Sets silent operation |
| Specifies the encoding for source files |
| Enables stack protection |
| Checks for strict compliance with Standard C/C++ |
| Specifies the path for system include files |
| Specifies the encoding for text output files |
| Sets default function mode to Thumb |
| Specifies the same syntax rules for IAR type attributes as for |
| Uses C++ inline semantics in C |
| Use paths as written in debug information |
| Uses |
| Uses the UTF-8 encoding for text input files |
| Enables generation of NEON vector instructions |
| Sends compiler output to the console and then exits |
| See ‑‑visibility |
| Enables VLA support |
| Makes the compiler warn when C-style casts are used in C++ source code |
| Makes the compiler warn about constructors that do not initialize all members |
| Makes the compiler warn about fields without explicit initializers |
| Warnings affect exit code |
| Warnings are treated as errors |