annotate gcc/coretypes.h @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
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.
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
2 Copyright (C) 2002-2018 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;
111
kono
parents: 67
diff changeset
50 struct bitmap_head;
kono
parents: 67
diff changeset
51 typedef struct bitmap_head *bitmap;
kono
parents: 67
diff changeset
52 typedef const struct 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;
kono
parents: 67
diff changeset
68 template<typename> class pod_mode;
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. */
kono
parents: 67
diff changeset
76 class rtx_def;
kono
parents: 67
diff changeset
77 class rtx_expr_list; /* GET_CODE (X) == EXPR_LIST */
kono
parents: 67
diff changeset
78 class rtx_insn_list; /* GET_CODE (X) == INSN_LIST */
kono
parents: 67
diff changeset
79 class rtx_sequence; /* GET_CODE (X) == SEQUENCE */
kono
parents: 67
diff changeset
80 class rtx_insn;
kono
parents: 67
diff changeset
81 class rtx_debug_insn; /* DEBUG_INSN_P (X) */
kono
parents: 67
diff changeset
82 class rtx_nonjump_insn; /* NONJUMP_INSN_P (X) */
kono
parents: 67
diff changeset
83 class rtx_jump_insn; /* JUMP_P (X) */
kono
parents: 67
diff changeset
84 class rtx_call_insn; /* CALL_P (X) */
kono
parents: 67
diff changeset
85 class rtx_jump_table_data; /* JUMP_TABLE_DATA_P (X) */
kono
parents: 67
diff changeset
86 class rtx_barrier; /* BARRIER_P (X) */
kono
parents: 67
diff changeset
87 class rtx_code_label; /* LABEL_P (X) */
kono
parents: 67
diff changeset
88 class rtx_note; /* NOTE_P (X) */
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
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
141 class symtab_node;
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
142 struct cgraph_node;
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
143 class varpool_node;
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
144
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 union section;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 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
147 struct gcc_options;
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 struct cl_target_option;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 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
150 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
151 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
152 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
153 struct diagnostic_context;
111
kono
parents: 67
diff changeset
154 struct pretty_printer;
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
155
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
156 /* 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
157 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
158
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
159 /* 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
160 #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
161 #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
162
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 /* The major intermediate representations of GCC. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 enum ir_type {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 IR_GIMPLE,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 IR_RTL_CFGRTL,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 IR_RTL_CFGLAYOUT
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 };
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 /* 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
171 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
172 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
173 cpplib.h. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 struct cpp_reader;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 struct cpp_token;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 /* 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
179 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
180 to it, so it's here. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 enum tls_model {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 TLS_MODEL_NONE,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 TLS_MODEL_EMULATED,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 TLS_MODEL_REAL,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 TLS_MODEL_GLOBAL_DYNAMIC = TLS_MODEL_REAL,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 TLS_MODEL_LOCAL_DYNAMIC,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 TLS_MODEL_INITIAL_EXEC,
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 TLS_MODEL_LOCAL_EXEC
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 };
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
190
111
kono
parents: 67
diff changeset
191 /* Types of ABI for an offload compiler. */
kono
parents: 67
diff changeset
192 enum offload_abi {
kono
parents: 67
diff changeset
193 OFFLOAD_ABI_UNSET,
kono
parents: 67
diff changeset
194 OFFLOAD_ABI_LP64,
kono
parents: 67
diff changeset
195 OFFLOAD_ABI_ILP32
kono
parents: 67
diff changeset
196 };
kono
parents: 67
diff changeset
197
kono
parents: 67
diff changeset
198 /* Types of profile update methods. */
kono
parents: 67
diff changeset
199 enum profile_update {
kono
parents: 67
diff changeset
200 PROFILE_UPDATE_SINGLE,
kono
parents: 67
diff changeset
201 PROFILE_UPDATE_ATOMIC,
kono
parents: 67
diff changeset
202 PROFILE_UPDATE_PREFER_ATOMIC
kono
parents: 67
diff changeset
203 };
kono
parents: 67
diff changeset
204
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
205 /* 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
206
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
207 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
208 {
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
209 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
210 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
211 UI_DWARF2,
111
kono
parents: 67
diff changeset
212 UI_TARGET,
kono
parents: 67
diff changeset
213 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
214 };
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
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 /* 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
217 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
218 /* 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
219 (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
220 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
221 /* 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
222 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
223 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
224 /* 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
225 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
226 /* 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
227 (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
228 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
229 };
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
111
kono
parents: 67
diff changeset
231 /* Ways of optimizing code. */
kono
parents: 67
diff changeset
232 enum optimization_type {
kono
parents: 67
diff changeset
233 /* Prioritize speed over size. */
kono
parents: 67
diff changeset
234 OPTIMIZE_FOR_SPEED,
kono
parents: 67
diff changeset
235
kono
parents: 67
diff changeset
236 /* Only do things that are good for both size and speed. */
kono
parents: 67
diff changeset
237 OPTIMIZE_FOR_BOTH,
kono
parents: 67
diff changeset
238
kono
parents: 67
diff changeset
239 /* Prioritize size over speed. */
kono
parents: 67
diff changeset
240 OPTIMIZE_FOR_SIZE
kono
parents: 67
diff changeset
241 };
kono
parents: 67
diff changeset
242
kono
parents: 67
diff changeset
243 /* Enumerates a padding direction. */
kono
parents: 67
diff changeset
244 enum pad_direction {
kono
parents: 67
diff changeset
245 /* No padding is required. */
kono
parents: 67
diff changeset
246 PAD_NONE,
kono
parents: 67
diff changeset
247
kono
parents: 67
diff changeset
248 /* Insert padding above the data, i.e. at higher memeory addresses
kono
parents: 67
diff changeset
249 when dealing with memory, and at the most significant end when
kono
parents: 67
diff changeset
250 dealing with registers. */
kono
parents: 67
diff changeset
251 PAD_UPWARD,
kono
parents: 67
diff changeset
252
kono
parents: 67
diff changeset
253 /* Insert padding below the data, i.e. at lower memeory addresses
kono
parents: 67
diff changeset
254 when dealing with memory, and at the least significant end when
kono
parents: 67
diff changeset
255 dealing with registers. */
kono
parents: 67
diff changeset
256 PAD_DOWNWARD
kono
parents: 67
diff changeset
257 };
kono
parents: 67
diff changeset
258
kono
parents: 67
diff changeset
259 /* Possible initialization status of a variable. When requested
kono
parents: 67
diff changeset
260 by the user, this information is tracked and recorded in the DWARF
kono
parents: 67
diff changeset
261 debug information, along with the variable's location. */
kono
parents: 67
diff changeset
262 enum var_init_status
kono
parents: 67
diff changeset
263 {
kono
parents: 67
diff changeset
264 VAR_INIT_STATUS_UNKNOWN,
kono
parents: 67
diff changeset
265 VAR_INIT_STATUS_UNINITIALIZED,
kono
parents: 67
diff changeset
266 VAR_INIT_STATUS_INITIALIZED
kono
parents: 67
diff changeset
267 };
kono
parents: 67
diff changeset
268
kono
parents: 67
diff changeset
269 /* Names for the different levels of -Wstrict-overflow=N. The numeric
kono
parents: 67
diff changeset
270 values here correspond to N. */
kono
parents: 67
diff changeset
271 enum warn_strict_overflow_code
kono
parents: 67
diff changeset
272 {
kono
parents: 67
diff changeset
273 /* Overflow warning that should be issued with -Wall: a questionable
kono
parents: 67
diff changeset
274 construct that is easy to avoid even when using macros. Example:
kono
parents: 67
diff changeset
275 folding (x + CONSTANT > x) to 1. */
kono
parents: 67
diff changeset
276 WARN_STRICT_OVERFLOW_ALL = 1,
kono
parents: 67
diff changeset
277 /* Overflow warning about folding a comparison to a constant because
kono
parents: 67
diff changeset
278 of undefined signed overflow, other than cases covered by
kono
parents: 67
diff changeset
279 WARN_STRICT_OVERFLOW_ALL. Example: folding (abs (x) >= 0) to 1
kono
parents: 67
diff changeset
280 (this is false when x == INT_MIN). */
kono
parents: 67
diff changeset
281 WARN_STRICT_OVERFLOW_CONDITIONAL = 2,
kono
parents: 67
diff changeset
282 /* Overflow warning about changes to comparisons other than folding
kono
parents: 67
diff changeset
283 them to a constant. Example: folding (x + 1 > 1) to (x > 0). */
kono
parents: 67
diff changeset
284 WARN_STRICT_OVERFLOW_COMPARISON = 3,
kono
parents: 67
diff changeset
285 /* Overflow warnings not covered by the above cases. Example:
kono
parents: 67
diff changeset
286 folding ((x * 10) / 5) to (x * 2). */
kono
parents: 67
diff changeset
287 WARN_STRICT_OVERFLOW_MISC = 4,
kono
parents: 67
diff changeset
288 /* Overflow warnings about reducing magnitude of constants in
kono
parents: 67
diff changeset
289 comparison. Example: folding (x + 2 > y) to (x + 1 >= y). */
kono
parents: 67
diff changeset
290 WARN_STRICT_OVERFLOW_MAGNITUDE = 5
kono
parents: 67
diff changeset
291 };
kono
parents: 67
diff changeset
292
kono
parents: 67
diff changeset
293 /* The type of an alias set. Code currently assumes that variables of
kono
parents: 67
diff changeset
294 this type can take the values 0 (the alias set which aliases
kono
parents: 67
diff changeset
295 everything) and -1 (sometimes indicating that the alias set is
kono
parents: 67
diff changeset
296 unknown, sometimes indicating a memory barrier) and -2 (indicating
kono
parents: 67
diff changeset
297 that the alias set should be set to a unique value but has not been
kono
parents: 67
diff changeset
298 set yet). */
kono
parents: 67
diff changeset
299 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
300
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
301 struct edge_def;
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
302 typedef struct edge_def *edge;
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
303 typedef const struct edge_def *const_edge;
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
304 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
305 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
306 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
307
111
kono
parents: 67
diff changeset
308 #if !defined (GENERATOR_FILE)
kono
parents: 67
diff changeset
309 # define OBSTACK_CHUNK_SIZE memory_block_pool::block_size
kono
parents: 67
diff changeset
310 # define obstack_chunk_alloc mempool_obstack_chunk_alloc
kono
parents: 67
diff changeset
311 # define obstack_chunk_free mempool_obstack_chunk_free
kono
parents: 67
diff changeset
312 #else
kono
parents: 67
diff changeset
313 # define OBSTACK_CHUNK_SIZE 0
kono
parents: 67
diff changeset
314 # define obstack_chunk_alloc xmalloc
kono
parents: 67
diff changeset
315 # define obstack_chunk_free free
kono
parents: 67
diff changeset
316 #endif
kono
parents: 67
diff changeset
317
kono
parents: 67
diff changeset
318 #define gcc_obstack_init(OBSTACK) \
kono
parents: 67
diff changeset
319 obstack_specify_allocation ((OBSTACK), OBSTACK_CHUNK_SIZE, 0, \
kono
parents: 67
diff changeset
320 obstack_chunk_alloc, \
kono
parents: 67
diff changeset
321 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
322
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
323 /* 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
324 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
325 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
326 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
327
111
kono
parents: 67
diff changeset
328 class rtl_opt_pass;
kono
parents: 67
diff changeset
329
kono
parents: 67
diff changeset
330 namespace gcc {
kono
parents: 67
diff changeset
331 class context;
kono
parents: 67
diff changeset
332 }
kono
parents: 67
diff changeset
333
kono
parents: 67
diff changeset
334 typedef std::pair <tree, tree> tree_pair;
kono
parents: 67
diff changeset
335
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
336 /* Define a name->value mapping. */
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
337 template <typename ValueType>
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
338 struct kv_pair
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
339 {
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
340 const char *const name; /* the name of the value */
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
341 const ValueType value; /* the value of the name */
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
342 };
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
343
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
344 #else
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
345
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 struct _dont_use_rtx_here_;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
347 struct _dont_use_rtvec_here_;
111
kono
parents: 67
diff changeset
348 struct _dont_use_rtx_insn_here_;
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
349 union _dont_use_tree_here_;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
350 #define rtx struct _dont_use_rtx_here_ *
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
351 #define const_rtx struct _dont_use_rtx_here_ *
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
352 #define rtvec struct _dont_use_rtvec_here *
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
353 #define const_rtvec struct _dont_use_rtvec_here *
111
kono
parents: 67
diff changeset
354 #define rtx_insn struct _dont_use_rtx_insn_here_
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
355 #define tree union _dont_use_tree_here_ *
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
356 #define const_tree union _dont_use_tree_here_ *
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
357
111
kono
parents: 67
diff changeset
358 typedef struct scalar_mode scalar_mode;
kono
parents: 67
diff changeset
359 typedef struct scalar_int_mode scalar_int_mode;
kono
parents: 67
diff changeset
360 typedef struct scalar_float_mode scalar_float_mode;
kono
parents: 67
diff changeset
361 typedef struct complex_mode complex_mode;
kono
parents: 67
diff changeset
362
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
363 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
364
111
kono
parents: 67
diff changeset
365 /* Classes of functions that compiler needs to check
kono
parents: 67
diff changeset
366 whether they are present at the runtime or not. */
kono
parents: 67
diff changeset
367 enum function_class {
kono
parents: 67
diff changeset
368 function_c94,
kono
parents: 67
diff changeset
369 function_c99_misc,
kono
parents: 67
diff changeset
370 function_c99_math_complex,
kono
parents: 67
diff changeset
371 function_sincos,
kono
parents: 67
diff changeset
372 function_c11_misc
kono
parents: 67
diff changeset
373 };
kono
parents: 67
diff changeset
374
kono
parents: 67
diff changeset
375 /* Enumerate visibility settings. This is deliberately ordered from most
kono
parents: 67
diff changeset
376 to least visibility. */
kono
parents: 67
diff changeset
377 enum symbol_visibility
kono
parents: 67
diff changeset
378 {
kono
parents: 67
diff changeset
379 VISIBILITY_DEFAULT,
kono
parents: 67
diff changeset
380 VISIBILITY_PROTECTED,
kono
parents: 67
diff changeset
381 VISIBILITY_HIDDEN,
kono
parents: 67
diff changeset
382 VISIBILITY_INTERNAL
kono
parents: 67
diff changeset
383 };
kono
parents: 67
diff changeset
384
kono
parents: 67
diff changeset
385 /* enums used by the targetm.excess_precision hook. */
kono
parents: 67
diff changeset
386
kono
parents: 67
diff changeset
387 enum flt_eval_method
kono
parents: 67
diff changeset
388 {
kono
parents: 67
diff changeset
389 FLT_EVAL_METHOD_UNPREDICTABLE = -1,
kono
parents: 67
diff changeset
390 FLT_EVAL_METHOD_PROMOTE_TO_FLOAT = 0,
kono
parents: 67
diff changeset
391 FLT_EVAL_METHOD_PROMOTE_TO_DOUBLE = 1,
kono
parents: 67
diff changeset
392 FLT_EVAL_METHOD_PROMOTE_TO_LONG_DOUBLE = 2,
kono
parents: 67
diff changeset
393 FLT_EVAL_METHOD_PROMOTE_TO_FLOAT16 = 16
kono
parents: 67
diff changeset
394 };
kono
parents: 67
diff changeset
395
kono
parents: 67
diff changeset
396 enum excess_precision_type
kono
parents: 67
diff changeset
397 {
kono
parents: 67
diff changeset
398 EXCESS_PRECISION_TYPE_IMPLICIT,
kono
parents: 67
diff changeset
399 EXCESS_PRECISION_TYPE_STANDARD,
kono
parents: 67
diff changeset
400 EXCESS_PRECISION_TYPE_FAST
kono
parents: 67
diff changeset
401 };
kono
parents: 67
diff changeset
402
kono
parents: 67
diff changeset
403 /* Support for user-provided GGC and PCH markers. The first parameter
kono
parents: 67
diff changeset
404 is a pointer to a pointer, the second a cookie. */
kono
parents: 67
diff changeset
405 typedef void (*gt_pointer_operator) (void *, void *);
kono
parents: 67
diff changeset
406
kono
parents: 67
diff changeset
407 #if !defined (HAVE_UCHAR)
kono
parents: 67
diff changeset
408 typedef unsigned char uchar;
kono
parents: 67
diff changeset
409 #endif
kono
parents: 67
diff changeset
410
kono
parents: 67
diff changeset
411 /* Most source files will require the following headers. */
kono
parents: 67
diff changeset
412 #if !defined (USED_FOR_TARGET)
kono
parents: 67
diff changeset
413 #include "insn-modes.h"
kono
parents: 67
diff changeset
414 #include "signop.h"
kono
parents: 67
diff changeset
415 #include "wide-int.h"
kono
parents: 67
diff changeset
416 #include "wide-int-print.h"
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
417
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
418 /* On targets that don't need polynomial offsets, target-specific code
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
419 should be able to treat poly_int like a normal constant, with a
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
420 conversion operator going from the former to the latter. We also
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
421 allow this for gencondmd.c for all targets, so that we can treat
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
422 machine_modes as enums without causing build failures. */
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
423 #if (defined (IN_TARGET_CODE) \
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
424 && (defined (USE_ENUM_MODES) || NUM_POLY_INT_COEFFS == 1))
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
425 #define POLY_INT_CONVERSION 1
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
426 #else
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
427 #define POLY_INT_CONVERSION 0
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
428 #endif
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
429
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
430 #include "poly-int.h"
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
431 #include "poly-int-types.h"
111
kono
parents: 67
diff changeset
432 #include "insn-modes-inline.h"
kono
parents: 67
diff changeset
433 #include "machmode.h"
kono
parents: 67
diff changeset
434 #include "double-int.h"
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
435 #include "align.h"
111
kono
parents: 67
diff changeset
436 /* Most host source files will require the following headers. */
kono
parents: 67
diff changeset
437 #if !defined (GENERATOR_FILE)
kono
parents: 67
diff changeset
438 #include "real.h"
kono
parents: 67
diff changeset
439 #include "fixed-value.h"
kono
parents: 67
diff changeset
440 #include "hash-table.h"
kono
parents: 67
diff changeset
441 #include "hash-set.h"
kono
parents: 67
diff changeset
442 #include "input.h"
kono
parents: 67
diff changeset
443 #include "is-a.h"
kono
parents: 67
diff changeset
444 #include "memory-block.h"
kono
parents: 67
diff changeset
445 #include "dumpfile.h"
kono
parents: 67
diff changeset
446 #endif
kono
parents: 67
diff changeset
447 #endif /* GENERATOR_FILE && !USED_FOR_TARGET */
kono
parents: 67
diff changeset
448
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
449 #endif /* coretypes.h */