]>
Commit | Line | Data |
---|---|---|
672a6f42 | 1 | /* Default initializers for a generic GCC target. |
e129d93a | 2 | Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc. |
672a6f42 NB |
3 | |
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 2, 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; if not, write to the Free Software | |
16 | Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
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! */ | |
21 | ||
07c9d2eb | 22 | /* See target.h for a description of what this file contains and how to |
a8b997e8 | 23 | use it. |
672a6f42 | 24 | |
a8b997e8 NB |
25 | We want to have non-NULL default definitions of all hook functions, |
26 | even if they do nothing. */ | |
27 | ||
07c9d2eb SS |
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 | ||
b4c25db2 | 32 | /* Assembler output. */ |
17b53c33 NB |
33 | #define TARGET_ASM_OPEN_PAREN "(" |
34 | #define TARGET_ASM_CLOSE_PAREN ")" | |
301d03af RS |
35 | #define TARGET_ASM_BYTE_OP "\t.byte\t" |
36 | ||
37 | #define TARGET_ASM_ALIGNED_HI_OP "\t.short\t" | |
38 | #define TARGET_ASM_ALIGNED_SI_OP "\t.long\t" | |
39 | #define TARGET_ASM_ALIGNED_DI_OP NULL | |
40 | #define TARGET_ASM_ALIGNED_TI_OP NULL | |
41 | ||
42 | /* GAS and SYSV4 assemblers accept these. */ | |
4a023207 | 43 | #if defined (OBJECT_FORMAT_ELF) |
301d03af RS |
44 | #define TARGET_ASM_UNALIGNED_HI_OP "\t.2byte\t" |
45 | #define TARGET_ASM_UNALIGNED_SI_OP "\t.4byte\t" | |
46 | #define TARGET_ASM_UNALIGNED_DI_OP "\t.8byte\t" | |
47 | #define TARGET_ASM_UNALIGNED_TI_OP NULL | |
48 | #else | |
49 | #define TARGET_ASM_UNALIGNED_HI_OP NULL | |
50 | #define TARGET_ASM_UNALIGNED_SI_OP NULL | |
51 | #define TARGET_ASM_UNALIGNED_DI_OP NULL | |
52 | #define TARGET_ASM_UNALIGNED_TI_OP NULL | |
4a023207 | 53 | #endif /* OBJECT_FORMAT_ELF */ |
301d03af RS |
54 | |
55 | #define TARGET_ASM_INTEGER default_assemble_integer | |
56 | ||
5eb99654 KG |
57 | #ifndef TARGET_ASM_GLOBALIZE_LABEL |
58 | #define TARGET_ASM_GLOBALIZE_LABEL default_globalize_label | |
59 | #endif | |
4746cf84 MA |
60 | |
61 | #ifndef TARGET_ASM_EMIT_UNWIND_LABEL | |
62 | #define TARGET_ASM_EMIT_UNWIND_LABEL default_emit_unwind_label | |
63 | #endif | |
64 | ||
4977bab6 ZW |
65 | #ifndef TARGET_ASM_INTERNAL_LABEL |
66 | #define TARGET_ASM_INTERNAL_LABEL default_internal_label | |
67 | #endif | |
5eb99654 | 68 | |
93638d7a | 69 | #ifndef TARGET_ASM_ASSEMBLE_VISIBILITY |
bd79540a | 70 | #define TARGET_ASM_ASSEMBLE_VISIBILITY default_assemble_visibility |
93638d7a AM |
71 | #endif |
72 | ||
08c148a8 NB |
73 | #define TARGET_ASM_FUNCTION_PROLOGUE default_function_pro_epilogue |
74 | #define TARGET_ASM_FUNCTION_EPILOGUE default_function_pro_epilogue | |
b4c25db2 NB |
75 | #define TARGET_ASM_FUNCTION_END_PROLOGUE no_asm_to_stream |
76 | #define TARGET_ASM_FUNCTION_BEGIN_EPILOGUE no_asm_to_stream | |
08c148a8 | 77 | |
ae46c4e0 RH |
78 | #ifndef TARGET_ASM_SELECT_SECTION |
79 | #define TARGET_ASM_SELECT_SECTION default_select_section | |
80 | #endif | |
81 | ||
82 | #ifndef TARGET_ASM_UNIQUE_SECTION | |
83 | #define TARGET_ASM_UNIQUE_SECTION default_unique_section | |
84 | #endif | |
85 | ||
b64a1b53 RH |
86 | #ifndef TARGET_ASM_SELECT_RTX_SECTION |
87 | #define TARGET_ASM_SELECT_RTX_SECTION default_select_rtx_section | |
88 | #endif | |
89 | ||
2cc07db4 RH |
90 | #if !defined(TARGET_ASM_CONSTRUCTOR) && !defined(USE_COLLECT2) |
91 | # ifdef CTORS_SECTION_ASM_OP | |
92 | # define TARGET_ASM_CONSTRUCTOR default_ctor_section_asm_out_constructor | |
93 | # else | |
94 | # ifdef TARGET_ASM_NAMED_SECTION | |
95 | # define TARGET_ASM_CONSTRUCTOR default_named_section_asm_out_constructor | |
96 | # else | |
97 | # define TARGET_ASM_CONSTRUCTOR default_stabs_asm_out_constructor | |
98 | # endif | |
99 | # endif | |
100 | #endif | |
101 | ||
102 | #if !defined(TARGET_ASM_DESTRUCTOR) && !defined(USE_COLLECT2) | |
103 | # ifdef DTORS_SECTION_ASM_OP | |
104 | # define TARGET_ASM_DESTRUCTOR default_dtor_section_asm_out_destructor | |
105 | # else | |
106 | # ifdef TARGET_ASM_NAMED_SECTION | |
107 | # define TARGET_ASM_DESTRUCTOR default_named_section_asm_out_destructor | |
108 | # else | |
109 | # define TARGET_ASM_DESTRUCTOR default_stabs_asm_out_destructor | |
110 | # endif | |
111 | # endif | |
112 | #endif | |
113 | ||
483ab821 | 114 | #define TARGET_ASM_OUTPUT_MI_THUNK NULL |
3961e8fe | 115 | #define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_false |
483ab821 | 116 | |
2cc07db4 RH |
117 | #if defined(TARGET_ASM_CONSTRUCTOR) && defined(TARGET_ASM_DESTRUCTOR) |
118 | #define TARGET_HAVE_CTORS_DTORS true | |
119 | #else | |
120 | #define TARGET_HAVE_CTORS_DTORS false | |
121 | #define TARGET_ASM_CONSTRUCTOR NULL | |
122 | #define TARGET_ASM_DESTRUCTOR NULL | |
123 | #endif | |
124 | ||
7c262518 RH |
125 | #ifdef TARGET_ASM_NAMED_SECTION |
126 | #define TARGET_HAVE_NAMED_SECTIONS true | |
127 | #else | |
128 | #define TARGET_ASM_NAMED_SECTION default_no_named_section | |
129 | #define TARGET_HAVE_NAMED_SECTIONS false | |
130 | #endif | |
131 | ||
3d78f2e9 RH |
132 | #ifndef TARGET_HAVE_TLS |
133 | #define TARGET_HAVE_TLS false | |
134 | #endif | |
135 | ||
275b6d80 DE |
136 | #ifndef TARGET_HAVE_SRODATA_SECTION |
137 | #define TARGET_HAVE_SRODATA_SECTION false | |
138 | #endif | |
139 | ||
7606e68f SS |
140 | #ifndef TARGET_TERMINATE_DW2_EH_FRAME_INFO |
141 | #ifdef EH_FRAME_SECTION_NAME | |
142 | #define TARGET_TERMINATE_DW2_EH_FRAME_INFO false | |
143 | #else | |
144 | #define TARGET_TERMINATE_DW2_EH_FRAME_INFO true | |
145 | #endif | |
146 | #endif | |
147 | ||
96714395 AH |
148 | #define TARGET_DWARF_REGISTER_SPAN hook_rtx_rtx_null |
149 | ||
07c9d2eb SS |
150 | #ifndef TARGET_ASM_EXCEPTION_SECTION |
151 | #define TARGET_ASM_EXCEPTION_SECTION default_exception_section | |
152 | #endif | |
153 | ||
154 | #ifndef TARGET_ASM_EH_FRAME_SECTION | |
155 | #define TARGET_ASM_EH_FRAME_SECTION default_eh_frame_section | |
156 | #endif | |
157 | ||
1bc7c5b6 ZW |
158 | #ifndef TARGET_ASM_FILE_START |
159 | #define TARGET_ASM_FILE_START default_file_start | |
160 | #endif | |
161 | ||
a5fe455b ZW |
162 | #ifndef TARGET_ASM_FILE_END |
163 | #define TARGET_ASM_FILE_END hook_void_void | |
164 | #endif | |
165 | ||
1bc7c5b6 ZW |
166 | #ifndef TARGET_ASM_FILE_START_APP_OFF |
167 | #define TARGET_ASM_FILE_START_APP_OFF false | |
168 | #endif | |
169 | ||
170 | #ifndef TARGET_ASM_FILE_START_FILE_DIRECTIVE | |
171 | #define TARGET_ASM_FILE_START_FILE_DIRECTIVE false | |
172 | #endif | |
173 | ||
6773a41c RO |
174 | #ifndef TARGET_ASM_EXTERNAL_LIBCALL |
175 | #define TARGET_ASM_EXTERNAL_LIBCALL default_external_libcall | |
176 | #endif | |
177 | ||
301d03af RS |
178 | #define TARGET_ASM_ALIGNED_INT_OP \ |
179 | {TARGET_ASM_ALIGNED_HI_OP, \ | |
180 | TARGET_ASM_ALIGNED_SI_OP, \ | |
181 | TARGET_ASM_ALIGNED_DI_OP, \ | |
182 | TARGET_ASM_ALIGNED_TI_OP} | |
183 | ||
184 | #define TARGET_ASM_UNALIGNED_INT_OP \ | |
185 | {TARGET_ASM_UNALIGNED_HI_OP, \ | |
186 | TARGET_ASM_UNALIGNED_SI_OP, \ | |
187 | TARGET_ASM_UNALIGNED_DI_OP, \ | |
188 | TARGET_ASM_UNALIGNED_TI_OP} | |
189 | ||
17b53c33 NB |
190 | #define TARGET_ASM_OUT {TARGET_ASM_OPEN_PAREN, \ |
191 | TARGET_ASM_CLOSE_PAREN, \ | |
301d03af RS |
192 | TARGET_ASM_BYTE_OP, \ |
193 | TARGET_ASM_ALIGNED_INT_OP, \ | |
194 | TARGET_ASM_UNALIGNED_INT_OP, \ | |
195 | TARGET_ASM_INTEGER, \ | |
5eb99654 | 196 | TARGET_ASM_GLOBALIZE_LABEL, \ |
4746cf84 | 197 | TARGET_ASM_EMIT_UNWIND_LABEL, \ |
4977bab6 | 198 | TARGET_ASM_INTERNAL_LABEL, \ |
93638d7a | 199 | TARGET_ASM_ASSEMBLE_VISIBILITY, \ |
17b53c33 | 200 | TARGET_ASM_FUNCTION_PROLOGUE, \ |
b4c25db2 NB |
201 | TARGET_ASM_FUNCTION_END_PROLOGUE, \ |
202 | TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, \ | |
7c262518 | 203 | TARGET_ASM_FUNCTION_EPILOGUE, \ |
2cc07db4 | 204 | TARGET_ASM_NAMED_SECTION, \ |
07c9d2eb SS |
205 | TARGET_ASM_EXCEPTION_SECTION, \ |
206 | TARGET_ASM_EH_FRAME_SECTION, \ | |
ae46c4e0 | 207 | TARGET_ASM_SELECT_SECTION, \ |
b64a1b53 | 208 | TARGET_ASM_SELECT_RTX_SECTION, \ |
ae46c4e0 | 209 | TARGET_ASM_UNIQUE_SECTION, \ |
2cc07db4 | 210 | TARGET_ASM_CONSTRUCTOR, \ |
483ab821 MM |
211 | TARGET_ASM_DESTRUCTOR, \ |
212 | TARGET_ASM_OUTPUT_MI_THUNK, \ | |
a5fe455b | 213 | TARGET_ASM_CAN_OUTPUT_MI_THUNK, \ |
1bc7c5b6 | 214 | TARGET_ASM_FILE_START, \ |
6773a41c RO |
215 | TARGET_ASM_FILE_END, \ |
216 | TARGET_ASM_EXTERNAL_LIBCALL} | |
08c148a8 | 217 | |
c237e94a ZW |
218 | /* Scheduler hooks. All of these default to null pointers, which |
219 | haifa-sched.c looks for and handles. */ | |
220 | #define TARGET_SCHED_ADJUST_COST 0 | |
221 | #define TARGET_SCHED_ADJUST_PRIORITY 0 | |
222 | #define TARGET_SCHED_ISSUE_RATE 0 | |
223 | #define TARGET_SCHED_VARIABLE_ISSUE 0 | |
224 | #define TARGET_SCHED_INIT 0 | |
225 | #define TARGET_SCHED_FINISH 0 | |
58565a33 SKG |
226 | #define TARGET_SCHED_INIT_GLOBAL 0 |
227 | #define TARGET_SCHED_FINISH_GLOBAL 0 | |
c237e94a ZW |
228 | #define TARGET_SCHED_REORDER 0 |
229 | #define TARGET_SCHED_REORDER2 0 | |
30028c85 | 230 | #define TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK 0 |
fae15c93 VM |
231 | #define TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE 0 |
232 | #define TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN 0 | |
233 | #define TARGET_SCHED_DFA_PRE_CYCLE_INSN 0 | |
234 | #define TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN 0 | |
235 | #define TARGET_SCHED_DFA_POST_CYCLE_INSN 0 | |
236 | #define TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD 0 | |
30028c85 VM |
237 | #define TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD 0 |
238 | #define TARGET_SCHED_DFA_NEW_CYCLE 0 | |
fae15c93 VM |
239 | #define TARGET_SCHED_INIT_DFA_BUBBLES 0 |
240 | #define TARGET_SCHED_DFA_BUBBLE 0 | |
569fa502 | 241 | #define TARGET_SCHED_IS_COSTLY_DEPENDENCE 0 |
fae15c93 VM |
242 | |
243 | #define TARGET_SCHED \ | |
244 | {TARGET_SCHED_ADJUST_COST, \ | |
245 | TARGET_SCHED_ADJUST_PRIORITY, \ | |
246 | TARGET_SCHED_ISSUE_RATE, \ | |
247 | TARGET_SCHED_VARIABLE_ISSUE, \ | |
248 | TARGET_SCHED_INIT, \ | |
249 | TARGET_SCHED_FINISH, \ | |
58565a33 SKG |
250 | TARGET_SCHED_INIT_GLOBAL, \ |
251 | TARGET_SCHED_FINISH_GLOBAL, \ | |
fae15c93 VM |
252 | TARGET_SCHED_REORDER, \ |
253 | TARGET_SCHED_REORDER2, \ | |
30028c85 | 254 | TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK, \ |
fae15c93 VM |
255 | TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE, \ |
256 | TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN, \ | |
257 | TARGET_SCHED_DFA_PRE_CYCLE_INSN, \ | |
258 | TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN, \ | |
259 | TARGET_SCHED_DFA_POST_CYCLE_INSN, \ | |
260 | TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD, \ | |
30028c85 VM |
261 | TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD, \ |
262 | TARGET_SCHED_DFA_NEW_CYCLE, \ | |
fae15c93 | 263 | TARGET_SCHED_INIT_DFA_BUBBLES, \ |
569fa502 DN |
264 | TARGET_SCHED_DFA_BUBBLE, \ |
265 | TARGET_SCHED_IS_COSTLY_DEPENDENCE} | |
c237e94a | 266 | |
dcefdf67 | 267 | /* In tree.c. */ |
672a6f42 NB |
268 | #define TARGET_MERGE_DECL_ATTRIBUTES merge_decl_attributes |
269 | #define TARGET_MERGE_TYPE_ATTRIBUTES merge_type_attributes | |
349ae713 | 270 | #define TARGET_ATTRIBUTE_TABLE NULL |
672a6f42 | 271 | |
dcefdf67 RH |
272 | /* In cse.c. */ |
273 | #define TARGET_ADDRESS_COST default_address_cost | |
274 | ||
f6155fda | 275 | /* In builtins.c. */ |
c15c90bb | 276 | #define TARGET_INIT_BUILTINS hook_void_void |
f6155fda SS |
277 | #define TARGET_EXPAND_BUILTIN default_expand_builtin |
278 | ||
7c262518 RH |
279 | /* In varasm.c. */ |
280 | #ifndef TARGET_SECTION_TYPE_FLAGS | |
281 | #define TARGET_SECTION_TYPE_FLAGS default_section_type_flags | |
282 | #endif | |
283 | ||
772c5265 RH |
284 | #ifndef TARGET_STRIP_NAME_ENCODING |
285 | #define TARGET_STRIP_NAME_ENCODING default_strip_name_encoding | |
286 | #endif | |
287 | ||
47754fd5 RH |
288 | #ifndef TARGET_BINDS_LOCAL_P |
289 | #define TARGET_BINDS_LOCAL_P default_binds_local_p | |
290 | #endif | |
291 | ||
4977bab6 ZW |
292 | #ifndef TARGET_VALID_POINTER_MODE |
293 | #define TARGET_VALID_POINTER_MODE default_valid_pointer_mode | |
294 | #endif | |
295 | ||
c8e4f0e9 AH |
296 | #ifndef TARGET_VECTOR_OPAQUE_P |
297 | #define TARGET_VECTOR_OPAQUE_P hook_bool_tree_false | |
62e1dfcf NC |
298 | #endif |
299 | ||
e4ec2cac | 300 | /* In hook.c. */ |
7b1bd3c5 | 301 | #define TARGET_CANNOT_MODIFY_JUMPS_P hook_bool_void_false |
a3424f5c | 302 | #define TARGET_BRANCH_TARGET_REGISTER_CLASS hook_int_void_no_regs |
fe3ad572 | 303 | #define TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED hook_bool_bool_false |
3a04ff64 | 304 | #define TARGET_CANNOT_FORCE_CONST_MEM hook_bool_rtx_false |
0b077eac | 305 | #define TARGET_CANNOT_COPY_INSN_P NULL |
7daebb7a | 306 | #define TARGET_DELEGITIMIZE_ADDRESS hook_rtx_rtx_identity |
4977bab6 | 307 | #define TARGET_FUNCTION_OK_FOR_SIBCALL hook_bool_tree_tree_false |
7b1bd3c5 RH |
308 | #define TARGET_COMP_TYPE_ATTRIBUTES hook_int_tree_tree_1 |
309 | #define TARGET_SET_DEFAULT_TYPE_ATTRIBUTES hook_void_tree | |
310 | #define TARGET_INSERT_ATTRIBUTES hook_void_tree_treeptr | |
311 | #define TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P hook_bool_tree_false | |
312 | #define TARGET_MS_BITFIELD_LAYOUT_P hook_bool_tree_false | |
dcefdf67 | 313 | #define TARGET_RTX_COSTS hook_bool_rtx_int_int_intp_false |
275b6d80 | 314 | |
c15c90bb ZW |
315 | #ifndef TARGET_INIT_LIBFUNCS |
316 | #define TARGET_INIT_LIBFUNCS hook_void_void | |
317 | #endif | |
318 | ||
275b6d80 | 319 | #ifndef TARGET_IN_SMALL_DATA_P |
7b1bd3c5 | 320 | #define TARGET_IN_SMALL_DATA_P hook_bool_tree_false |
275b6d80 | 321 | #endif |
e4ec2cac | 322 | |
fb49053f | 323 | #ifndef TARGET_ENCODE_SECTION_INFO |
52859c77 | 324 | #define TARGET_ENCODE_SECTION_INFO default_encode_section_info |
fb49053f RH |
325 | #endif |
326 | ||
e129d93a ILT |
327 | #define TARGET_FIXED_CONDITION_CODE_REGS hook_bool_uintp_uintp_false |
328 | ||
329 | #define TARGET_CC_MODES_COMPATIBLE default_cc_modes_compatible | |
330 | ||
18dbd950 RS |
331 | #define TARGET_MACHINE_DEPENDENT_REORG 0 |
332 | ||
c35d187f RH |
333 | #define TARGET_BUILD_BUILTIN_VA_LIST std_build_builtin_va_list |
334 | ||
7bb1ad93 GK |
335 | #define TARGET_GET_PCH_VALIDITY default_get_pch_validity |
336 | #define TARGET_PCH_VALID_P default_pch_valid_p | |
337 | ||
221ee7c9 KH |
338 | #define TARGET_DEFAULT_SHORT_ENUMS hook_bool_void_false |
339 | ||
d6da68b9 KH |
340 | #define TARGET_BUILTIN_SETJMP_FRAME_VALUE default_builtin_setjmp_frame_value |
341 | ||
67dfe110 KH |
342 | #define TARGET_MD_ASM_CLOBBERS hook_tree_tree_identity |
343 | ||
b602b7b6 | 344 | #define TARGET_PROMOTE_FUNCTION_ARGS hook_bool_tree_false |
fefcb65c KH |
345 | #define TARGET_PROMOTE_FUNCTION_RETURN hook_bool_tree_false |
346 | #define TARGET_PROMOTE_PROTOTYPES hook_bool_tree_false | |
61f71b34 | 347 | |
1f6acb82 | 348 | #define TARGET_STRUCT_VALUE_RTX hook_rtx_tree_int_null |
61f71b34 | 349 | #define TARGET_RETURN_IN_MEMORY default_return_in_memory |
c988af2b | 350 | #define TARGET_RETURN_IN_MSB hook_bool_tree_false |
61f71b34 DD |
351 | |
352 | #define TARGET_EXPAND_BUILTIN_SAVEREGS default_expand_builtin_saveregs | |
353 | #define TARGET_SETUP_INCOMING_VARARGS default_setup_incoming_varargs | |
8dfa8fcd | 354 | #define TARGET_STRICT_ARGUMENT_NAMING hook_bool_CUMULATIVE_ARGS_false |
42ba5130 RH |
355 | #define TARGET_PRETEND_OUTGOING_VARARGS_NAMED \ |
356 | default_pretend_outgoing_varargs_named | |
357 | #define TARGET_SPLIT_COMPLEX_ARG NULL | |
61f71b34 DD |
358 | |
359 | #define TARGET_CALLS { \ | |
360 | TARGET_PROMOTE_FUNCTION_ARGS, \ | |
361 | TARGET_PROMOTE_FUNCTION_RETURN, \ | |
362 | TARGET_PROMOTE_PROTOTYPES, \ | |
363 | TARGET_STRUCT_VALUE_RTX, \ | |
364 | TARGET_RETURN_IN_MEMORY, \ | |
c988af2b | 365 | TARGET_RETURN_IN_MSB, \ |
61f71b34 DD |
366 | TARGET_EXPAND_BUILTIN_SAVEREGS, \ |
367 | TARGET_SETUP_INCOMING_VARARGS, \ | |
368 | TARGET_STRICT_ARGUMENT_NAMING, \ | |
369 | TARGET_PRETEND_OUTGOING_VARARGS_NAMED, \ | |
42ba5130 | 370 | TARGET_SPLIT_COMPLEX_ARG, \ |
61f71b34 DD |
371 | } |
372 | ||
672a6f42 NB |
373 | /* The whole shebang. */ |
374 | #define TARGET_INITIALIZER \ | |
375 | { \ | |
08c148a8 | 376 | TARGET_ASM_OUT, \ |
c237e94a | 377 | TARGET_SCHED, \ |
672a6f42 NB |
378 | TARGET_MERGE_DECL_ATTRIBUTES, \ |
379 | TARGET_MERGE_TYPE_ATTRIBUTES, \ | |
91d231cb | 380 | TARGET_ATTRIBUTE_TABLE, \ |
8d8e52be | 381 | TARGET_COMP_TYPE_ATTRIBUTES, \ |
12a68f1f | 382 | TARGET_SET_DEFAULT_TYPE_ATTRIBUTES, \ |
f6155fda | 383 | TARGET_INSERT_ATTRIBUTES, \ |
91d231cb | 384 | TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P, \ |
f913c102 | 385 | TARGET_MS_BITFIELD_LAYOUT_P, \ |
f6155fda | 386 | TARGET_INIT_BUILTINS, \ |
7c262518 | 387 | TARGET_EXPAND_BUILTIN, \ |
c15c90bb | 388 | TARGET_INIT_LIBFUNCS, \ |
7c262518 | 389 | TARGET_SECTION_TYPE_FLAGS, \ |
ae46c4e0 | 390 | TARGET_CANNOT_MODIFY_JUMPS_P, \ |
7bb1ad93 | 391 | TARGET_BRANCH_TARGET_REGISTER_CLASS, \ |
fe3ad572 | 392 | TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED, \ |
3a04ff64 | 393 | TARGET_CANNOT_FORCE_CONST_MEM, \ |
0b077eac | 394 | TARGET_CANNOT_COPY_INSN_P, \ |
7daebb7a | 395 | TARGET_DELEGITIMIZE_ADDRESS, \ |
4977bab6 | 396 | TARGET_FUNCTION_OK_FOR_SIBCALL, \ |
fb49053f | 397 | TARGET_IN_SMALL_DATA_P, \ |
47754fd5 | 398 | TARGET_BINDS_LOCAL_P, \ |
772c5265 | 399 | TARGET_ENCODE_SECTION_INFO, \ |
47754fd5 | 400 | TARGET_STRIP_NAME_ENCODING, \ |
4977bab6 | 401 | TARGET_VALID_POINTER_MODE, \ |
c8e4f0e9 | 402 | TARGET_VECTOR_OPAQUE_P, \ |
3c50106f | 403 | TARGET_RTX_COSTS, \ |
dcefdf67 | 404 | TARGET_ADDRESS_COST, \ |
96714395 | 405 | TARGET_DWARF_REGISTER_SPAN, \ |
e129d93a ILT |
406 | TARGET_FIXED_CONDITION_CODE_REGS, \ |
407 | TARGET_CC_MODES_COMPATIBLE, \ | |
18dbd950 | 408 | TARGET_MACHINE_DEPENDENT_REORG, \ |
c35d187f | 409 | TARGET_BUILD_BUILTIN_VA_LIST, \ |
7bb1ad93 GK |
410 | TARGET_GET_PCH_VALIDITY, \ |
411 | TARGET_PCH_VALID_P, \ | |
221ee7c9 | 412 | TARGET_DEFAULT_SHORT_ENUMS, \ |
d6da68b9 | 413 | TARGET_BUILTIN_SETJMP_FRAME_VALUE, \ |
67dfe110 | 414 | TARGET_MD_ASM_CLOBBERS, \ |
42ba5130 | 415 | TARGET_CALLS, \ |
47754fd5 RH |
416 | TARGET_HAVE_NAMED_SECTIONS, \ |
417 | TARGET_HAVE_CTORS_DTORS, \ | |
275b6d80 | 418 | TARGET_HAVE_TLS, \ |
7606e68f | 419 | TARGET_HAVE_SRODATA_SECTION, \ |
1bc7c5b6 ZW |
420 | TARGET_TERMINATE_DW2_EH_FRAME_INFO, \ |
421 | TARGET_ASM_FILE_START_APP_OFF, \ | |
422 | TARGET_ASM_FILE_START_FILE_DIRECTIVE, \ | |
672a6f42 | 423 | } |
e4ec2cac AO |
424 | |
425 | #include "hooks.h" | |
61f71b34 | 426 | #include "targhooks.h" |