AVR GNU C compiler options

Table 4. AVR GNU C compiler options

General options


Use subroutines for functions prologues and epilogues


Change stack pointer without disabling interrupts


Default char type is unsigned


Default bit field is unsigned

Preprocessor options


Do not search system directories


Preprocess only

Symbols options

There one can define (-D) or undefine (-U) a number of in-source symbols. New symbol declarations can be added, modified, or reordered, using the interface buttons below:

  • Add a new symbol. This and all following icons are reused with the same meaning in other parts of Atmel 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, can be modified, using the same interface as symbols.

Optimization options

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

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

Other optimization flags (manual input form)

Here you should write optimization flags specific for the platform and your requirements


Prepare functions for garbage collection, if a function is never used, its memory will be scrapped


Pack structure members together


Allocate only as many bytes needed by the enumerated types


Use rjmp/rcall limited range instructions on the >8K devices

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

Other debug options (form field)

Architecture specific debug options

Warning messages output options


All warnings


Escalate warnings to errors


Check syntax only


Check conformity to GNU, raise warnings on non-standard programming practice


Same as above, plus escalate warnings to errors

Miscelaneous options

Other flags (form field)

Input other project-specific flags




Support ANSI programs


Do not delete temporary files