]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/target-def.h
Update copyright years.
[thirdparty/gcc.git] / gcc / target-def.h
CommitLineData
a767736d 1/* Default initializers for a generic GCC target.
f1717362 2 Copyright (C) 2001-2016 Free Software Foundation, Inc.
a767736d 3
8c4c00c1 4 This program is free software; you can redistribute it and/or modify it
5 under the terms of the GNU General Public License as published by the
6 Free Software Foundation; either version 3, or (at your option) any
7 later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; see the file COPYING3. If not see
16 <http://www.gnu.org/licenses/>.
17
18 In other words, you are welcome to use, share and improve this program.
19 You are forbidden to forbid anyone else to use, share and improve
20 what you give them. Help stamp out software-hoarding! */
a767736d 21
202d6e5f 22/* See target.def for a description of what this file contains and how to
ddcade82 23 use it.
a767736d 24
ddcade82 25 We want to have non-NULL default definitions of all hook functions,
26 even if they do nothing. */
27
02c8b767 28/* Note that if one of these macros must be defined in an OS .h file
29 rather than the .c file, then we need to wrap the default
30 definition in a #ifndef, since files include tm.h before this one. */
31
58356836 32#define TARGET_ASM_ALIGNED_HI_OP "\t.short\t"
33#define TARGET_ASM_ALIGNED_SI_OP "\t.long\t"
34#define TARGET_ASM_ALIGNED_DI_OP NULL
35#define TARGET_ASM_ALIGNED_TI_OP NULL
36
37/* GAS and SYSV4 assemblers accept these. */
4bfa9136 38#if defined (OBJECT_FORMAT_ELF)
58356836 39#define TARGET_ASM_UNALIGNED_HI_OP "\t.2byte\t"
40#define TARGET_ASM_UNALIGNED_SI_OP "\t.4byte\t"
41#define TARGET_ASM_UNALIGNED_DI_OP "\t.8byte\t"
42#define TARGET_ASM_UNALIGNED_TI_OP NULL
43#else
44#define TARGET_ASM_UNALIGNED_HI_OP NULL
45#define TARGET_ASM_UNALIGNED_SI_OP NULL
46#define TARGET_ASM_UNALIGNED_DI_OP NULL
47#define TARGET_ASM_UNALIGNED_TI_OP NULL
4bfa9136 48#endif /* OBJECT_FORMAT_ELF */
58356836 49
01d15dc5 50#if !defined(TARGET_ASM_CONSTRUCTOR) && !defined(USE_COLLECT2)
51# ifdef CTORS_SECTION_ASM_OP
52# define TARGET_ASM_CONSTRUCTOR default_ctor_section_asm_out_constructor
53# else
54# ifdef TARGET_ASM_NAMED_SECTION
55# define TARGET_ASM_CONSTRUCTOR default_named_section_asm_out_constructor
56# else
57# define TARGET_ASM_CONSTRUCTOR default_stabs_asm_out_constructor
58# endif
59# endif
60#endif
61
62#if !defined(TARGET_ASM_DESTRUCTOR) && !defined(USE_COLLECT2)
63# ifdef DTORS_SECTION_ASM_OP
64# define TARGET_ASM_DESTRUCTOR default_dtor_section_asm_out_destructor
65# else
66# ifdef TARGET_ASM_NAMED_SECTION
67# define TARGET_ASM_DESTRUCTOR default_named_section_asm_out_destructor
68# else
69# define TARGET_ASM_DESTRUCTOR default_stabs_asm_out_destructor
70# endif
71# endif
72#endif
73
e6eccdb3 74#if !defined(TARGET_HAVE_CTORS_DTORS)
75# if defined(TARGET_ASM_CONSTRUCTOR) && defined(TARGET_ASM_DESTRUCTOR)
76# define TARGET_HAVE_CTORS_DTORS true
e6eccdb3 77# endif
01d15dc5 78#endif
79
a08b74c8 80#ifndef TARGET_TERMINATE_DW2_EH_FRAME_INFO
81#ifdef EH_FRAME_SECTION_NAME
82#define TARGET_TERMINATE_DW2_EH_FRAME_INFO false
92c473b8 83#endif
9423c9b7 84#endif
85
202d6e5f 86#if !defined(TARGET_ASM_OUTPUT_ANCHOR) && !defined(ASM_OUTPUT_DEF)
f2d0e9f1 87#define TARGET_ASM_OUTPUT_ANCHOR NULL
88#endif
182e98f4 89
58356836 90#define TARGET_ASM_ALIGNED_INT_OP \
91 {TARGET_ASM_ALIGNED_HI_OP, \
92 TARGET_ASM_ALIGNED_SI_OP, \
93 TARGET_ASM_ALIGNED_DI_OP, \
94 TARGET_ASM_ALIGNED_TI_OP}
95
96#define TARGET_ASM_UNALIGNED_INT_OP \
97 {TARGET_ASM_UNALIGNED_HI_OP, \
98 TARGET_ASM_UNALIGNED_SI_OP, \
99 TARGET_ASM_UNALIGNED_DI_OP, \
100 TARGET_ASM_UNALIGNED_TI_OP}
101
81bcd36c 102#if !defined (TARGET_FUNCTION_INCOMING_ARG)
202d6e5f 103#define TARGET_FUNCTION_INCOMING_ARG TARGET_FUNCTION_ARG
46f8e3b0 104#endif
105
202d6e5f 106#include "target-hooks-def.h"
b9fc964a 107
e27e52e0 108#include "hooks.h"
45550790 109#include "targhooks.h"
5da5e283 110#include "insn-target-def.h"