3.3.4.3 Compiler and Toolchain Options

Figure 3-41. Compiler and Toolchain Options
Table 3-7. XC8 C Compiler Options
OptionDescription
General options

-mcall-prologues

Use subroutines for functions prologues and epilogues

-mno-interrupts

Change stack pointer without disabling interrupts

-funsigned-char

Default char type is unsigned

-funsigned-bitfield

Default bit field is unsigned

Symbols options

Symbols in the source can be defined (-D) or undefined (-U). New symbol declarations can be added, modified, or reordered, using the interface buttons below:

  • Add a new symbol. This icon and all following icons are reused with the same meaning in other parts of the Microchip Studio interface.

  • Remove a symbol.

  • Edit symbol.

  • Move the symbol up in the parsing order.

  • Move the symbol down in the parsing order.

Include directories

Contains all the included header and definition directories, which can be modified using the same interface as symbols

Optimization options

Optimization level (drop-down menu): -O0, -O1, -O2, -O3, -Os, -Og

No optimization, optimize for speed (level 1 - 3), optimize for size, optimize for better debugging experience

-ffunction-sections

Prepare functions for garbage collection. If a function is never used its memory will be scrapped.

-fpack-struct

Pack structure members together

-fshort-enums

Allocate only as many bytes as needed by the enumerated types

Debug options

Debug level (drop-down menu): none, -g1, -g2, -g3

Specifies the level of tracing and debugging code and headers left or inserted in the source code

Warning messages output options

-Wall

All warnings

-Werror

Generation of errors instead of warnings for dubious constructs

-pedantic

Warnings demanded by strict ANSI C; reject all programs that use forbidden extensions

-w

Suppression of all warning messages

Miscellaneous options

Other flags (form field)

Input other project-specific flags

-v

Verbose