Line data Source code
1 : /* Type information for cp/coroutines.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 87 : gt_ggc_mx_coroutine_info (void *x_p)
24 : {
25 87 : struct coroutine_info * const x = (struct coroutine_info *)x_p;
26 87 : if (ggc_test_and_set_mark (x))
27 : {
28 87 : gt_ggc_m_9tree_node ((*x).function_decl);
29 87 : gt_ggc_m_9tree_node ((*x).actor_decl);
30 87 : gt_ggc_m_9tree_node ((*x).destroy_decl);
31 87 : gt_ggc_m_9tree_node ((*x).promise_type);
32 87 : gt_ggc_m_9tree_node ((*x).handle_type);
33 87 : gt_ggc_m_9tree_node ((*x).self_h_proxy);
34 87 : gt_ggc_m_9tree_node ((*x).promise_proxy);
35 87 : gt_ggc_m_9tree_node ((*x).return_void);
36 : }
37 87 : }
38 :
39 : void
40 0 : gt_ggc_mx (struct coroutine_info& x_r ATTRIBUTE_UNUSED)
41 : {
42 0 : struct coroutine_info * ATTRIBUTE_UNUSED x = &x_r;
43 0 : gt_ggc_m_9tree_node ((*x).function_decl);
44 0 : gt_ggc_m_9tree_node ((*x).actor_decl);
45 0 : gt_ggc_m_9tree_node ((*x).destroy_decl);
46 0 : gt_ggc_m_9tree_node ((*x).promise_type);
47 0 : gt_ggc_m_9tree_node ((*x).handle_type);
48 0 : gt_ggc_m_9tree_node ((*x).self_h_proxy);
49 0 : gt_ggc_m_9tree_node ((*x).promise_proxy);
50 0 : gt_ggc_m_9tree_node ((*x).return_void);
51 0 : }
52 :
53 : void
54 87 : gt_ggc_mx (struct coroutine_info *& x)
55 : {
56 0 : if (x)
57 87 : gt_ggc_mx_coroutine_info ((void *) x);
58 0 : }
59 :
60 : void
61 95241 : gt_ggc_mx_hash_table_coroutine_info_hasher_ (void *x_p)
62 : {
63 95241 : hash_table<coroutine_info_hasher> * const x = (hash_table<coroutine_info_hasher> *)x_p;
64 95241 : if (ggc_test_and_set_mark (x))
65 : {
66 61 : gt_ggc_mx (x);
67 : }
68 95241 : }
69 :
70 : void
71 0 : gt_ggc_mx (struct coroutine_info_hasher& x_r ATTRIBUTE_UNUSED)
72 : {
73 0 : struct coroutine_info_hasher * ATTRIBUTE_UNUSED x = &x_r;
74 0 : }
75 :
76 : void
77 0 : gt_pch_nx_coroutine_info (void *x_p)
78 : {
79 0 : struct coroutine_info * const x = (struct coroutine_info *)x_p;
80 0 : if (gt_pch_note_object (x, x, gt_pch_p_14coroutine_info))
81 : {
82 0 : gt_pch_n_9tree_node ((*x).function_decl);
83 0 : gt_pch_n_9tree_node ((*x).actor_decl);
84 0 : gt_pch_n_9tree_node ((*x).destroy_decl);
85 0 : gt_pch_n_9tree_node ((*x).promise_type);
86 0 : gt_pch_n_9tree_node ((*x).handle_type);
87 0 : gt_pch_n_9tree_node ((*x).self_h_proxy);
88 0 : gt_pch_n_9tree_node ((*x).promise_proxy);
89 0 : gt_pch_n_9tree_node ((*x).return_void);
90 : }
91 0 : }
92 :
93 : void
94 0 : gt_pch_nx (struct coroutine_info& x_r ATTRIBUTE_UNUSED)
95 : {
96 0 : struct coroutine_info * ATTRIBUTE_UNUSED x = &x_r;
97 0 : gt_pch_n_9tree_node ((*x).function_decl);
98 0 : gt_pch_n_9tree_node ((*x).actor_decl);
99 0 : gt_pch_n_9tree_node ((*x).destroy_decl);
100 0 : gt_pch_n_9tree_node ((*x).promise_type);
101 0 : gt_pch_n_9tree_node ((*x).handle_type);
102 0 : gt_pch_n_9tree_node ((*x).self_h_proxy);
103 0 : gt_pch_n_9tree_node ((*x).promise_proxy);
104 0 : gt_pch_n_9tree_node ((*x).return_void);
105 0 : }
106 :
107 : void
108 0 : gt_pch_nx (struct coroutine_info *& x)
109 : {
110 0 : if (x)
111 0 : gt_pch_nx_coroutine_info ((void *) x);
112 0 : }
113 :
114 : void
115 68 : gt_pch_nx_hash_table_coroutine_info_hasher_ (void *x_p)
116 : {
117 68 : hash_table<coroutine_info_hasher> * const x = (hash_table<coroutine_info_hasher> *)x_p;
118 68 : if (gt_pch_note_object (x, x, gt_pch_p_33hash_table_coroutine_info_hasher_))
119 : {
120 0 : gt_pch_nx (x);
121 : }
122 68 : }
123 :
124 : void
125 0 : gt_pch_nx (struct coroutine_info_hasher& x_r ATTRIBUTE_UNUSED)
126 : {
127 0 : struct coroutine_info_hasher * ATTRIBUTE_UNUSED x = &x_r;
128 0 : }
129 :
130 : void
131 0 : gt_pch_p_14coroutine_info (ATTRIBUTE_UNUSED void *this_obj,
132 : void *x_p,
133 : ATTRIBUTE_UNUSED gt_pointer_operator op,
134 : ATTRIBUTE_UNUSED void *cookie)
135 : {
136 0 : struct coroutine_info * x ATTRIBUTE_UNUSED = (struct coroutine_info *)x_p;
137 0 : if ((void *)(x) == this_obj)
138 0 : op (&((*x).function_decl), NULL, cookie);
139 0 : if ((void *)(x) == this_obj)
140 0 : op (&((*x).actor_decl), NULL, cookie);
141 0 : if ((void *)(x) == this_obj)
142 0 : op (&((*x).destroy_decl), NULL, cookie);
143 0 : if ((void *)(x) == this_obj)
144 0 : op (&((*x).promise_type), NULL, cookie);
145 0 : if ((void *)(x) == this_obj)
146 0 : op (&((*x).handle_type), NULL, cookie);
147 0 : if ((void *)(x) == this_obj)
148 0 : op (&((*x).self_h_proxy), NULL, cookie);
149 0 : if ((void *)(x) == this_obj)
150 0 : op (&((*x).promise_proxy), NULL, cookie);
151 0 : if ((void *)(x) == this_obj)
152 0 : op (&((*x).return_void), NULL, cookie);
153 0 : }
154 :
155 : void
156 0 : gt_pch_nx (struct coroutine_info* x ATTRIBUTE_UNUSED,
157 : ATTRIBUTE_UNUSED gt_pointer_operator op,
158 : ATTRIBUTE_UNUSED void *cookie)
159 : {
160 0 : op (&((*x).function_decl), NULL, cookie);
161 0 : op (&((*x).actor_decl), NULL, cookie);
162 0 : op (&((*x).destroy_decl), NULL, cookie);
163 0 : op (&((*x).promise_type), NULL, cookie);
164 0 : op (&((*x).handle_type), NULL, cookie);
165 0 : op (&((*x).self_h_proxy), NULL, cookie);
166 0 : op (&((*x).promise_proxy), NULL, cookie);
167 0 : op (&((*x).return_void), NULL, cookie);
168 0 : }
169 :
170 : void
171 0 : gt_pch_p_33hash_table_coroutine_info_hasher_ (ATTRIBUTE_UNUSED void *this_obj,
172 : void *x_p,
173 : ATTRIBUTE_UNUSED gt_pointer_operator op,
174 : ATTRIBUTE_UNUSED void *cookie)
175 : {
176 0 : struct hash_table<coroutine_info_hasher> * x ATTRIBUTE_UNUSED = (struct hash_table<coroutine_info_hasher> *)x_p;
177 0 : if ((void *)(x) == this_obj)
178 0 : gt_pch_nx (&((*x)), op, cookie);
179 0 : }
180 :
181 : void
182 0 : gt_pch_nx (struct coroutine_info_hasher* x ATTRIBUTE_UNUSED,
183 : ATTRIBUTE_UNUSED gt_pointer_operator op,
184 : ATTRIBUTE_UNUSED void *cookie)
185 : {
186 0 : }
187 :
188 : /* GC roots. */
189 :
190 : EXPORTED_CONST struct ggc_root_tab gt_ggc_r_gt_cp_coroutines_h[] = {
191 : {
192 : &to_ramp,
193 : 1,
194 : sizeof (to_ramp),
195 : >_ggc_mx_hash_map_tree_tree_,
196 : >_pch_nx_hash_map_tree_tree_
197 : },
198 : {
199 : &void_coro_handle_type,
200 : 1,
201 : sizeof (void_coro_handle_type),
202 : >_ggc_mx_tree_node,
203 : >_pch_nx_tree_node
204 : },
205 : {
206 : &coro_handle_templ,
207 : 1,
208 : sizeof (coro_handle_templ),
209 : >_ggc_mx_tree_node,
210 : >_pch_nx_tree_node
211 : },
212 : {
213 : &coro_traits_templ,
214 : 1,
215 : sizeof (coro_traits_templ),
216 : >_ggc_mx_tree_node,
217 : >_pch_nx_tree_node
218 : },
219 : {
220 : &coro_frame_i_a_r_c_id,
221 : 1,
222 : sizeof (coro_frame_i_a_r_c_id),
223 : >_ggc_mx_tree_node,
224 : >_pch_nx_tree_node
225 : },
226 : {
227 : &coro_actor_continue_id,
228 : 1,
229 : sizeof (coro_actor_continue_id),
230 : >_ggc_mx_tree_node,
231 : >_pch_nx_tree_node
232 : },
233 : {
234 : &coro_self_handle_id,
235 : 1,
236 : sizeof (coro_self_handle_id),
237 : >_ggc_mx_tree_node,
238 : >_pch_nx_tree_node
239 : },
240 : {
241 : &coro_resume_index_id,
242 : 1,
243 : sizeof (coro_resume_index_id),
244 : >_ggc_mx_tree_node,
245 : >_pch_nx_tree_node
246 : },
247 : {
248 : &coro_frame_needs_free_id,
249 : 1,
250 : sizeof (coro_frame_needs_free_id),
251 : >_ggc_mx_tree_node,
252 : >_pch_nx_tree_node
253 : },
254 : {
255 : &coro_promise_id,
256 : 1,
257 : sizeof (coro_promise_id),
258 : >_ggc_mx_tree_node,
259 : >_pch_nx_tree_node
260 : },
261 : {
262 : &coro_destroy_fn_id,
263 : 1,
264 : sizeof (coro_destroy_fn_id),
265 : >_ggc_mx_tree_node,
266 : >_pch_nx_tree_node
267 : },
268 : {
269 : &coro_resume_fn_id,
270 : 1,
271 : sizeof (coro_resume_fn_id),
272 : >_ggc_mx_tree_node,
273 : >_pch_nx_tree_node
274 : },
275 : {
276 : &coro_await_resume_identifier,
277 : 1,
278 : sizeof (coro_await_resume_identifier),
279 : >_ggc_mx_tree_node,
280 : >_pch_nx_tree_node
281 : },
282 : {
283 : &coro_await_suspend_identifier,
284 : 1,
285 : sizeof (coro_await_suspend_identifier),
286 : >_ggc_mx_tree_node,
287 : >_pch_nx_tree_node
288 : },
289 : {
290 : &coro_await_ready_identifier,
291 : 1,
292 : sizeof (coro_await_ready_identifier),
293 : >_ggc_mx_tree_node,
294 : >_pch_nx_tree_node
295 : },
296 : {
297 : &coro_unhandled_exception_identifier,
298 : 1,
299 : sizeof (coro_unhandled_exception_identifier),
300 : >_ggc_mx_tree_node,
301 : >_pch_nx_tree_node
302 : },
303 : {
304 : &coro_gro_on_allocation_fail_identifier,
305 : 1,
306 : sizeof (coro_gro_on_allocation_fail_identifier),
307 : >_ggc_mx_tree_node,
308 : >_pch_nx_tree_node
309 : },
310 : {
311 : &coro_get_return_object_identifier,
312 : 1,
313 : sizeof (coro_get_return_object_identifier),
314 : >_ggc_mx_tree_node,
315 : >_pch_nx_tree_node
316 : },
317 : {
318 : &coro_from_address_identifier,
319 : 1,
320 : sizeof (coro_from_address_identifier),
321 : >_ggc_mx_tree_node,
322 : >_pch_nx_tree_node
323 : },
324 : {
325 : &coro_address_identifier,
326 : 1,
327 : sizeof (coro_address_identifier),
328 : >_ggc_mx_tree_node,
329 : >_pch_nx_tree_node
330 : },
331 : {
332 : &coro_resume_identifier,
333 : 1,
334 : sizeof (coro_resume_identifier),
335 : >_ggc_mx_tree_node,
336 : >_pch_nx_tree_node
337 : },
338 : {
339 : &coro_yield_value_identifier,
340 : 1,
341 : sizeof (coro_yield_value_identifier),
342 : >_ggc_mx_tree_node,
343 : >_pch_nx_tree_node
344 : },
345 : {
346 : &coro_return_value_identifier,
347 : 1,
348 : sizeof (coro_return_value_identifier),
349 : >_ggc_mx_tree_node,
350 : >_pch_nx_tree_node
351 : },
352 : {
353 : &coro_return_void_identifier,
354 : 1,
355 : sizeof (coro_return_void_identifier),
356 : >_ggc_mx_tree_node,
357 : >_pch_nx_tree_node
358 : },
359 : {
360 : &coro_final_suspend_identifier,
361 : 1,
362 : sizeof (coro_final_suspend_identifier),
363 : >_ggc_mx_tree_node,
364 : >_pch_nx_tree_node
365 : },
366 : {
367 : &coro_initial_suspend_identifier,
368 : 1,
369 : sizeof (coro_initial_suspend_identifier),
370 : >_ggc_mx_tree_node,
371 : >_pch_nx_tree_node
372 : },
373 : {
374 : &coro_await_transform_identifier,
375 : 1,
376 : sizeof (coro_await_transform_identifier),
377 : >_ggc_mx_tree_node,
378 : >_pch_nx_tree_node
379 : },
380 : {
381 : &coro_promise_type_identifier,
382 : 1,
383 : sizeof (coro_promise_type_identifier),
384 : >_ggc_mx_tree_node,
385 : >_pch_nx_tree_node
386 : },
387 : {
388 : &coro_handle_identifier,
389 : 1,
390 : sizeof (coro_handle_identifier),
391 : >_ggc_mx_tree_node,
392 : >_pch_nx_tree_node
393 : },
394 : {
395 : &coro_traits_identifier,
396 : 1,
397 : sizeof (coro_traits_identifier),
398 : >_ggc_mx_tree_node,
399 : >_pch_nx_tree_node
400 : },
401 : {
402 : &coroutine_info_table,
403 : 1,
404 : sizeof (coroutine_info_table),
405 : >_ggc_mx_hash_table_coroutine_info_hasher_,
406 : >_pch_nx_hash_table_coroutine_info_hasher_
407 : },
408 : LAST_GGC_ROOT_TAB
409 : };
410 :
|