Mercurial > hg > CbC > CbC_gcc
comparison gcc/coretypes.h @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 /* GCC core type declarations. | 1 /* GCC core type declarations. |
2 Copyright (C) 2002-2018 Free Software Foundation, Inc. | 2 Copyright (C) 2002-2020 Free Software Foundation, Inc. |
3 | 3 |
4 This file is part of GCC. | 4 This file is part of GCC. |
5 | 5 |
6 GCC is free software; you can redistribute it and/or modify it under | 6 GCC is free software; you can redistribute it and/or modify it under |
7 the terms of the GNU General Public License as published by the Free | 7 the terms of the GNU General Public License as published by the Free |
45 | 45 |
46 typedef int64_t gcov_type; | 46 typedef int64_t gcov_type; |
47 typedef uint64_t gcov_type_unsigned; | 47 typedef uint64_t gcov_type_unsigned; |
48 | 48 |
49 struct bitmap_obstack; | 49 struct bitmap_obstack; |
50 struct bitmap_head; | 50 class bitmap_head; |
51 typedef struct bitmap_head *bitmap; | 51 typedef class bitmap_head *bitmap; |
52 typedef const struct bitmap_head *const_bitmap; | 52 typedef const class bitmap_head *const_bitmap; |
53 struct simple_bitmap_def; | 53 struct simple_bitmap_def; |
54 typedef struct simple_bitmap_def *sbitmap; | 54 typedef struct simple_bitmap_def *sbitmap; |
55 typedef const struct simple_bitmap_def *const_sbitmap; | 55 typedef const struct simple_bitmap_def *const_sbitmap; |
56 struct rtx_def; | 56 struct rtx_def; |
57 typedef struct rtx_def *rtx; | 57 typedef struct rtx_def *rtx; |
63 class fixed_size_mode; | 63 class fixed_size_mode; |
64 template<typename> class opt_mode; | 64 template<typename> class opt_mode; |
65 typedef opt_mode<scalar_mode> opt_scalar_mode; | 65 typedef opt_mode<scalar_mode> opt_scalar_mode; |
66 typedef opt_mode<scalar_int_mode> opt_scalar_int_mode; | 66 typedef opt_mode<scalar_int_mode> opt_scalar_int_mode; |
67 typedef opt_mode<scalar_float_mode> opt_scalar_float_mode; | 67 typedef opt_mode<scalar_float_mode> opt_scalar_float_mode; |
68 template<typename> class pod_mode; | 68 template<typename> struct pod_mode; |
69 typedef pod_mode<scalar_mode> scalar_mode_pod; | 69 typedef pod_mode<scalar_mode> scalar_mode_pod; |
70 typedef pod_mode<scalar_int_mode> scalar_int_mode_pod; | 70 typedef pod_mode<scalar_int_mode> scalar_int_mode_pod; |
71 typedef pod_mode<fixed_size_mode> fixed_size_mode_pod; | 71 typedef pod_mode<fixed_size_mode> fixed_size_mode_pod; |
72 | 72 |
73 /* Subclasses of rtx_def, using indentation to show the class | 73 /* Subclasses of rtx_def, using indentation to show the class |
74 hierarchy, along with the relevant invariant. | 74 hierarchy, along with the relevant invariant. |
75 Where possible, keep this list in the same order as in rtl.def. */ | 75 Where possible, keep this list in the same order as in rtl.def. */ |
76 class rtx_def; | 76 struct rtx_def; |
77 class rtx_expr_list; /* GET_CODE (X) == EXPR_LIST */ | 77 struct rtx_expr_list; /* GET_CODE (X) == EXPR_LIST */ |
78 class rtx_insn_list; /* GET_CODE (X) == INSN_LIST */ | 78 struct rtx_insn_list; /* GET_CODE (X) == INSN_LIST */ |
79 class rtx_sequence; /* GET_CODE (X) == SEQUENCE */ | 79 struct rtx_sequence; /* GET_CODE (X) == SEQUENCE */ |
80 class rtx_insn; | 80 struct rtx_insn; |
81 class rtx_debug_insn; /* DEBUG_INSN_P (X) */ | 81 struct rtx_debug_insn; /* DEBUG_INSN_P (X) */ |
82 class rtx_nonjump_insn; /* NONJUMP_INSN_P (X) */ | 82 struct rtx_nonjump_insn; /* NONJUMP_INSN_P (X) */ |
83 class rtx_jump_insn; /* JUMP_P (X) */ | 83 struct rtx_jump_insn; /* JUMP_P (X) */ |
84 class rtx_call_insn; /* CALL_P (X) */ | 84 struct rtx_call_insn; /* CALL_P (X) */ |
85 class rtx_jump_table_data; /* JUMP_TABLE_DATA_P (X) */ | 85 struct rtx_jump_table_data; /* JUMP_TABLE_DATA_P (X) */ |
86 class rtx_barrier; /* BARRIER_P (X) */ | 86 struct rtx_barrier; /* BARRIER_P (X) */ |
87 class rtx_code_label; /* LABEL_P (X) */ | 87 struct rtx_code_label; /* LABEL_P (X) */ |
88 class rtx_note; /* NOTE_P (X) */ | 88 struct rtx_note; /* NOTE_P (X) */ |
89 | 89 |
90 struct rtvec_def; | 90 struct rtvec_def; |
91 typedef struct rtvec_def *rtvec; | 91 typedef struct rtvec_def *rtvec; |
92 typedef const struct rtvec_def *const_rtvec; | 92 typedef const struct rtvec_def *const_rtvec; |
93 struct hwivec_def; | 93 struct hwivec_def; |
136 struct gomp_teams; | 136 struct gomp_teams; |
137 | 137 |
138 /* Subclasses of symtab_node, using indentation to show the class | 138 /* Subclasses of symtab_node, using indentation to show the class |
139 hierarchy. */ | 139 hierarchy. */ |
140 | 140 |
141 class symtab_node; | 141 struct symtab_node; |
142 struct cgraph_node; | 142 struct cgraph_node; |
143 class varpool_node; | 143 struct varpool_node; |
144 struct cgraph_edge; | |
144 | 145 |
145 union section; | 146 union section; |
146 typedef union section section; | 147 typedef union section section; |
147 struct gcc_options; | 148 struct gcc_options; |
148 struct cl_target_option; | 149 struct cl_target_option; |
149 struct cl_optimization; | 150 struct cl_optimization; |
150 struct cl_option; | 151 struct cl_option; |
151 struct cl_decoded_option; | 152 struct cl_decoded_option; |
152 struct cl_option_handlers; | 153 struct cl_option_handlers; |
153 struct diagnostic_context; | 154 struct diagnostic_context; |
154 struct pretty_printer; | 155 class pretty_printer; |
156 class diagnostic_event_id_t; | |
157 | |
158 template<typename T> struct array_traits; | |
159 | |
160 /* Provides a read-only bitmap view of a single integer bitmask or an | |
161 array of integer bitmasks, or of a wrapper around such bitmasks. */ | |
162 template<typename T, typename Traits = array_traits<T>, | |
163 bool has_constant_size = Traits::has_constant_size> | |
164 class bitmap_view; | |
155 | 165 |
156 /* Address space number for named address space support. */ | 166 /* Address space number for named address space support. */ |
157 typedef unsigned char addr_space_t; | 167 typedef unsigned char addr_space_t; |
158 | 168 |
159 /* The value of addr_space_t that represents the generic address space. */ | 169 /* The value of addr_space_t that represents the generic address space. */ |
296 unknown, sometimes indicating a memory barrier) and -2 (indicating | 306 unknown, sometimes indicating a memory barrier) and -2 (indicating |
297 that the alias set should be set to a unique value but has not been | 307 that the alias set should be set to a unique value but has not been |
298 set yet). */ | 308 set yet). */ |
299 typedef int alias_set_type; | 309 typedef int alias_set_type; |
300 | 310 |
301 struct edge_def; | 311 class edge_def; |
302 typedef struct edge_def *edge; | 312 typedef class edge_def *edge; |
303 typedef const struct edge_def *const_edge; | 313 typedef const class edge_def *const_edge; |
304 struct basic_block_def; | 314 struct basic_block_def; |
305 typedef struct basic_block_def *basic_block; | 315 typedef struct basic_block_def *basic_block; |
306 typedef const struct basic_block_def *const_basic_block; | 316 typedef const struct basic_block_def *const_basic_block; |
307 | 317 |
308 #if !defined (GENERATOR_FILE) | 318 #if !defined (GENERATOR_FILE) |
330 namespace gcc { | 340 namespace gcc { |
331 class context; | 341 class context; |
332 } | 342 } |
333 | 343 |
334 typedef std::pair <tree, tree> tree_pair; | 344 typedef std::pair <tree, tree> tree_pair; |
345 typedef std::pair <const char *, int> string_int_pair; | |
335 | 346 |
336 /* Define a name->value mapping. */ | 347 /* Define a name->value mapping. */ |
337 template <typename ValueType> | 348 template <typename ValueType> |
338 struct kv_pair | 349 struct kv_pair |
339 { | 350 { |
367 enum function_class { | 378 enum function_class { |
368 function_c94, | 379 function_c94, |
369 function_c99_misc, | 380 function_c99_misc, |
370 function_c99_math_complex, | 381 function_c99_math_complex, |
371 function_sincos, | 382 function_sincos, |
372 function_c11_misc | 383 function_c11_misc, |
384 function_c2x_misc | |
373 }; | 385 }; |
374 | 386 |
375 /* Enumerate visibility settings. This is deliberately ordered from most | 387 /* Enumerate visibility settings. This is deliberately ordered from most |
376 to least visibility. */ | 388 to least visibility. */ |
377 enum symbol_visibility | 389 enum symbol_visibility |