2018-10-26 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / config / avr / specs.h
blob102de4bc463bb9c31c980bba2400e50c628481e5
1 /* Specs definitions for Atmel AVR back end.
3 Copyright (C) 2012-2018 Free Software Foundation, Inc.
4 Contributed by Georg-Johann Lay (avr@gjlay.de)
6 This file is part of GCC.
8 GCC is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3, or (at your option)
11 any later version.
13 GCC is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with GCC; see the file COPYING3. If not see
20 <http://www.gnu.org/licenses/>. */
23 /* Default specs layout. The actual definitions might be superseeded
24 by device- or OS- specific files, like avrlibc.h, ../rtems.h, etc.
25 The specs are repeated in the device specs files. Subspecs are
26 specs known to GCC or specs defined in the device specs files. */
29 #undef CPLUSPLUS_CPP_SPEC
30 #define CPLUSPLUS_CPP_SPEC \
31 "%(cpp)"
33 #undef CC1_SPEC
34 #define CC1_SPEC \
35 "%(cc1_n_flash) " \
36 "%(cc1_errata_skip) " \
37 "%(cc1_rmw) " \
38 "%(cc1_absdata) "
40 #undef CC1PLUS_SPEC
41 #define CC1PLUS_SPEC \
42 "%(cc1) " \
43 "%{!frtti:-fno-rtti} " \
44 "%{!fenforce-eh-specs:-fno-enforce-eh-specs} " \
45 "%{!fexceptions:-fno-exceptions} "
47 #define ASM_RELAX_SPEC \
48 "%{mrelax:--mlink-relax} "
50 #undef ASM_SPEC
51 #define ASM_SPEC \
52 "%(asm_arch) " \
53 "%(asm_relax) " \
54 "%(asm_rmw) " \
55 "%(asm_gccisr) " \
56 "%(asm_errata_skip) "
58 #define LINK_ARCH_SPEC \
59 "%{mmcu=*:-m%*} "
61 #define LINK_RELAX_SPEC \
62 "%{mrelax:--relax} "
64 #undef LINK_SPEC
65 #define LINK_SPEC \
66 "%(link_arch) " \
67 "%(link_data_start) " \
68 "%(link_text_start) " \
69 "%(link_relax) " \
70 "%(link_pmem_wrap) " \
71 "%{shared:%eshared is not supported} "
73 #undef LIB_SPEC
74 #define LIB_SPEC " %{!mmcu=avr1:-lc} "
76 #undef LIBGCC_SPEC
77 #define LIBGCC_SPEC " %{!mmcu=avr1:-lgcc} "
79 #define STARTFILE_SPEC ""
80 #define ENDFILE_SPEC ""