]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/langhooks-def.h
arm: Factorize several occurrences of the same code into reg_needs_saving_p
[thirdparty/gcc.git] / gcc / langhooks-def.h
CommitLineData
d23c55c2 1/* Default macros to initialize the lang_hooks data structure.
8d9254fc 2 Copyright (C) 2001-2020 Free Software Foundation, Inc.
d23c55c2
NB
3 Contributed by Alexandre Oliva <aoliva@redhat.com>
4
63b025a5 5This file is part of GCC.
d23c55c2 6
63b025a5 7GCC is free software; you can redistribute it and/or modify
d23c55c2 8it under the terms of the GNU General Public License as published by
9dcd6f09 9the Free Software Foundation; either version 3, or (at your option)
d23c55c2
NB
10any later version.
11
63b025a5 12GCC is distributed in the hope that it will be useful,
d23c55c2
NB
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
9dcd6f09
NC
18along with GCC; see the file COPYING3. If not see
19<http://www.gnu.org/licenses/>. */
d23c55c2
NB
20
21#ifndef GCC_LANG_HOOKS_DEF_H
22#define GCC_LANG_HOOKS_DEF_H
23
e5f3b786
NB
24#include "hooks.h"
25
c94ed7a1 26struct diagnostic_info;
e5106e27 27class substring_loc;
7cb32822 28
d23c55c2
NB
29/* Note to creators of new hooks:
30
31 The macros in this file should NOT be surrounded by a
32 #ifdef...#endif pair, since this file declares the defaults. Each
33 front end overrides any hooks it wishes to, in the file containing
7fb26bb0 34 its struct lang_hooks, AFTER including this file. */
d23c55c2
NB
35
36/* See langhooks.h for the definition and documentation of each hook. */
37
0c20a65f
AJ
38extern void lhd_do_nothing (void);
39extern void lhd_do_nothing_t (tree);
0c20a65f 40extern void lhd_do_nothing_f (struct function *);
f9417da1 41extern tree lhd_pass_through_t (tree);
2a8a8d7b 42extern void lhd_register_dumps (gcc::dump_manager *);
0c20a65f 43extern bool lhd_post_options (const char **);
4862826d 44extern alias_set_type lhd_get_alias_set (tree);
0c20a65f 45extern tree lhd_return_null_tree (tree);
fa233e34 46extern tree lhd_return_null_const_tree (const_tree);
a7e8c268 47extern tree lhd_do_nothing_iii_return_null_tree (int, int, int);
0c20a65f
AJ
48extern void lhd_print_tree_nothing (FILE *, tree, int);
49extern const char *lhd_decl_printable_name (tree, int);
721a8ac5 50extern const char *lhd_dwarf_name (tree, int);
6de9cd9a 51extern int lhd_types_compatible_p (tree, tree);
1ebe4b4f 52extern void lhd_print_error_function (diagnostic_context *,
c94ed7a1 53 const char *, struct diagnostic_info *);
5f3682ff
NS
54extern void lhd_set_decl_assembler_name (tree decl);
55extern void lhd_overwrite_decl_assembler_name (tree decl, tree name);
ac7d7749 56extern bool lhd_warn_unused_global_decl (const_tree);
ab341f50
RS
57extern tree lhd_simulate_enum_decl (location_t, const char *,
58 vec<string_int_pair>);
8a3a6ab4 59extern tree lhd_type_for_size (unsigned precision, int unsignedp);
4f2e1536 60extern void lhd_incomplete_type_error (location_t, const_tree, const_tree);
0c20a65f 61extern tree lhd_type_promotes_to (tree);
9649812a 62extern void lhd_register_builtin_type (tree, const char *);
58f9752a 63extern bool lhd_decl_ok_for_sibcall (const_tree);
0c20a65f 64extern size_t lhd_tree_size (enum tree_code);
c5ff069d 65extern HOST_WIDE_INT lhd_to_target_charset (HOST_WIDE_INT);
51eed280 66extern tree lhd_expr_to_decl (tree, bool *, bool *);
d7f09764 67extern tree lhd_builtin_function (tree);
7315daa6 68extern tree lhd_enum_underlying_base_type (const_tree);
d23c55c2
NB
69
70/* Declarations of default tree inlining hooks. */
1ebe4b4f 71extern void lhd_initialize_diagnostics (diagnostic_context *);
7a9bf9a4
JM
72extern void lhd_init_options (unsigned int,
73 struct cl_decoded_option *);
74extern bool lhd_complain_wrong_lang_p (const struct cl_option *);
00abf86c
MS
75extern bool lhd_handle_option (size_t, const char *, HOST_WIDE_INT, int,
76 location_t, const struct cl_option_handlers *);
25c84396 77
0c20a65f 78
6de9cd9a 79/* Declarations for tree gimplification hooks. */
726a989a 80extern int lhd_gimplify_expr (tree *, gimple_seq *, gimple_seq *);
953ff289
DN
81extern enum omp_clause_default_kind lhd_omp_predetermined_sharing (tree);
82extern tree lhd_omp_assignment (tree, tree, tree);
f014c653 83extern void lhd_omp_finish_clause (tree, gimple_seq *);
953ff289
DN
84struct gimplify_omp_ctx;
85extern void lhd_omp_firstprivatize_type_sizes (struct gimplify_omp_ctx *,
86 tree);
acf0174b 87extern bool lhd_omp_mappable_type (tree);
b4c3a85b 88extern bool lhd_omp_scalar_p (tree);
6de9cd9a 89
e5106e27
DM
90extern const char *lhd_get_substring_location (const substring_loc &,
91 location_t *out_loc);
81b42cc6 92extern int lhd_decl_dwarf_attribute (const_tree, int);
6905c577 93extern int lhd_type_dwarf_attribute (const_tree, int);
e5106e27 94
3ac88239
NB
95#define LANG_HOOKS_NAME "GNU unknown"
96#define LANG_HOOKS_IDENTIFIER_SIZE sizeof (struct lang_identifier)
4bfec483 97#define LANG_HOOKS_INIT hook_bool_void_false
d23c55c2 98#define LANG_HOOKS_FINISH lhd_do_nothing
b37421c6 99#define LANG_HOOKS_PARSE_FILE lhd_do_nothing
7a9bf9a4 100#define LANG_HOOKS_OPTION_LANG_MASK hook_uint_void_0
7e4aae92 101#define LANG_HOOKS_INIT_OPTIONS_STRUCT hook_void_gcc_optionsp
7a9bf9a4 102#define LANG_HOOKS_INIT_OPTIONS lhd_init_options
fc95cf70 103#define LANG_HOOKS_INITIALIZE_DIAGNOSTICS lhd_initialize_diagnostics
2a8a8d7b 104#define LANG_HOOKS_REGISTER_DUMPS lhd_register_dumps
7a9bf9a4 105#define LANG_HOOKS_COMPLAIN_WRONG_LANG_P lhd_complain_wrong_lang_p
5f20c657 106#define LANG_HOOKS_HANDLE_OPTION lhd_handle_option
4bfec483 107#define LANG_HOOKS_POST_OPTIONS lhd_post_options
e8924938 108#define LANG_HOOKS_MISSING_NORETURN_OK_P hook_bool_tree_true
d23c55c2 109#define LANG_HOOKS_GET_ALIAS_SET lhd_get_alias_set
48a7a235 110#define LANG_HOOKS_FINISH_INCOMPLETE_DECL lhd_do_nothing_t
63e1b1c4 111#define LANG_HOOKS_DUP_LANG_SPECIFIC_DECL lhd_do_nothing_t
599bba86 112#define LANG_HOOKS_SET_DECL_ASSEMBLER_NAME lhd_set_decl_assembler_name
5f3682ff 113#define LANG_HOOKS_OVERWRITE_DECL_ASSEMBLER_NAME lhd_overwrite_decl_assembler_name
5d69f816
NB
114#define LANG_HOOKS_PRINT_STATISTICS lhd_do_nothing
115#define LANG_HOOKS_PRINT_XNODE lhd_print_tree_nothing
116#define LANG_HOOKS_PRINT_DECL lhd_print_tree_nothing
117#define LANG_HOOKS_PRINT_TYPE lhd_print_tree_nothing
118#define LANG_HOOKS_PRINT_IDENTIFIER lhd_print_tree_nothing
7cb32822 119#define LANG_HOOKS_PRINT_ERROR_FUNCTION lhd_print_error_function
7afff7cf 120#define LANG_HOOKS_DECL_PRINTABLE_NAME lhd_decl_printable_name
721a8ac5 121#define LANG_HOOKS_DWARF_NAME lhd_dwarf_name
4537ec0c 122#define LANG_HOOKS_FREE_LANG_DATA lhd_do_nothing_t
d78e771d 123#define LANG_HOOKS_TREE_SIZE lhd_tree_size
6de9cd9a 124#define LANG_HOOKS_TYPES_COMPATIBLE_P lhd_types_compatible_p
c79efc4d 125#define LANG_HOOKS_BUILTIN_FUNCTION lhd_builtin_function
5779e713 126#define LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE LANG_HOOKS_BUILTIN_FUNCTION
74078538 127#define LANG_HOOKS_SIMULATE_BUILTIN_FUNCTION_DECL LANG_HOOKS_BUILTIN_FUNCTION
73f397d4 128#define LANG_HOOKS_EXPR_TO_DECL lhd_expr_to_decl
c5ff069d 129#define LANG_HOOKS_TO_TARGET_CHARSET lhd_to_target_charset
820cc88f 130#define LANG_HOOKS_INIT_TS lhd_do_nothing
f9417da1
RG
131#define LANG_HOOKS_EH_PERSONALITY lhd_gcc_personality
132#define LANG_HOOKS_EH_RUNTIME_TYPE lhd_pass_through_t
3b06d379 133#define LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS NULL
88cd0e88 134#define LANG_HOOKS_BLOCK_MAY_FALLTHRU hook_bool_const_tree_true
384c400a 135#define LANG_HOOKS_EH_USE_CXA_END_CLEANUP false
616f1431 136#define LANG_HOOKS_DEEP_UNSHARING false
4c640e26 137#define LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS false
96a95ac1 138#define LANG_HOOKS_EMITS_BEGIN_STMT false
895aa8e1 139#define LANG_HOOKS_RUN_LANG_SELFTESTS lhd_do_nothing
e5106e27 140#define LANG_HOOKS_GET_SUBSTRING_LOCATION lhd_get_substring_location
d23c55c2 141
349ae713
NB
142/* Attribute hooks. */
143#define LANG_HOOKS_ATTRIBUTE_TABLE NULL
144#define LANG_HOOKS_COMMON_ATTRIBUTE_TABLE NULL
145#define LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE NULL
146
d23c55c2 147/* Tree inlining hooks. */
8bcefb43 148#define LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P \
5377d5ba 149 hook_bool_tree_tree_false
d23c55c2
NB
150
151#define LANG_HOOKS_TREE_INLINING_INITIALIZER { \
8bcefb43 152 LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P, \
25c84396 153}
d23c55c2 154
6de9cd9a
DN
155/* Hooks for tree gimplification. */
156#define LANG_HOOKS_GIMPLIFY_EXPR lhd_gimplify_expr
4985cde3 157
89d684bb 158/* Tree dump hooks. */
0c20a65f 159extern bool lhd_tree_dump_dump_tree (void *, tree);
ac7d7749 160extern int lhd_tree_dump_type_quals (const_tree);
b9dcdee4 161extern tree lhd_make_node (enum tree_code);
89d684bb
BM
162
163#define LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN lhd_tree_dump_dump_tree
164#define LANG_HOOKS_TREE_DUMP_TYPE_QUALS_FN lhd_tree_dump_type_quals
165
166#define LANG_HOOKS_TREE_DUMP_INITIALIZER { \
167 LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN, \
168 LANG_HOOKS_TREE_DUMP_TYPE_QUALS_FN \
43577e6b
NB
169}
170
48a7a235
NB
171/* Types hooks. There are no reasonable defaults for most of them,
172 so we create a compile-time error instead. */
b7fc43d7
RB
173extern tree lhd_unit_size_without_reusable_padding (tree);
174
b9dcdee4 175#define LANG_HOOKS_MAKE_TYPE lhd_make_node
ab341f50 176#define LANG_HOOKS_SIMULATE_ENUM_DECL lhd_simulate_enum_decl
394d9fe7 177#define LANG_HOOKS_CLASSIFY_RECORD NULL
8a3a6ab4 178#define LANG_HOOKS_TYPE_FOR_SIZE lhd_type_for_size
7a228918 179#define LANG_HOOKS_INCOMPLETE_TYPE_ERROR lhd_incomplete_type_error
ac7d7749 180#define LANG_HOOKS_GENERIC_TYPE_P hook_bool_const_tree_false
f9329c35
DS
181#define LANG_HOOKS_GET_INNERMOST_GENERIC_PARMS hook_tree_const_tree_null
182#define LANG_HOOKS_GET_INNERMOST_GENERIC_ARGS hook_tree_const_tree_null
d40a19da 183#define LANG_HOOKS_FUNCTION_PARAMETER_PACK_P hook_bool_const_tree_false
f9329c35
DS
184#define LANG_HOOKS_GET_ARGUMENT_PACK_ELEMS hook_tree_const_tree_null
185#define LANG_HOOKS_GENERIC_GENERIC_PARAMETER_DECL_P hook_bool_const_tree_false
d40a19da
DS
186#define LANG_HOOKS_FUNCTION_PARM_EXPANDED_FROM_PACK_P \
187 hook_bool_tree_tree_false
188#define LANG_HOOKS_GET_GENERIC_FUNCTION_DECL hook_tree_const_tree_null
ab393bf1 189#define LANG_HOOKS_TYPE_PROMOTES_TO lhd_type_promotes_to
9649812a 190#define LANG_HOOKS_REGISTER_BUILTIN_TYPE lhd_register_builtin_type
ac7d7749 191#define LANG_HOOKS_TYPE_MAX_SIZE lhd_return_null_const_tree
953ff289
DN
192#define LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES \
193 lhd_omp_firstprivatize_type_sizes
acf0174b 194#define LANG_HOOKS_OMP_MAPPABLE_TYPE lhd_omp_mappable_type
2dff8956 195#define LANG_HOOKS_TYPE_HASH_EQ NULL
27c825c5 196#define LANG_HOOKS_COPY_LANG_QUALIFIERS NULL
fad0afd7 197#define LANG_HOOKS_GET_ARRAY_DESCR_INFO NULL
84fb43a1 198#define LANG_HOOKS_GET_SUBRANGE_BOUNDS NULL
69c5f9d7 199#define LANG_HOOKS_GET_TYPE_BIAS NULL
2a9d769a 200#define LANG_HOOKS_DESCRIPTIVE_TYPE NULL
5dc11954 201#define LANG_HOOKS_RECONSTRUCT_COMPLEX_TYPE reconstruct_complex_type
7315daa6 202#define LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE lhd_enum_underlying_base_type
eb59e428 203#define LANG_HOOKS_GET_DEBUG_TYPE NULL
2971780e 204#define LANG_HOOKS_GET_FIXED_POINT_TYPE_INFO NULL
6905c577 205#define LANG_HOOKS_TYPE_DWARF_ATTRIBUTE lhd_type_dwarf_attribute
b7fc43d7 206#define LANG_HOOKS_UNIT_SIZE_WITHOUT_REUSABLE_PADDING lhd_unit_size_without_reusable_padding
f1e639b1
NB
207
208#define LANG_HOOKS_FOR_TYPES_INITIALIZER { \
b0c48229 209 LANG_HOOKS_MAKE_TYPE, \
ac2cfa6c 210 LANG_HOOKS_SIMULATE_ENUM_DECL, \
394d9fe7 211 LANG_HOOKS_CLASSIFY_RECORD, \
b0c48229 212 LANG_HOOKS_TYPE_FOR_MODE, \
ceef8ce4 213 LANG_HOOKS_TYPE_FOR_SIZE, \
39ef6592 214 LANG_HOOKS_GENERIC_TYPE_P, \
f9329c35 215 LANG_HOOKS_GET_ARGUMENT_PACK_ELEMS, \
ab393bf1 216 LANG_HOOKS_TYPE_PROMOTES_TO, \
9649812a 217 LANG_HOOKS_REGISTER_BUILTIN_TYPE, \
7548281d 218 LANG_HOOKS_INCOMPLETE_TYPE_ERROR, \
8963a517 219 LANG_HOOKS_TYPE_MAX_SIZE, \
953ff289 220 LANG_HOOKS_OMP_FIRSTPRIVATIZE_TYPE_SIZES, \
acf0174b 221 LANG_HOOKS_OMP_MAPPABLE_TYPE, \
2dff8956 222 LANG_HOOKS_TYPE_HASH_EQ, \
27c825c5 223 LANG_HOOKS_COPY_LANG_QUALIFIERS, \
fad0afd7 224 LANG_HOOKS_GET_ARRAY_DESCR_INFO, \
84fb43a1 225 LANG_HOOKS_GET_SUBRANGE_BOUNDS, \
69c5f9d7 226 LANG_HOOKS_GET_TYPE_BIAS, \
2a9d769a 227 LANG_HOOKS_DESCRIPTIVE_TYPE, \
7315daa6 228 LANG_HOOKS_RECONSTRUCT_COMPLEX_TYPE, \
eb59e428 229 LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE, \
2971780e 230 LANG_HOOKS_GET_DEBUG_TYPE, \
6905c577 231 LANG_HOOKS_GET_FIXED_POINT_TYPE_INFO, \
b7fc43d7
RB
232 LANG_HOOKS_TYPE_DWARF_ATTRIBUTE, \
233 LANG_HOOKS_UNIT_SIZE_WITHOUT_REUSABLE_PADDING \
f1e639b1
NB
234}
235
43577e6b 236/* Declaration hooks. */
43577e6b 237#define LANG_HOOKS_GLOBAL_BINDINGS_P global_bindings_p
43577e6b
NB
238#define LANG_HOOKS_PUSHDECL pushdecl
239#define LANG_HOOKS_GETDECLS getdecls
81b42cc6 240#define LANG_HOOKS_DECL_DWARF_ATTRIBUTE lhd_decl_dwarf_attribute
ef4f94ac 241#define LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL lhd_warn_unused_global_decl
d7438551 242#define LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS NULL
e076f71a 243#define LANG_HOOKS_DECL_OK_FOR_SIBCALL lhd_decl_ok_for_sibcall
92e63bd2 244#define LANG_HOOKS_OMP_ARRAY_DATA hook_tree_tree_bool_null
08c14aaa 245#define LANG_HOOKS_OMP_IS_ALLOCATABLE_OR_PTR hook_bool_const_tree_false
a2c26c50 246#define LANG_HOOKS_OMP_CHECK_OPTIONAL_ARGUMENT hook_tree_tree_bool_null
58f9752a 247#define LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE hook_bool_const_tree_false
953ff289 248#define LANG_HOOKS_OMP_PREDETERMINED_SHARING lhd_omp_predetermined_sharing
79943d19 249#define LANG_HOOKS_OMP_REPORT_DECL lhd_pass_through_t
953ff289
DN
250#define LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR hook_bool_tree_bool_false
251#define LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE hook_bool_tree_bool_false
a68ab351
JJ
252#define LANG_HOOKS_OMP_PRIVATE_OUTER_REF hook_bool_tree_false
253#define LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR hook_tree_tree_tree_tree_null
953ff289
DN
254#define LANG_HOOKS_OMP_CLAUSE_COPY_CTOR lhd_omp_assignment
255#define LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP lhd_omp_assignment
da6f124d 256#define LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR NULL
953ff289 257#define LANG_HOOKS_OMP_CLAUSE_DTOR hook_tree_tree_tree_null
f014c653 258#define LANG_HOOKS_OMP_FINISH_CLAUSE lhd_omp_finish_clause
b4c3a85b 259#define LANG_HOOKS_OMP_SCALAR_P lhd_omp_scalar_p
43577e6b
NB
260
261#define LANG_HOOKS_DECLS { \
43577e6b 262 LANG_HOOKS_GLOBAL_BINDINGS_P, \
43577e6b 263 LANG_HOOKS_PUSHDECL, \
ef4f94ac 264 LANG_HOOKS_GETDECLS, \
81b42cc6 265 LANG_HOOKS_DECL_DWARF_ATTRIBUTE, \
f9329c35 266 LANG_HOOKS_GENERIC_GENERIC_PARAMETER_DECL_P, \
d40a19da
DS
267 LANG_HOOKS_FUNCTION_PARM_EXPANDED_FROM_PACK_P, \
268 LANG_HOOKS_GET_GENERIC_FUNCTION_DECL, \
2b59501b 269 LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL, \
d7438551 270 LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS, \
e076f71a 271 LANG_HOOKS_DECL_OK_FOR_SIBCALL, \
92e63bd2 272 LANG_HOOKS_OMP_ARRAY_DATA, \
08c14aaa 273 LANG_HOOKS_OMP_IS_ALLOCATABLE_OR_PTR, \
a2c26c50 274 LANG_HOOKS_OMP_CHECK_OPTIONAL_ARGUMENT, \
953ff289
DN
275 LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE, \
276 LANG_HOOKS_OMP_PREDETERMINED_SHARING, \
79943d19 277 LANG_HOOKS_OMP_REPORT_DECL, \
953ff289
DN
278 LANG_HOOKS_OMP_DISREGARD_VALUE_EXPR, \
279 LANG_HOOKS_OMP_PRIVATE_DEBUG_CLAUSE, \
a68ab351 280 LANG_HOOKS_OMP_PRIVATE_OUTER_REF, \
953ff289
DN
281 LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR, \
282 LANG_HOOKS_OMP_CLAUSE_COPY_CTOR, \
283 LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP, \
da6f124d 284 LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR, \
a68ab351 285 LANG_HOOKS_OMP_CLAUSE_DTOR, \
b4c3a85b
JJ
286 LANG_HOOKS_OMP_FINISH_CLAUSE, \
287 LANG_HOOKS_OMP_SCALAR_P \
43577e6b 288}
89d684bb 289
d7f09764
DN
290/* LTO hooks. */
291extern void lhd_begin_section (const char *);
292extern void lhd_append_data (const void *, size_t, void *);
293extern void lhd_end_section (void);
294
295#define LANG_HOOKS_BEGIN_SECTION lhd_begin_section
296#define LANG_HOOKS_APPEND_DATA lhd_append_data
297#define LANG_HOOKS_END_SECTION lhd_end_section
298
299#define LANG_HOOKS_LTO { \
300 LANG_HOOKS_BEGIN_SECTION, \
301 LANG_HOOKS_APPEND_DATA, \
302 LANG_HOOKS_END_SECTION \
303}
304
89d684bb 305/* The whole thing. The structure is defined in langhooks.h. */
d23c55c2 306#define LANG_HOOKS_INITIALIZER { \
3ac88239
NB
307 LANG_HOOKS_NAME, \
308 LANG_HOOKS_IDENTIFIER_SIZE, \
4537ec0c 309 LANG_HOOKS_FREE_LANG_DATA, \
d78e771d 310 LANG_HOOKS_TREE_SIZE, \
7a9bf9a4 311 LANG_HOOKS_OPTION_LANG_MASK, \
a75bfaa6 312 LANG_HOOKS_INIT_OPTIONS_STRUCT, \
d23c55c2 313 LANG_HOOKS_INIT_OPTIONS, \
fc95cf70 314 LANG_HOOKS_INITIALIZE_DIAGNOSTICS, \
2a8a8d7b 315 LANG_HOOKS_REGISTER_DUMPS, \
7a9bf9a4 316 LANG_HOOKS_COMPLAIN_WRONG_LANG_P, \
2772ef3e 317 LANG_HOOKS_HANDLE_OPTION, \
d23c55c2 318 LANG_HOOKS_POST_OPTIONS, \
4d6baafa
NB
319 LANG_HOOKS_INIT, \
320 LANG_HOOKS_FINISH, \
52dabb6c 321 LANG_HOOKS_PARSE_FILE, \
e8924938 322 LANG_HOOKS_MISSING_NORETURN_OK_P, \
d23c55c2 323 LANG_HOOKS_GET_ALIAS_SET, \
48a7a235 324 LANG_HOOKS_FINISH_INCOMPLETE_DECL, \
63e1b1c4 325 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL, \
599bba86 326 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME, \
5f3682ff 327 LANG_HOOKS_OVERWRITE_DECL_ASSEMBLER_NAME, \
5d69f816
NB
328 LANG_HOOKS_PRINT_STATISTICS, \
329 LANG_HOOKS_PRINT_XNODE, \
330 LANG_HOOKS_PRINT_DECL, \
331 LANG_HOOKS_PRINT_TYPE, \
332 LANG_HOOKS_PRINT_IDENTIFIER, \
7afff7cf 333 LANG_HOOKS_DECL_PRINTABLE_NAME, \
721a8ac5 334 LANG_HOOKS_DWARF_NAME, \
6de9cd9a 335 LANG_HOOKS_TYPES_COMPATIBLE_P, \
7cb32822 336 LANG_HOOKS_PRINT_ERROR_FUNCTION, \
c5ff069d 337 LANG_HOOKS_TO_TARGET_CHARSET, \
349ae713
NB
338 LANG_HOOKS_ATTRIBUTE_TABLE, \
339 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, \
340 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE, \
89d684bb 341 LANG_HOOKS_TREE_INLINING_INITIALIZER, \
43577e6b 342 LANG_HOOKS_TREE_DUMP_INITIALIZER, \
f1e639b1 343 LANG_HOOKS_DECLS, \
4985cde3 344 LANG_HOOKS_FOR_TYPES_INITIALIZER, \
d7f09764 345 LANG_HOOKS_LTO, \
f9329c35
DS
346 LANG_HOOKS_GET_INNERMOST_GENERIC_PARMS, \
347 LANG_HOOKS_GET_INNERMOST_GENERIC_ARGS, \
d40a19da 348 LANG_HOOKS_FUNCTION_PARAMETER_PACK_P, \
6de9cd9a 349 LANG_HOOKS_GIMPLIFY_EXPR, \
6e34d3a3 350 LANG_HOOKS_BUILTIN_FUNCTION, \
5779e713 351 LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE, \
74078538 352 LANG_HOOKS_SIMULATE_BUILTIN_FUNCTION_DECL, \
820cc88f 353 LANG_HOOKS_INIT_TS, \
73f397d4 354 LANG_HOOKS_EXPR_TO_DECL, \
f9417da1
RG
355 LANG_HOOKS_EH_PERSONALITY, \
356 LANG_HOOKS_EH_RUNTIME_TYPE, \
3b06d379 357 LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS, \
88cd0e88 358 LANG_HOOKS_BLOCK_MAY_FALLTHRU, \
384c400a 359 LANG_HOOKS_EH_USE_CXA_END_CLEANUP, \
895aa8e1 360 LANG_HOOKS_DEEP_UNSHARING, \
4c640e26 361 LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS, \
96a95ac1 362 LANG_HOOKS_EMITS_BEGIN_STMT, \
e5106e27
DM
363 LANG_HOOKS_RUN_LANG_SELFTESTS, \
364 LANG_HOOKS_GET_SUBSTRING_LOCATION \
d23c55c2
NB
365}
366
367#endif /* GCC_LANG_HOOKS_DEF_H */