]>
Commit | Line | Data |
---|---|---|
5a41973c RS |
1 | ; Options for the ATMEL AVR port of the compiler. |
2 | ||
cbe34bb5 | 3 | ; Copyright (C) 2005-2017 Free Software Foundation, Inc. |
5a41973c RS |
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 | |
2f83c7d6 | 9 | ; Software Foundation; either version 3, or (at your option) any later |
5a41973c RS |
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 | |
2f83c7d6 NC |
18 | ; along with GCC; see the file COPYING3. If not see |
19 | ; <http://www.gnu.org/licenses/>. | |
5a41973c RS |
20 | |
21 | mcall-prologues | |
22 | Target Report Mask(CALL_PROLOGUES) | |
a7b2e184 | 23 | Use subroutines for function prologues and epilogues. |
5a41973c RS |
24 | |
25 | mmcu= | |
4a2caf6c | 26 | Target RejectNegative Joined Var(avr_mmcu) MissingArgError(missing device or architecture after %qs) |
a7b2e184 | 27 | -mmcu=MCU Select the target MCU. |
5a41973c | 28 | |
f9d29866 JR |
29 | mn-flash= |
30 | Target RejectNegative Joined Var(avr_n_flash) UInteger Init(-1) | |
a7b2e184 | 31 | Set the number of 64 KiB flash segments. |
f9d29866 JR |
32 | |
33 | mskip-bug | |
34 | Target Report Mask(SKIP_BUG) | |
a7b2e184 | 35 | Indicate presence of a processor erratum. |
f9d29866 JR |
36 | |
37 | mrmw | |
38 | Target Report Mask(RMW) | |
a7b2e184 | 39 | Enable Read-Modify-Write (RMW) instructions support/use. |
f9d29866 | 40 | |
5a41973c RS |
41 | mdeb |
42 | Target Report Undocumented Mask(ALL_DEBUG) | |
43 | ||
6c7dfafe GJL |
44 | mlog= |
45 | Target RejectNegative Joined Undocumented Var(avr_log_details) | |
46 | ||
5a41973c RS |
47 | mint8 |
48 | Target Report Mask(INT8) | |
a7b2e184 | 49 | Use an 8-bit 'int' type. |
5a41973c RS |
50 | |
51 | mno-interrupts | |
52 | Target Report RejectNegative Mask(NO_INTERRUPTS) | |
a7b2e184 | 53 | Change the stack pointer without disabling interrupts. |
5a41973c | 54 | |
f1f59bc7 GJL |
55 | mbranch-cost= |
56 | Target Report Joined RejectNegative UInteger Var(avr_branch_cost) Init(0) | |
57 | Set the branch costs for conditional branch instructions. Reasonable values are small, non-negative integers. The default branch cost is 0. | |
58 | ||
5a41973c RS |
59 | morder1 |
60 | Target Report Undocumented Mask(ORDER_1) | |
61 | ||
62 | morder2 | |
63 | Target Report Undocumented Mask(ORDER_2) | |
64 | ||
5a41973c RS |
65 | mtiny-stack |
66 | Target Report Mask(TINY_STACK) | |
a7b2e184 | 67 | Change only the low 8 bits of the stack pointer. |
2e152e16 AS |
68 | |
69 | mrelax | |
70 | Target Report | |
a7b2e184 | 71 | Relax branches. |
2e152e16 AS |
72 | |
73 | mpmem-wrap-around | |
74 | Target Report | |
d8a07487 | 75 | Make the linker relaxation machine assume that a program counter wrap-around occurs. |
e8ac5ac9 | 76 | |
d702f362 GJL |
77 | maccumulate-args |
78 | Target Report Mask(ACCUMULATE_OUTGOING_ARGS) | |
bd2c6270 | 79 | Accumulate outgoing function arguments and acquire/release the needed stack space for outgoing 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. |
d702f362 | 80 | |
e8ac5ac9 GJL |
81 | mstrict-X |
82 | Target Report Var(avr_strict_X) Init(0) | |
83 | When 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. | |
7fd6378e GJL |
84 | |
85 | ;; For rationale behind -msp8 see explanation in avr.h. | |
86 | msp8 | |
621dfb1e GJL |
87 | Target Report RejectNegative Var(avr_sp8) Init(0) |
88 | The 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. | |
f22e3c85 GJL |
89 | |
90 | Waddr-space-convert | |
91 | Warning C Report Var(avr_warn_addr_space_convert) Init(0) | |
283045c0 | 92 | Warn if the address space of an address is changed. |
67518c93 | 93 | |
22fba352 PS |
94 | Wmisspelled-isr |
95 | Warning C C++ Report Var(avr_warn_misspelled_isr) Init(1) | |
96 | Warn if the ISR is misspelled, i.e. without __vector prefix. Enabled by default. | |
97 | ||
67518c93 JR |
98 | mfract-convert-truncate |
99 | Target Report Mask(FRACT_CONV_TRUNC) | |
0f0f4f91 | 100 | Allow to use truncation instead of rounding towards zero for fractional fixed-point types. |
076d86f3 | 101 | |
d97cca4a GJL |
102 | mabsdata |
103 | Target Report Mask(ABSDATA) | |
104 | Assume that all data in static storage can be accessed by LDS / STS. This option is only useful for reduced Tiny devices. | |
105 | ||
076d86f3 GJL |
106 | nodevicelib |
107 | Driver Target Report RejectNegative | |
a7b2e184 | 108 | Do not link against the device-specific library lib<MCU>.a. |