]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/targhooks.h
re PR testsuite/32038 (gfortran.dg/pr25603.f is invalid code)
[thirdparty/gcc.git] / gcc / targhooks.h
CommitLineData
61f71b34 1/* Default target hook functions.
ad616de1 2 Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
61f71b34
DD
3
4This file is part of GCC.
5
6GCC is free software; you can redistribute it and/or modify it under
7the terms of the GNU General Public License as published by the Free
8Software Foundation; either version 2, or (at your option) any later
9version.
10
11GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12WARRANTY; without even the implied warranty of MERCHANTABILITY or
13FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14for more details.
15
16You should have received a copy of the GNU General Public License
17along with GCC; see the file COPYING. If not, write to the Free
366ccddb
KC
18Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
1902110-1301, USA. */
61f71b34 20
6773a41c
RO
21extern void default_external_libcall (rtx);
22
e129d93a
ILT
23extern enum machine_mode default_cc_modes_compatible (enum machine_mode,
24 enum machine_mode);
25
61f71b34
DD
26extern bool default_return_in_memory (tree, tree);
27
28extern rtx default_expand_builtin_saveregs (void);
29extern void default_setup_incoming_varargs (CUMULATIVE_ARGS *, enum machine_mode, tree, int *, int);
d6da68b9 30extern rtx default_builtin_setjmp_frame_value (void);
61f71b34 31extern bool default_pretend_outgoing_varargs_named (CUMULATIVE_ARGS *);
c6e8c921 32
93f90be6 33extern enum machine_mode default_eh_return_filter_mode (void);
273a2526
RS
34extern unsigned HOST_WIDE_INT default_shift_truncation_mask
35 (enum machine_mode);
bc23502b 36extern unsigned int default_min_divisions_for_recip_mul (enum machine_mode);
b12cbf2c 37extern int default_mode_rep_extended (enum machine_mode, enum machine_mode);
93f90be6 38
7d69de61
RH
39extern tree default_stack_protect_guard (void);
40extern tree default_external_stack_protect_fail (void);
41extern tree default_hidden_stack_protect_fail (void);
42
4185ae53 43extern tree default_cxx_guard_type (void);
46e995e0 44extern tree default_cxx_get_cookie_size (tree);
8cd5a4e0 45
8cd5a4e0
RH
46extern bool hook_pass_by_reference_must_pass_in_stack
47 (CUMULATIVE_ARGS *, enum machine_mode mode, tree, bool);
6cdd5672
RH
48extern bool hook_callee_copies_named
49 (CUMULATIVE_ARGS *ca, enum machine_mode, tree, bool);
951120ea
PB
50
51extern void default_unwind_emit (FILE *, rtx);
6dd53648
RH
52
53extern bool default_scalar_mode_supported_p (enum machine_mode);
0884546e 54extern bool default_decimal_float_supported_p (void);
6cdd5672 55
e7e64a25 56extern const char * default_invalid_within_doloop (rtx);
a71a498d 57
c2a64439
PB
58extern bool default_narrow_bitfield (void);
59
b95becfc 60extern tree default_builtin_vectorized_function (enum built_in_function, tree, tree);
2505a3f2 61
f57d17f1
TM
62extern tree default_builtin_vectorized_conversion (enum tree_code, tree);
63
6cdd5672
RH
64/* These are here, and not in hooks.[ch], because not all users of
65 hooks.h include tm.h, and thus we don't have CUMULATIVE_ARGS. */
66
67extern bool hook_bool_CUMULATIVE_ARGS_false (CUMULATIVE_ARGS *);
68extern bool hook_bool_CUMULATIVE_ARGS_true (CUMULATIVE_ARGS *);
69
70extern bool hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false
71 (CUMULATIVE_ARGS *, enum machine_mode, tree, bool);
72extern bool hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true
73 (CUMULATIVE_ARGS *, enum machine_mode, tree, bool);
78a52f11
RH
74extern int hook_int_CUMULATIVE_ARGS_mode_tree_bool_0
75 (CUMULATIVE_ARGS *, enum machine_mode, tree, bool);
4d3e6fae
FJ
76extern const char *hook_invalid_arg_for_unprototyped_fn
77 (tree, tree, tree);
8ddf681a 78extern bool hook_bool_rtx_commutative_p (rtx, int);
1d636cc6 79extern rtx default_function_value (tree, tree, bool);
150cdc9e 80extern rtx default_internal_arg_pointer (void);
8a99f6f9
R
81extern enum reg_class default_secondary_reload (bool, rtx, enum reg_class,
82 enum machine_mode,
83 secondary_reload_info *);
912f2dac 84extern void hook_void_bitmap (bitmap);
1f1d5130 85extern bool default_handle_c_option (size_t, const char *, int);
9b580a0b 86extern int default_reloc_rw_mask (void);