annotate gcc/coretypes.h @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 /* GCC core type declarations.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2 Copyright (C) 2002-2020 Free Software Foundation, Inc.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 This file is part of GCC.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 GCC is free software; you can redistribute it and/or modify it under
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 the terms of the GNU General Public License as published by the Free
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 Software Foundation; either version 3, or (at your option) any later
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 version.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 for more details.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 Under Section 7 of GPL version 3, you are granted additional
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 permissions described in the GCC Runtime Library Exception, version
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 3.1, as published by the Free Software Foundation.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 You should have received a copy of the GNU General Public License and
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 a copy of the GCC Runtime Library Exception along with this program;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 <http://www.gnu.org/licenses/>. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 /* Provide forward declarations of core types which are referred to by
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 most of the compiler. This allows header files to use these types
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 (e.g. in function prototypes) without concern for whether the full
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 definitions are visible. Some other declarations that need to be
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 universally visible are here, too.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 In the context of tconfig.h, most of these have special definitions
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 which prevent them from being used except in further type
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 declarations. This is a kludge; the right thing is to avoid
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 including the "tm.h" header set in the context of tconfig.h, but
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 we're not there yet. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 #ifndef GCC_CORETYPES_H
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 #define GCC_CORETYPES_H
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
40 #ifndef GTY
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 #define GTY(x) /* nothing - marker for gengtype */
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
42 #endif
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 #ifndef USED_FOR_TARGET
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45
111
kono
parents: 67
diff changeset
46 typedef int64_t gcov_type;
kono
parents: 67
diff changeset
47 typedef uint64_t gcov_type_unsigned;
kono
parents: 67
diff changeset
48
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
49 struct bitmap_obstack;
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
50 class bitmap_head;
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
51 typedef class bitmap_head *bitmap;
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
52 typedef const class bitmap_head *const_bitmap;
63
b7f97abdc517 update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
53 struct simple_bitmap_def;
b7f97abdc517 update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
54 typedef struct simple_bitmap_def *sbitmap;
b7f97abdc517 update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 55
diff changeset
55 typedef const struct simple_bitmap_def *const_sbitmap;
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 struct rtx_def;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 typedef struct rtx_def *rtx;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 typedef const struct rtx_def *const_rtx;
111
kono
parents: 67
diff changeset
59 class scalar_mode;
kono
parents: 67
diff changeset
60 class scalar_int_mode;
kono
parents: 67
diff changeset
61 class scalar_float_mode;
kono
parents: 67
diff changeset
62 class complex_mode;
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
63 class fixed_size_mode;
111
kono
parents: 67
diff changeset
64 template<typename> class opt_mode;
kono
parents: 67
diff changeset
65 typedef opt_mode<scalar_mode> opt_scalar_mode;
kono
parents: 67
diff changeset
66 typedef opt_mode<scalar_int_mode> opt_scalar_int_mode;
kono
parents: 67
diff changeset
67 typedef opt_mode<scalar_float_mode> opt_scalar_float_mode;
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
68 template<typename> struct pod_mode;
111
kono
parents: 67
diff changeset
69 typedef pod_mode<scalar_mode> scalar_mode_pod;
kono
parents: 67
diff changeset
70 typedef pod_mode<scalar_int_mode> scalar_int_mode_pod;
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
71 typedef pod_mode<fixed_size_mode> fixed_size_mode_pod;
111
kono
parents: 67
diff changeset
72
kono
parents: 67
diff changeset
73 /* Subclasses of rtx_def, using indentation to show the class
kono
parents: 67
diff changeset
74 hierarchy, along with the relevant invariant.
kono
parents: 67
diff changeset
75 Where possible, keep this list in the same order as in rtl.def. */
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
76 struct rtx_def;
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
77 struct rtx_expr_list; /* GET_CODE (X) == EXPR_LIST */
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
78 struct rtx_insn_list; /* GET_CODE (X) == INSN_LIST */
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
79 struct rtx_sequence; /* GET_CODE (X) == SEQUENCE */
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
80 struct rtx_insn;
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
81 struct rtx_debug_insn; /* DEBUG_INSN_P (X) */
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
82 struct rtx_nonjump_insn; /* NONJUMP_INSN_P (X) */
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
83 struct rtx_jump_insn; /* JUMP_P (X) */
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
84 struct rtx_call_insn; /* CALL_P (X) */
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
85 struct rtx_jump_table_data; /* JUMP_TABLE_DATA_P (X) */
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
86 struct rtx_barrier; /* BARRIER_P (X) */
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
87 struct rtx_code_label; /* LABEL_P (X) */
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
88 struct rtx_note; /* NOTE_P (X) */
111
kono
parents: 67
diff changeset
89
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 struct rtvec_def;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 typedef struct rtvec_def *rtvec;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 typedef const struct rtvec_def *const_rtvec;
111
kono
parents: 67
diff changeset
93 struct hwivec_def;
kono
parents: 67
diff changeset
94 typedef struct hwivec_def *hwivec;
kono
parents: 67
diff changeset
95 typedef const struct hwivec_def *const_hwivec;
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 union tree_node;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 typedef union tree_node *tree;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 typedef const union tree_node *const_tree;
111
kono
parents: 67
diff changeset
99 struct gimple;
kono
parents: 67
diff changeset
100 typedef gimple *gimple_seq;
kono
parents: 67
diff changeset
101 struct gimple_stmt_iterator;
kono
parents: 67
diff changeset
102
kono
parents: 67
diff changeset
103 /* Forward decls for leaf gimple subclasses (for individual gimple codes).
kono
parents: 67
diff changeset
104 Keep this in the same order as the corresponding codes in gimple.def. */
kono
parents: 67
diff changeset
105
kono
parents: 67
diff changeset
106 struct gcond;
kono
parents: 67
diff changeset
107 struct gdebug;
kono
parents: 67
diff changeset
108 struct ggoto;
kono
parents: 67
diff changeset
109 struct glabel;
kono
parents: 67
diff changeset
110 struct gswitch;
kono
parents: 67
diff changeset
111 struct gassign;
kono
parents: 67
diff changeset
112 struct gasm;
kono
parents: 67
diff changeset
113 struct gcall;
kono
parents: 67
diff changeset
114 struct gtransaction;
kono
parents: 67
diff changeset
115 struct greturn;
kono
parents: 67
diff changeset
116 struct gbind;
kono
parents: 67
diff changeset
117 struct gcatch;
kono
parents: 67
diff changeset
118 struct geh_filter;
kono
parents: 67
diff changeset
119 struct geh_mnt;
kono
parents: 67
diff changeset
120 struct geh_else;
kono
parents: 67
diff changeset
121 struct gresx;
kono
parents: 67
diff changeset
122 struct geh_dispatch;
kono
parents: 67
diff changeset
123 struct gphi;
kono
parents: 67
diff changeset
124 struct gtry;
kono
parents: 67
diff changeset
125 struct gomp_atomic_load;
kono
parents: 67
diff changeset
126 struct gomp_atomic_store;
kono
parents: 67
diff changeset
127 struct gomp_continue;
kono
parents: 67
diff changeset
128 struct gomp_critical;
kono
parents: 67
diff changeset
129 struct gomp_ordered;
kono
parents: 67
diff changeset
130 struct gomp_for;
kono
parents: 67
diff changeset
131 struct gomp_parallel;
kono
parents: 67
diff changeset
132 struct gomp_task;
kono
parents: 67
diff changeset
133 struct gomp_sections;
kono
parents: 67
diff changeset
134 struct gomp_single;
kono
parents: 67
diff changeset
135 struct gomp_target;
kono
parents: 67
diff changeset
136 struct gomp_teams;
kono
parents: 67
diff changeset
137
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
138 /* Subclasses of symtab_node, using indentation to show the class
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
139 hierarchy. */
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
140
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
141 struct symtab_node;
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
142 struct cgraph_node;
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
143 struct varpool_node;
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
144 struct cgraph_edge;
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
145
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 union section;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 typedef union section section;
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
148 struct gcc_options;
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 struct cl_target_option;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 struct cl_optimization;
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
151 struct cl_option;
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
152 struct cl_decoded_option;
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
153 struct cl_option_handlers;
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
154 struct diagnostic_context;
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
155 class pretty_printer;
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
156 class diagnostic_event_id_t;
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
157
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
158 template<typename T> struct array_traits;
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
159
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
160 /* Provides a read-only bitmap view of a single integer bitmask or an
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
161 array of integer bitmasks, or of a wrapper around such bitmasks. */
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
162 template<typename T, typename Traits = array_traits<T>,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
163 bool has_constant_size = Traits::has_constant_size>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
164 class bitmap_view;
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
166 /* Address space number for named address space support. */
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
167 typedef unsigned char addr_space_t;
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
168
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
169 /* The value of addr_space_t that represents the generic address space. */
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
170 #define ADDR_SPACE_GENERIC 0
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
171 #define ADDR_SPACE_GENERIC_P(AS) ((AS) == ADDR_SPACE_GENERIC)
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
172
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 /* The major intermediate representations of GCC. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 enum ir_type {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 IR_GIMPLE,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 IR_RTL_CFGRTL,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 IR_RTL_CFGLAYOUT
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 };
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
179
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 /* Provide forward struct declaration so that we don't have to include
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 all of cpplib.h whenever a random prototype includes a pointer.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 Note that the cpp_reader and cpp_token typedefs remain part of
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 cpplib.h. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
184
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 struct cpp_reader;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 struct cpp_token;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 /* The thread-local storage model associated with a given VAR_DECL
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 or SYMBOL_REF. This isn't used much, but both trees and RTL refer
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 to it, so it's here. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 enum tls_model {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 TLS_MODEL_NONE,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 TLS_MODEL_EMULATED,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 TLS_MODEL_REAL,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 TLS_MODEL_GLOBAL_DYNAMIC = TLS_MODEL_REAL,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
196 TLS_MODEL_LOCAL_DYNAMIC,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
197 TLS_MODEL_INITIAL_EXEC,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 TLS_MODEL_LOCAL_EXEC
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 };
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200
111
kono
parents: 67
diff changeset
201 /* Types of ABI for an offload compiler. */
kono
parents: 67
diff changeset
202 enum offload_abi {
kono
parents: 67
diff changeset
203 OFFLOAD_ABI_UNSET,
kono
parents: 67
diff changeset
204 OFFLOAD_ABI_LP64,
kono
parents: 67
diff changeset
205 OFFLOAD_ABI_ILP32
kono
parents: 67
diff changeset
206 };
kono
parents: 67
diff changeset
207
kono
parents: 67
diff changeset
208 /* Types of profile update methods. */
kono
parents: 67
diff changeset
209 enum profile_update {
kono
parents: 67
diff changeset
210 PROFILE_UPDATE_SINGLE,
kono
parents: 67
diff changeset
211 PROFILE_UPDATE_ATOMIC,
kono
parents: 67
diff changeset
212 PROFILE_UPDATE_PREFER_ATOMIC
kono
parents: 67
diff changeset
213 };
kono
parents: 67
diff changeset
214
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
215 /* Types of unwind/exception handling info that can be generated. */
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
216
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
217 enum unwind_info_type
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
218 {
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
219 UI_NONE,
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
220 UI_SJLJ,
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
221 UI_DWARF2,
111
kono
parents: 67
diff changeset
222 UI_TARGET,
kono
parents: 67
diff changeset
223 UI_SEH
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
224 };
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
225
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
226 /* Callgraph node profile representation. */
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
227 enum node_frequency {
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
228 /* This function most likely won't be executed at all.
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
229 (set only when profile feedback is available or via function attribute). */
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
230 NODE_FREQUENCY_UNLIKELY_EXECUTED,
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
231 /* For functions that are known to be executed once (i.e. constructors, destructors
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
232 and main function. */
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
233 NODE_FREQUENCY_EXECUTED_ONCE,
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
234 /* The default value. */
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
235 NODE_FREQUENCY_NORMAL,
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
236 /* Optimize this function hard
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
237 (set only when profile feedback is available or via function attribute). */
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
238 NODE_FREQUENCY_HOT
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
239 };
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
240
111
kono
parents: 67
diff changeset
241 /* Ways of optimizing code. */
kono
parents: 67
diff changeset
242 enum optimization_type {
kono
parents: 67
diff changeset
243 /* Prioritize speed over size. */
kono
parents: 67
diff changeset
244 OPTIMIZE_FOR_SPEED,
kono
parents: 67
diff changeset
245
kono
parents: 67
diff changeset
246 /* Only do things that are good for both size and speed. */
kono
parents: 67
diff changeset
247 OPTIMIZE_FOR_BOTH,
kono
parents: 67
diff changeset
248
kono
parents: 67
diff changeset
249 /* Prioritize size over speed. */
kono
parents: 67
diff changeset
250 OPTIMIZE_FOR_SIZE
kono
parents: 67
diff changeset
251 };
kono
parents: 67
diff changeset
252
kono
parents: 67
diff changeset
253 /* Enumerates a padding direction. */
kono
parents: 67
diff changeset
254 enum pad_direction {
kono
parents: 67
diff changeset
255 /* No padding is required. */
kono
parents: 67
diff changeset
256 PAD_NONE,
kono
parents: 67
diff changeset
257
kono
parents: 67
diff changeset
258 /* Insert padding above the data, i.e. at higher memeory addresses
kono
parents: 67
diff changeset
259 when dealing with memory, and at the most significant end when
kono
parents: 67
diff changeset
260 dealing with registers. */
kono
parents: 67
diff changeset
261 PAD_UPWARD,
kono
parents: 67
diff changeset
262
kono
parents: 67
diff changeset
263 /* Insert padding below the data, i.e. at lower memeory addresses
kono
parents: 67
diff changeset
264 when dealing with memory, and at the least significant end when
kono
parents: 67
diff changeset
265 dealing with registers. */
kono
parents: 67
diff changeset
266 PAD_DOWNWARD
kono
parents: 67
diff changeset
267 };
kono
parents: 67
diff changeset
268
kono
parents: 67
diff changeset
269 /* Possible initialization status of a variable. When requested
kono
parents: 67
diff changeset
270 by the user, this information is tracked and recorded in the DWARF
kono
parents: 67
diff changeset
271 debug information, along with the variable's location. */
kono
parents: 67
diff changeset
272 enum var_init_status
kono
parents: 67
diff changeset
273 {
kono
parents: 67
diff changeset
274 VAR_INIT_STATUS_UNKNOWN,
kono
parents: 67
diff changeset
275 VAR_INIT_STATUS_UNINITIALIZED,
kono
parents: 67
diff changeset
276 VAR_INIT_STATUS_INITIALIZED
kono
parents: 67
diff changeset
277 };
kono
parents: 67
diff changeset
278
kono
parents: 67
diff changeset
279 /* Names for the different levels of -Wstrict-overflow=N. The numeric
kono
parents: 67
diff changeset
280 values here correspond to N. */
kono
parents: 67
diff changeset
281 enum warn_strict_overflow_code
kono
parents: 67
diff changeset
282 {
kono
parents: 67
diff changeset
283 /* Overflow warning that should be issued with -Wall: a questionable
kono
parents: 67
diff changeset
284 construct that is easy to avoid even when using macros. Example:
kono
parents: 67
diff changeset
285 folding (x + CONSTANT > x) to 1. */
kono
parents: 67
diff changeset
286 WARN_STRICT_OVERFLOW_ALL = 1,
kono
parents: 67
diff changeset
287 /* Overflow warning about folding a comparison to a constant because
kono
parents: 67
diff changeset
288 of undefined signed overflow, other than cases covered by
kono
parents: 67
diff changeset
289 WARN_STRICT_OVERFLOW_ALL. Example: folding (abs (x) >= 0) to 1
kono
parents: 67
diff changeset
290 (this is false when x == INT_MIN). */
kono
parents: 67
diff changeset
291 WARN_STRICT_OVERFLOW_CONDITIONAL = 2,
kono
parents: 67
diff changeset
292 /* Overflow warning about changes to comparisons other than folding
kono
parents: 67
diff changeset
293 them to a constant. Example: folding (x + 1 > 1) to (x > 0). */
kono
parents: 67
diff changeset
294 WARN_STRICT_OVERFLOW_COMPARISON = 3,
kono
parents: 67
diff changeset
295 /* Overflow warnings not covered by the above cases. Example:
kono
parents: 67
diff changeset
296 folding ((x * 10) / 5) to (x * 2). */
kono
parents: 67
diff changeset
297 WARN_STRICT_OVERFLOW_MISC = 4,
kono
parents: 67
diff changeset
298 /* Overflow warnings about reducing magnitude of constants in
kono
parents: 67
diff changeset
299 comparison. Example: folding (x + 2 > y) to (x + 1 >= y). */
kono
parents: 67
diff changeset
300 WARN_STRICT_OVERFLOW_MAGNITUDE = 5
kono
parents: 67
diff changeset
301 };
kono
parents: 67
diff changeset
302
kono
parents: 67
diff changeset
303 /* The type of an alias set. Code currently assumes that variables of
kono
parents: 67
diff changeset
304 this type can take the values 0 (the alias set which aliases
kono
parents: 67
diff changeset
305 everything) and -1 (sometimes indicating that the alias set is
kono
parents: 67
diff changeset
306 unknown, sometimes indicating a memory barrier) and -2 (indicating
kono
parents: 67
diff changeset
307 that the alias set should be set to a unique value but has not been
kono
parents: 67
diff changeset
308 set yet). */
kono
parents: 67
diff changeset
309 typedef int alias_set_type;
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
310
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
311 class edge_def;
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
312 typedef class edge_def *edge;
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
313 typedef const class edge_def *const_edge;
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
314 struct basic_block_def;
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
315 typedef struct basic_block_def *basic_block;
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
316 typedef const struct basic_block_def *const_basic_block;
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
317
111
kono
parents: 67
diff changeset
318 #if !defined (GENERATOR_FILE)
kono
parents: 67
diff changeset
319 # define OBSTACK_CHUNK_SIZE memory_block_pool::block_size
kono
parents: 67
diff changeset
320 # define obstack_chunk_alloc mempool_obstack_chunk_alloc
kono
parents: 67
diff changeset
321 # define obstack_chunk_free mempool_obstack_chunk_free
kono
parents: 67
diff changeset
322 #else
kono
parents: 67
diff changeset
323 # define OBSTACK_CHUNK_SIZE 0
kono
parents: 67
diff changeset
324 # define obstack_chunk_alloc xmalloc
kono
parents: 67
diff changeset
325 # define obstack_chunk_free free
kono
parents: 67
diff changeset
326 #endif
kono
parents: 67
diff changeset
327
kono
parents: 67
diff changeset
328 #define gcc_obstack_init(OBSTACK) \
kono
parents: 67
diff changeset
329 obstack_specify_allocation ((OBSTACK), OBSTACK_CHUNK_SIZE, 0, \
kono
parents: 67
diff changeset
330 obstack_chunk_alloc, \
kono
parents: 67
diff changeset
331 obstack_chunk_free)
67
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
332
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
333 /* enum reg_class is target specific, so it should not appear in
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
334 target-independent code or interfaces, like the target hook declarations
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
335 in target.h. */
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
336 typedef int reg_class_t;
f6334be47118 update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents: 63
diff changeset
337
111
kono
parents: 67
diff changeset
338 class rtl_opt_pass;
kono
parents: 67
diff changeset
339
kono
parents: 67
diff changeset
340 namespace gcc {
kono
parents: 67
diff changeset
341 class context;
kono
parents: 67
diff changeset
342 }
kono
parents: 67
diff changeset
343
kono
parents: 67
diff changeset
344 typedef std::pair <tree, tree> tree_pair;
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
345 typedef std::pair <const char *, int> string_int_pair;
111
kono
parents: 67
diff changeset
346
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
347 /* Define a name->value mapping. */
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
348 template <typename ValueType>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
349 struct kv_pair
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
350 {
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
351 const char *const name; /* the name of the value */
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
352 const ValueType value; /* the value of the name */
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
353 };
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
354
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
355 #else
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
356
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
357 struct _dont_use_rtx_here_;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
358 struct _dont_use_rtvec_here_;
111
kono
parents: 67
diff changeset
359 struct _dont_use_rtx_insn_here_;
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
360 union _dont_use_tree_here_;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
361 #define rtx struct _dont_use_rtx_here_ *
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
362 #define const_rtx struct _dont_use_rtx_here_ *
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
363 #define rtvec struct _dont_use_rtvec_here *
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
364 #define const_rtvec struct _dont_use_rtvec_here *
111
kono
parents: 67
diff changeset
365 #define rtx_insn struct _dont_use_rtx_insn_here_
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
366 #define tree union _dont_use_tree_here_ *
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
367 #define const_tree union _dont_use_tree_here_ *
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
368
111
kono
parents: 67
diff changeset
369 typedef struct scalar_mode scalar_mode;
kono
parents: 67
diff changeset
370 typedef struct scalar_int_mode scalar_int_mode;
kono
parents: 67
diff changeset
371 typedef struct scalar_float_mode scalar_float_mode;
kono
parents: 67
diff changeset
372 typedef struct complex_mode complex_mode;
kono
parents: 67
diff changeset
373
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
374 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
375
111
kono
parents: 67
diff changeset
376 /* Classes of functions that compiler needs to check
kono
parents: 67
diff changeset
377 whether they are present at the runtime or not. */
kono
parents: 67
diff changeset
378 enum function_class {
kono
parents: 67
diff changeset
379 function_c94,
kono
parents: 67
diff changeset
380 function_c99_misc,
kono
parents: 67
diff changeset
381 function_c99_math_complex,
kono
parents: 67
diff changeset
382 function_sincos,
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
383 function_c11_misc,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
384 function_c2x_misc
111
kono
parents: 67
diff changeset
385 };
kono
parents: 67
diff changeset
386
kono
parents: 67
diff changeset
387 /* Enumerate visibility settings. This is deliberately ordered from most
kono
parents: 67
diff changeset
388 to least visibility. */
kono
parents: 67
diff changeset
389 enum symbol_visibility
kono
parents: 67
diff changeset
390 {
kono
parents: 67
diff changeset
391 VISIBILITY_DEFAULT,
kono
parents: 67
diff changeset
392 VISIBILITY_PROTECTED,
kono
parents: 67
diff changeset
393 VISIBILITY_HIDDEN,
kono
parents: 67
diff changeset
394 VISIBILITY_INTERNAL
kono
parents: 67
diff changeset
395 };
kono
parents: 67
diff changeset
396
kono
parents: 67
diff changeset
397 /* enums used by the targetm.excess_precision hook. */
kono
parents: 67
diff changeset
398
kono
parents: 67
diff changeset
399 enum flt_eval_method
kono
parents: 67
diff changeset
400 {
kono
parents: 67
diff changeset
401 FLT_EVAL_METHOD_UNPREDICTABLE = -1,
kono
parents: 67
diff changeset
402 FLT_EVAL_METHOD_PROMOTE_TO_FLOAT = 0,
kono
parents: 67
diff changeset
403 FLT_EVAL_METHOD_PROMOTE_TO_DOUBLE = 1,
kono
parents: 67
diff changeset
404 FLT_EVAL_METHOD_PROMOTE_TO_LONG_DOUBLE = 2,
kono
parents: 67
diff changeset
405 FLT_EVAL_METHOD_PROMOTE_TO_FLOAT16 = 16
kono
parents: 67
diff changeset
406 };
kono
parents: 67
diff changeset
407
kono
parents: 67
diff changeset
408 enum excess_precision_type
kono
parents: 67
diff changeset
409 {
kono
parents: 67
diff changeset
410 EXCESS_PRECISION_TYPE_IMPLICIT,
kono
parents: 67
diff changeset
411 EXCESS_PRECISION_TYPE_STANDARD,
kono
parents: 67
diff changeset
412 EXCESS_PRECISION_TYPE_FAST
kono
parents: 67
diff changeset
413 };
kono
parents: 67
diff changeset
414
kono
parents: 67
diff changeset
415 /* Support for user-provided GGC and PCH markers. The first parameter
kono
parents: 67
diff changeset
416 is a pointer to a pointer, the second a cookie. */
kono
parents: 67
diff changeset
417 typedef void (*gt_pointer_operator) (void *, void *);
kono
parents: 67
diff changeset
418
kono
parents: 67
diff changeset
419 #if !defined (HAVE_UCHAR)
kono
parents: 67
diff changeset
420 typedef unsigned char uchar;
kono
parents: 67
diff changeset
421 #endif
kono
parents: 67
diff changeset
422
kono
parents: 67
diff changeset
423 /* Most source files will require the following headers. */
kono
parents: 67
diff changeset
424 #if !defined (USED_FOR_TARGET)
kono
parents: 67
diff changeset
425 #include "insn-modes.h"
kono
parents: 67
diff changeset
426 #include "signop.h"
kono
parents: 67
diff changeset
427 #include "wide-int.h"
kono
parents: 67
diff changeset
428 #include "wide-int-print.h"
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
429
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
430 /* On targets that don't need polynomial offsets, target-specific code
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
431 should be able to treat poly_int like a normal constant, with a
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
432 conversion operator going from the former to the latter. We also
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
433 allow this for gencondmd.c for all targets, so that we can treat
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
434 machine_modes as enums without causing build failures. */
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
435 #if (defined (IN_TARGET_CODE) \
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
436 && (defined (USE_ENUM_MODES) || NUM_POLY_INT_COEFFS == 1))
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
437 #define POLY_INT_CONVERSION 1
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
438 #else
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
439 #define POLY_INT_CONVERSION 0
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
440 #endif
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
441
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
442 #include "poly-int.h"
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
443 #include "poly-int-types.h"
111
kono
parents: 67
diff changeset
444 #include "insn-modes-inline.h"
kono
parents: 67
diff changeset
445 #include "machmode.h"
kono
parents: 67
diff changeset
446 #include "double-int.h"
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
447 #include "align.h"
111
kono
parents: 67
diff changeset
448 /* Most host source files will require the following headers. */
kono
parents: 67
diff changeset
449 #if !defined (GENERATOR_FILE)
kono
parents: 67
diff changeset
450 #include "real.h"
kono
parents: 67
diff changeset
451 #include "fixed-value.h"
kono
parents: 67
diff changeset
452 #include "hash-table.h"
kono
parents: 67
diff changeset
453 #include "hash-set.h"
kono
parents: 67
diff changeset
454 #include "input.h"
kono
parents: 67
diff changeset
455 #include "is-a.h"
kono
parents: 67
diff changeset
456 #include "memory-block.h"
kono
parents: 67
diff changeset
457 #include "dumpfile.h"
kono
parents: 67
diff changeset
458 #endif
kono
parents: 67
diff changeset
459 #endif /* GENERATOR_FILE && !USED_FOR_TARGET */
kono
parents: 67
diff changeset
460
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
461 #endif /* coretypes.h */