]>
Commit | Line | Data |
---|---|---|
5a41973c RS |
1 | ; Options for the ATMEL AVR port of the compiler. |
2 | ||
a5544970 | 3 | ; Copyright (C) 2005-2019 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 | |
63866e04 | 29 | mgas-isr-prologues |
7f2d3c4f | 30 | Target Report Var(avr_gasisr_prologues) UInteger Init(0) |
63866e04 GJL |
31 | Allow usage of __gcc_isr pseudo instructions in ISR prologues and epilogues. |
32 | ||
f9d29866 JR |
33 | mn-flash= |
34 | Target RejectNegative Joined Var(avr_n_flash) UInteger Init(-1) | |
a7b2e184 | 35 | Set the number of 64 KiB flash segments. |
f9d29866 JR |
36 | |
37 | mskip-bug | |
38 | Target Report Mask(SKIP_BUG) | |
a7b2e184 | 39 | Indicate presence of a processor erratum. |
f9d29866 JR |
40 | |
41 | mrmw | |
42 | Target Report Mask(RMW) | |
a7b2e184 | 43 | Enable Read-Modify-Write (RMW) instructions support/use. |
f9d29866 | 44 | |
5a41973c RS |
45 | mdeb |
46 | Target Report Undocumented Mask(ALL_DEBUG) | |
47 | ||
6c7dfafe GJL |
48 | mlog= |
49 | Target RejectNegative Joined Undocumented Var(avr_log_details) | |
50 | ||
3266ddb3 GJL |
51 | mshort-calls |
52 | Target Report RejectNegative Mask(SHORT_CALLS) | |
53 | Use RJMP / RCALL even though CALL / JMP are available. | |
54 | ||
5a41973c RS |
55 | mint8 |
56 | Target Report Mask(INT8) | |
a7b2e184 | 57 | Use an 8-bit 'int' type. |
5a41973c RS |
58 | |
59 | mno-interrupts | |
60 | Target Report RejectNegative Mask(NO_INTERRUPTS) | |
a7b2e184 | 61 | Change the stack pointer without disabling interrupts. |
5a41973c | 62 | |
f1f59bc7 GJL |
63 | mbranch-cost= |
64 | Target Report Joined RejectNegative UInteger Var(avr_branch_cost) Init(0) | |
65 | Set the branch costs for conditional branch instructions. Reasonable values are small, non-negative integers. The default branch cost is 0. | |
66 | ||
dcbe9170 GJL |
67 | mmain-is-OS_task |
68 | Target Report Mask(MAIN_IS_OS_TASK) | |
69 | Treat main as if it had attribute OS_task. | |
70 | ||
5a41973c RS |
71 | morder1 |
72 | Target Report Undocumented Mask(ORDER_1) | |
73 | ||
74 | morder2 | |
75 | Target Report Undocumented Mask(ORDER_2) | |
76 | ||
5a41973c RS |
77 | mtiny-stack |
78 | Target Report Mask(TINY_STACK) | |
a7b2e184 | 79 | Change only the low 8 bits of the stack pointer. |
2e152e16 AS |
80 | |
81 | mrelax | |
82 | Target Report | |
a7b2e184 | 83 | Relax branches. |
2e152e16 AS |
84 | |
85 | mpmem-wrap-around | |
86 | Target Report | |
d8a07487 | 87 | Make the linker relaxation machine assume that a program counter wrap-around occurs. |
e8ac5ac9 | 88 | |
d702f362 GJL |
89 | maccumulate-args |
90 | Target Report Mask(ACCUMULATE_OUTGOING_ARGS) | |
bd2c6270 | 91 | 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 | 92 | |
e8ac5ac9 GJL |
93 | mstrict-X |
94 | Target Report Var(avr_strict_X) Init(0) | |
95 | 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 |
96 | |
97 | ;; For rationale behind -msp8 see explanation in avr.h. | |
98 | msp8 | |
621dfb1e GJL |
99 | Target Report RejectNegative Var(avr_sp8) Init(0) |
100 | 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 |
101 | |
102 | Waddr-space-convert | |
103 | Warning C Report Var(avr_warn_addr_space_convert) Init(0) | |
283045c0 | 104 | Warn if the address space of an address is changed. |
67518c93 | 105 | |
22fba352 PS |
106 | Wmisspelled-isr |
107 | Warning C C++ Report Var(avr_warn_misspelled_isr) Init(1) | |
108 | Warn if the ISR is misspelled, i.e. without __vector prefix. Enabled by default. | |
109 | ||
67518c93 JR |
110 | mfract-convert-truncate |
111 | Target Report Mask(FRACT_CONV_TRUNC) | |
0f0f4f91 | 112 | Allow to use truncation instead of rounding towards zero for fractional fixed-point types. |
076d86f3 | 113 | |
d97cca4a GJL |
114 | mabsdata |
115 | Target Report Mask(ABSDATA) | |
116 | Assume that all data in static storage can be accessed by LDS / STS. This option is only useful for reduced Tiny devices. | |
117 | ||
076d86f3 GJL |
118 | nodevicelib |
119 | Driver Target Report RejectNegative | |
a7b2e184 | 120 | Do not link against the device-specific library lib<MCU>.a. |