Line data Source code
1 : /* Type information for cp/pt.cc.
2 : Copyright (C) 2004-2023 Free Software Foundation, Inc.
3 :
4 : This file is part of GCC.
5 :
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
8 : Software Foundation; either version 3, or (at your option) any later
9 : version.
10 :
11 : GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12 : WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 : FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 : for more details.
15 :
16 : You should have received a copy of the GNU General Public License
17 : along with GCC; see the file COPYING3. If not see
18 : <http://www.gnu.org/licenses/>. */
19 :
20 : /* This file is machine generated. Do not edit. */
21 :
22 : void
23 10417705 : gt_ggc_mx_tinst_level (void *x_p)
24 : {
25 10417705 : struct tinst_level * x = (struct tinst_level *)x_p;
26 10417705 : struct tinst_level * xlimit = x;
27 19966419 : while (ggc_test_and_set_mark (xlimit))
28 9548714 : xlimit = ((*xlimit).next);
29 19966419 : while (x != xlimit)
30 : {
31 9548714 : gt_ggc_m_11tinst_level ((*x).next);
32 9548714 : gt_ggc_m_9tree_node ((*x).tldcl);
33 9548714 : gt_ggc_m_9tree_node ((*x).targs);
34 9548714 : gt_ggc_m_11bitmap_head ((*x).path);
35 9548714 : gt_ggc_m_11bitmap_head ((*x).visible);
36 9548714 : x = ((*x).next);
37 : }
38 10417705 : }
39 :
40 : void
41 7052348 : gt_ggc_mx_pending_template (void *x_p)
42 : {
43 7052348 : struct pending_template * x = (struct pending_template *)x_p;
44 7052348 : struct pending_template * xlimit = x;
45 13978707 : while (ggc_test_and_set_mark (xlimit))
46 6926359 : xlimit = ((*xlimit).next);
47 13978707 : while (x != xlimit)
48 : {
49 6926359 : gt_ggc_m_16pending_template ((*x).next);
50 6926359 : gt_ggc_m_11tinst_level ((*x).tinst);
51 6926359 : x = ((*x).next);
52 : }
53 7052348 : }
54 :
55 : void
56 190482 : gt_ggc_mx_hash_table_spec_hasher_ (void *x_p)
57 : {
58 190482 : hash_table<spec_hasher> * const x = (hash_table<spec_hasher> *)x_p;
59 190482 : if (ggc_test_and_set_mark (x))
60 : {
61 190482 : gt_ggc_mx (x);
62 : }
63 190482 : }
64 :
65 : void
66 0 : gt_ggc_mx (struct spec_hasher& x_r ATTRIBUTE_UNUSED)
67 : {
68 0 : struct spec_hasher * ATTRIBUTE_UNUSED x = &x_r;
69 0 : }
70 :
71 : void
72 95241 : gt_ggc_mx_hash_table_ctp_hasher_ (void *x_p)
73 : {
74 95241 : hash_table<ctp_hasher> * const x = (hash_table<ctp_hasher> *)x_p;
75 95241 : if (ggc_test_and_set_mark (x))
76 : {
77 95241 : gt_ggc_mx (x);
78 : }
79 95241 : }
80 :
81 : void
82 0 : gt_ggc_mx (struct ctp_hasher& x_r ATTRIBUTE_UNUSED)
83 : {
84 0 : struct ctp_hasher * ATTRIBUTE_UNUSED x = &x_r;
85 0 : }
86 :
87 : void
88 0 : gt_ggc_mx_hash_map_tree_tree_pair_p_ (void *x_p)
89 : {
90 0 : hash_map<tree,tree_pair_p> * const x = (hash_map<tree,tree_pair_p> *)x_p;
91 0 : if (ggc_test_and_set_mark (x))
92 : {
93 0 : gt_ggc_mx (x);
94 : }
95 0 : }
96 :
97 : void
98 0 : gt_ggc_mx (struct tree_pair_s *& x)
99 : {
100 0 : if (x)
101 0 : gt_ggc_mx_tree_pair_s ((void *) x);
102 0 : }
103 :
104 : void
105 6175 : gt_pch_nx_tinst_level (void *x_p)
106 : {
107 6175 : struct tinst_level * x = (struct tinst_level *)x_p;
108 6175 : struct tinst_level * xlimit = x;
109 11770 : while (gt_pch_note_object (xlimit, xlimit, gt_pch_p_11tinst_level))
110 5595 : xlimit = ((*xlimit).next);
111 11770 : while (x != xlimit)
112 : {
113 5595 : gt_pch_n_11tinst_level ((*x).next);
114 5595 : gt_pch_n_9tree_node ((*x).tldcl);
115 5595 : gt_pch_n_9tree_node ((*x).targs);
116 5595 : gt_pch_n_11bitmap_head ((*x).path);
117 5595 : gt_pch_n_11bitmap_head ((*x).visible);
118 5595 : x = ((*x).next);
119 : }
120 6175 : }
121 :
122 : void
123 3867 : gt_pch_nx_pending_template (void *x_p)
124 : {
125 3867 : struct pending_template * x = (struct pending_template *)x_p;
126 3867 : struct pending_template * xlimit = x;
127 7612 : while (gt_pch_note_object (xlimit, xlimit, gt_pch_p_16pending_template))
128 3745 : xlimit = ((*xlimit).next);
129 7612 : while (x != xlimit)
130 : {
131 3745 : gt_pch_n_16pending_template ((*x).next);
132 3745 : gt_pch_n_11tinst_level ((*x).tinst);
133 3745 : x = ((*x).next);
134 : }
135 3867 : }
136 :
137 : void
138 136 : gt_pch_nx_hash_table_spec_hasher_ (void *x_p)
139 : {
140 136 : hash_table<spec_hasher> * const x = (hash_table<spec_hasher> *)x_p;
141 136 : if (gt_pch_note_object (x, x, gt_pch_p_23hash_table_spec_hasher_))
142 : {
143 136 : gt_pch_nx (x);
144 : }
145 136 : }
146 :
147 : void
148 0 : gt_pch_nx (struct spec_hasher& x_r ATTRIBUTE_UNUSED)
149 : {
150 0 : struct spec_hasher * ATTRIBUTE_UNUSED x = &x_r;
151 0 : }
152 :
153 : void
154 68 : gt_pch_nx_hash_table_ctp_hasher_ (void *x_p)
155 : {
156 68 : hash_table<ctp_hasher> * const x = (hash_table<ctp_hasher> *)x_p;
157 68 : if (gt_pch_note_object (x, x, gt_pch_p_22hash_table_ctp_hasher_))
158 : {
159 68 : gt_pch_nx (x);
160 : }
161 68 : }
162 :
163 : void
164 0 : gt_pch_nx (struct ctp_hasher& x_r ATTRIBUTE_UNUSED)
165 : {
166 0 : struct ctp_hasher * ATTRIBUTE_UNUSED x = &x_r;
167 0 : }
168 :
169 : void
170 0 : gt_pch_nx_hash_map_tree_tree_pair_p_ (void *x_p)
171 : {
172 0 : hash_map<tree,tree_pair_p> * const x = (hash_map<tree,tree_pair_p> *)x_p;
173 0 : if (gt_pch_note_object (x, x, gt_pch_p_26hash_map_tree_tree_pair_p_))
174 : {
175 0 : gt_pch_nx (x);
176 : }
177 0 : }
178 :
179 : void
180 0 : gt_pch_nx (struct tree_pair_s *& x)
181 : {
182 0 : if (x)
183 0 : gt_pch_nx_tree_pair_s ((void *) x);
184 0 : }
185 :
186 : void
187 5595 : gt_pch_p_11tinst_level (ATTRIBUTE_UNUSED void *this_obj,
188 : void *x_p,
189 : ATTRIBUTE_UNUSED gt_pointer_operator op,
190 : ATTRIBUTE_UNUSED void *cookie)
191 : {
192 5595 : struct tinst_level * x ATTRIBUTE_UNUSED = (struct tinst_level *)x_p;
193 5595 : if ((void *)(x) == this_obj)
194 5595 : op (&((*x).next), NULL, cookie);
195 5595 : if ((void *)(x) == this_obj)
196 5595 : op (&((*x).tldcl), NULL, cookie);
197 5595 : if ((void *)(x) == this_obj)
198 5595 : op (&((*x).targs), NULL, cookie);
199 5595 : if ((void *)(x) == this_obj)
200 5595 : op (&((*x).path), NULL, cookie);
201 5595 : if ((void *)(x) == this_obj)
202 5595 : op (&((*x).visible), NULL, cookie);
203 5595 : }
204 :
205 : void
206 3745 : gt_pch_p_16pending_template (ATTRIBUTE_UNUSED void *this_obj,
207 : void *x_p,
208 : ATTRIBUTE_UNUSED gt_pointer_operator op,
209 : ATTRIBUTE_UNUSED void *cookie)
210 : {
211 3745 : struct pending_template * x ATTRIBUTE_UNUSED = (struct pending_template *)x_p;
212 3745 : if ((void *)(x) == this_obj)
213 3745 : op (&((*x).next), NULL, cookie);
214 3745 : if ((void *)(x) == this_obj)
215 3745 : op (&((*x).tinst), NULL, cookie);
216 3745 : }
217 :
218 : void
219 136 : gt_pch_p_23hash_table_spec_hasher_ (ATTRIBUTE_UNUSED void *this_obj,
220 : void *x_p,
221 : ATTRIBUTE_UNUSED gt_pointer_operator op,
222 : ATTRIBUTE_UNUSED void *cookie)
223 : {
224 136 : struct hash_table<spec_hasher> * x ATTRIBUTE_UNUSED = (struct hash_table<spec_hasher> *)x_p;
225 136 : if ((void *)(x) == this_obj)
226 136 : gt_pch_nx (&((*x)), op, cookie);
227 136 : }
228 :
229 : void
230 0 : gt_pch_nx (struct spec_hasher* x ATTRIBUTE_UNUSED,
231 : ATTRIBUTE_UNUSED gt_pointer_operator op,
232 : ATTRIBUTE_UNUSED void *cookie)
233 : {
234 0 : }
235 :
236 : void
237 68 : gt_pch_p_22hash_table_ctp_hasher_ (ATTRIBUTE_UNUSED void *this_obj,
238 : void *x_p,
239 : ATTRIBUTE_UNUSED gt_pointer_operator op,
240 : ATTRIBUTE_UNUSED void *cookie)
241 : {
242 68 : struct hash_table<ctp_hasher> * x ATTRIBUTE_UNUSED = (struct hash_table<ctp_hasher> *)x_p;
243 68 : if ((void *)(x) == this_obj)
244 68 : gt_pch_nx (&((*x)), op, cookie);
245 68 : }
246 :
247 : void
248 0 : gt_pch_nx (struct ctp_hasher* x ATTRIBUTE_UNUSED,
249 : ATTRIBUTE_UNUSED gt_pointer_operator op,
250 : ATTRIBUTE_UNUSED void *cookie)
251 : {
252 0 : }
253 :
254 : void
255 0 : gt_pch_p_26hash_map_tree_tree_pair_p_ (ATTRIBUTE_UNUSED void *this_obj,
256 : void *x_p,
257 : ATTRIBUTE_UNUSED gt_pointer_operator op,
258 : ATTRIBUTE_UNUSED void *cookie)
259 : {
260 0 : struct hash_map<tree,tree_pair_p> * x ATTRIBUTE_UNUSED = (struct hash_map<tree,tree_pair_p> *)x_p;
261 0 : if ((void *)(x) == this_obj)
262 0 : gt_pch_nx (&((*x)), op, cookie);
263 0 : }
264 :
265 : /* GC roots. */
266 :
267 : EXPORTED_CONST struct ggc_root_tab gt_ggc_r_gt_cp_pt_h[] = {
268 : {
269 : &explicit_specifier_map,
270 : 1,
271 : sizeof (explicit_specifier_map),
272 : >_ggc_mx_hash_map_tree_tree_decl_tree_cache_traits_,
273 : >_pch_nx_hash_map_tree_tree_decl_tree_cache_traits_
274 : },
275 : {
276 : &defarg_inst,
277 : 1,
278 : sizeof (defarg_inst),
279 : >_ggc_mx_hash_table_tree_vec_map_cache_hasher_,
280 : >_pch_nx_hash_table_tree_vec_map_cache_hasher_
281 : },
282 : {
283 : &last_error_tinst_level,
284 : 1,
285 : sizeof (last_error_tinst_level),
286 : >_ggc_mx_tinst_level,
287 : >_pch_nx_tinst_level
288 : },
289 : {
290 : &tparm_obj_values,
291 : 1,
292 : sizeof (tparm_obj_values),
293 : >_ggc_mx_hash_map_tree_tree_,
294 : >_pch_nx_hash_map_tree_tree_
295 : },
296 : {
297 : &ctp_table,
298 : 1,
299 : sizeof (ctp_table),
300 : >_ggc_mx_hash_table_ctp_hasher_,
301 : >_pch_nx_hash_table_ctp_hasher_
302 : },
303 : {
304 : &canonical_template_parms,
305 : 1,
306 : sizeof (canonical_template_parms),
307 : >_ggc_mx_vec_tree_va_gc_,
308 : >_pch_nx_vec_tree_va_gc_
309 : },
310 : {
311 : &type_specializations,
312 : 1,
313 : sizeof (type_specializations),
314 : >_ggc_mx_hash_table_spec_hasher_,
315 : >_pch_nx_hash_table_spec_hasher_
316 : },
317 : {
318 : &decl_specializations,
319 : 1,
320 : sizeof (decl_specializations),
321 : >_ggc_mx_hash_table_spec_hasher_,
322 : >_pch_nx_hash_table_spec_hasher_
323 : },
324 : {
325 : &saved_access_scope,
326 : 1,
327 : sizeof (saved_access_scope),
328 : >_ggc_mx_vec_tree_va_gc_,
329 : >_pch_nx_vec_tree_va_gc_
330 : },
331 : {
332 : ¤t_tinst_level,
333 : 1,
334 : sizeof (current_tinst_level),
335 : >_ggc_mx_tinst_level,
336 : >_pch_nx_tinst_level
337 : },
338 : {
339 : &last_pending_template,
340 : 1,
341 : sizeof (last_pending_template),
342 : >_ggc_mx_pending_template,
343 : >_pch_nx_pending_template
344 : },
345 : {
346 : &pending_templates,
347 : 1,
348 : sizeof (pending_templates),
349 : >_ggc_mx_pending_template,
350 : >_pch_nx_pending_template
351 : },
352 : LAST_GGC_ROOT_TAB
353 : };
354 :
355 : EXPORTED_CONST struct ggc_root_tab gt_ggc_rd_gt_cp_pt_h[] = {
356 : { &dguide_cache, 1, sizeof (dguide_cache), NULL, NULL },
357 : { &pending_template_freelist_head, 1, sizeof (pending_template_freelist_head), NULL, NULL },
358 : { &tinst_level_freelist_head, 1, sizeof (tinst_level_freelist_head), NULL, NULL },
359 : { &tree_list_freelist_head, 1, sizeof (tree_list_freelist_head), NULL, NULL },
360 : { &defaulted_ttp_cache, 1, sizeof (defaulted_ttp_cache), NULL, NULL },
361 : LAST_GGC_ROOT_TAB
362 : };
363 :
364 : void
365 95241 : gt_clear_caches_gt_cp_pt_h ()
366 : {
367 95241 : gt_cleare_cache (explicit_specifier_map);
368 95241 : gt_cleare_cache (defarg_inst);
369 95241 : }
370 :
|