avr.opt revision 1.5
1; Options for the ATMEL AVR port of the compiler.
2
3; Copyright (C) 2005-2015 Free Software Foundation, Inc.
4;
5; This file is part of GCC.
6;
7; GCC is free software; you can redistribute it and/or modify it under
8; the terms of the GNU General Public License as published by the Free
9; Software Foundation; either version 3, or (at your option) any later
10; version.
11;
12; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13; WARRANTY; without even the implied warranty of MERCHANTABILITY or
14; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15; for more details.
16;
17; You should have received a copy of the GNU General Public License
18; along with GCC; see the file COPYING3.  If not see
19; <http://www.gnu.org/licenses/>.
20
21mcall-prologues
22Target Report Mask(CALL_PROLOGUES)
23Use subroutines for function prologues and epilogues
24
25mmcu=
26Target RejectNegative Joined Var(avr_mmcu) MissingArgError(missing device or architecture after %qs)
27-mmcu=MCU	Select the target MCU
28
29mn-flash=
30Target RejectNegative Joined Var(avr_n_flash) UInteger Init(-1)
31Set the number of 64 KiB flash segments
32
33mskip-bug
34Target Report Mask(SKIP_BUG)
35Indicate presence of a processor erratum
36
37mrmw
38Target Report Mask(RMW)
39Enable Read-Modify-Write (RMW) instructions support/use
40
41mdeb
42Target Report Undocumented Mask(ALL_DEBUG)
43
44mlog=
45Target RejectNegative Joined Undocumented Var(avr_log_details)
46
47mint8
48Target Report Mask(INT8)
49Use an 8-bit 'int' type
50
51mno-interrupts
52Target Report RejectNegative Mask(NO_INTERRUPTS)
53Change the stack pointer without disabling interrupts
54
55mbranch-cost=
56Target Report Joined RejectNegative UInteger Var(avr_branch_cost) Init(0)
57Set the branch costs for conditional branch instructions.  Reasonable values are small, non-negative integers.  The default branch cost is 0.
58
59morder1
60Target Report Undocumented Mask(ORDER_1)
61
62morder2
63Target Report Undocumented Mask(ORDER_2)
64
65mtiny-stack
66Target Report Mask(TINY_STACK)
67Change only the low 8 bits of the stack pointer
68
69mrelax
70Target Report
71Relax branches
72
73mpmem-wrap-around
74Target Report
75Make the linker relaxation machine assume that a program counter wrap-around occurs.
76
77maccumulate-args
78Target Report Mask(ACCUMULATE_OUTGOING_ARGS)
79Accumulate outgoing function arguments and acquire/release the needed stack space for outpoing function arguments in function prologue/epilogue.  Without this option, outgoing arguments are pushed before calling a function and popped afterwards.  This option can lead to reduced code size for functions that call many functions that get their arguments on the stack like, for example printf.
80
81mstrict-X
82Target Report Var(avr_strict_X) Init(0)
83When accessing RAM, use X as imposed by the hardware, i.e. just use pre-decrement, post-increment and indirect addressing with the X register.  Without this option, the compiler may assume that there is an addressing mode X+const similar to Y+const and Z+const and emit instructions to emulate such an addressing mode for X.
84
85;; For rationale behind -msp8 see explanation in avr.h.
86msp8
87Target Report RejectNegative Var(avr_sp8) Init(0)
88The device has no SPH special function register. This option will be overridden by the compiler driver with the correct setting if presence/absence of SPH can be deduced from -mmcu=MCU.
89
90Waddr-space-convert
91Warning C Report Var(avr_warn_addr_space_convert) Init(0)
92Warn if the address space of an address is changed.
93
94mfract-convert-truncate
95Target Report Mask(FRACT_CONV_TRUNC)
96Allow to use truncation instead of rounding towards 0 for fractional int types
97
98nodevicelib
99Driver Target Report RejectNegative
100Do not link against the device-specific library lib<MCU>.a
101