/* Type information for ada/gcc-interface/trans.c. Copyright (C) 2004-2014 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see . */ /* This file is machine generated. Do not edit. */ void gt_ggc_mx_vec_loop_info_va_gc_ (void *x_p) { vec * const x = (vec *)x_p; if (ggc_test_and_set_mark (x)) { gt_ggc_mx (x); } } void gt_ggc_mx (struct loop_info_d *& x) { if (x) gt_ggc_mx_loop_info_d ((void *) x); } void gt_ggc_mx_loop_info_d (void *x_p) { struct loop_info_d * const x = (struct loop_info_d *)x_p; if (ggc_test_and_set_mark (x)) { gt_ggc_m_9tree_node ((*x).stmt); gt_ggc_m_9tree_node ((*x).loop_var); gt_ggc_m_27vec_range_check_info_va_gc_ ((*x).checks); } } void gt_ggc_mx_vec_range_check_info_va_gc_ (void *x_p) { vec * const x = (vec *)x_p; if (ggc_test_and_set_mark (x)) { gt_ggc_mx (x); } } void gt_ggc_mx (struct range_check_info_d *& x) { if (x) gt_ggc_mx_range_check_info_d ((void *) x); } void gt_ggc_mx_range_check_info_d (void *x_p) { struct range_check_info_d * const x = (struct range_check_info_d *)x_p; if (ggc_test_and_set_mark (x)) { gt_ggc_m_9tree_node ((*x).low_bound); gt_ggc_m_9tree_node ((*x).high_bound); gt_ggc_m_9tree_node ((*x).type); gt_ggc_m_9tree_node ((*x).invariant_cond); } } void gt_ggc_mx_elab_info (void *x_p) { struct elab_info * x = (struct elab_info *)x_p; struct elab_info * xlimit = x; while (ggc_test_and_set_mark (xlimit)) xlimit = ((*xlimit).next); while (x != xlimit) { gt_ggc_m_9elab_info ((*x).next); gt_ggc_m_9tree_node ((*x).elab_proc); x = ((*x).next); } } void gt_ggc_mx_stmt_group (void *x_p) { struct stmt_group * x = (struct stmt_group *)x_p; struct stmt_group * xlimit = x; while (ggc_test_and_set_mark (xlimit)) xlimit = ((*xlimit).previous); while (x != xlimit) { gt_ggc_m_10stmt_group ((*x).previous); gt_ggc_m_9tree_node ((*x).stmt_list); gt_ggc_m_9tree_node ((*x).block); gt_ggc_m_9tree_node ((*x).cleanups); x = ((*x).previous); } } void gt_ggc_mx_vec_parm_attr_va_gc_ (void *x_p) { vec * const x = (vec *)x_p; if (ggc_test_and_set_mark (x)) { gt_ggc_mx (x); } } void gt_ggc_mx (struct parm_attr_d *& x) { if (x) gt_ggc_mx_parm_attr_d ((void *) x); } void gt_ggc_mx_parm_attr_d (void *x_p) { struct parm_attr_d * const x = (struct parm_attr_d *)x_p; if (ggc_test_and_set_mark (x)) { gt_ggc_m_9tree_node ((*x).first); gt_ggc_m_9tree_node ((*x).last); gt_ggc_m_9tree_node ((*x).length); } } void gt_ggc_mx_language_function (void *x_p) { struct language_function * const x = (struct language_function *)x_p; if (ggc_test_and_set_mark (x)) { gt_ggc_m_20vec_parm_attr_va_gc_ ((*x).parm_attr_cache); gt_ggc_m_11bitmap_head ((*x).named_ret_val); gt_ggc_m_15vec_tree_va_gc_ ((*x).other_ret_val); } } void gt_pch_nx_vec_loop_info_va_gc_ (void *x_p) { vec * const x = (vec *)x_p; if (gt_pch_note_object (x, x, gt_pch_p_20vec_loop_info_va_gc_)) { gt_pch_nx (x); } } void gt_pch_nx (struct loop_info_d *& x) { if (x) gt_pch_nx_loop_info_d ((void *) x); } void gt_pch_nx_loop_info_d (void *x_p) { struct loop_info_d * const x = (struct loop_info_d *)x_p; if (gt_pch_note_object (x, x, gt_pch_p_11loop_info_d)) { gt_pch_n_9tree_node ((*x).stmt); gt_pch_n_9tree_node ((*x).loop_var); gt_pch_n_27vec_range_check_info_va_gc_ ((*x).checks); } } void gt_pch_nx_vec_range_check_info_va_gc_ (void *x_p) { vec * const x = (vec *)x_p; if (gt_pch_note_object (x, x, gt_pch_p_27vec_range_check_info_va_gc_)) { gt_pch_nx (x); } } void gt_pch_nx (struct range_check_info_d *& x) { if (x) gt_pch_nx_range_check_info_d ((void *) x); } void gt_pch_nx_range_check_info_d (void *x_p) { struct range_check_info_d * const x = (struct range_check_info_d *)x_p; if (gt_pch_note_object (x, x, gt_pch_p_18range_check_info_d)) { gt_pch_n_9tree_node ((*x).low_bound); gt_pch_n_9tree_node ((*x).high_bound); gt_pch_n_9tree_node ((*x).type); gt_pch_n_9tree_node ((*x).invariant_cond); } } void gt_pch_nx_elab_info (void *x_p) { struct elab_info * x = (struct elab_info *)x_p; struct elab_info * xlimit = x; while (gt_pch_note_object (xlimit, xlimit, gt_pch_p_9elab_info)) xlimit = ((*xlimit).next); while (x != xlimit) { gt_pch_n_9elab_info ((*x).next); gt_pch_n_9tree_node ((*x).elab_proc); x = ((*x).next); } } void gt_pch_nx_stmt_group (void *x_p) { struct stmt_group * x = (struct stmt_group *)x_p; struct stmt_group * xlimit = x; while (gt_pch_note_object (xlimit, xlimit, gt_pch_p_10stmt_group)) xlimit = ((*xlimit).previous); while (x != xlimit) { gt_pch_n_10stmt_group ((*x).previous); gt_pch_n_9tree_node ((*x).stmt_list); gt_pch_n_9tree_node ((*x).block); gt_pch_n_9tree_node ((*x).cleanups); x = ((*x).previous); } } void gt_pch_nx_vec_parm_attr_va_gc_ (void *x_p) { vec * const x = (vec *)x_p; if (gt_pch_note_object (x, x, gt_pch_p_20vec_parm_attr_va_gc_)) { gt_pch_nx (x); } } void gt_pch_nx (struct parm_attr_d *& x) { if (x) gt_pch_nx_parm_attr_d ((void *) x); } void gt_pch_nx_parm_attr_d (void *x_p) { struct parm_attr_d * const x = (struct parm_attr_d *)x_p; if (gt_pch_note_object (x, x, gt_pch_p_11parm_attr_d)) { gt_pch_n_9tree_node ((*x).first); gt_pch_n_9tree_node ((*x).last); gt_pch_n_9tree_node ((*x).length); } } void gt_pch_nx_language_function (void *x_p) { struct language_function * const x = (struct language_function *)x_p; if (gt_pch_note_object (x, x, gt_pch_p_17language_function)) { gt_pch_n_20vec_parm_attr_va_gc_ ((*x).parm_attr_cache); gt_pch_n_11bitmap_head ((*x).named_ret_val); gt_pch_n_15vec_tree_va_gc_ ((*x).other_ret_val); } } void gt_pch_p_20vec_loop_info_va_gc_ (ATTRIBUTE_UNUSED void *this_obj, void *x_p, ATTRIBUTE_UNUSED gt_pointer_operator op, ATTRIBUTE_UNUSED void *cookie) { struct vec * x ATTRIBUTE_UNUSED = (struct vec *)x_p; if ((void *)(x) == this_obj) gt_pch_nx (&((*x)), op, cookie); } void gt_pch_p_11loop_info_d (ATTRIBUTE_UNUSED void *this_obj, void *x_p, ATTRIBUTE_UNUSED gt_pointer_operator op, ATTRIBUTE_UNUSED void *cookie) { struct loop_info_d * x ATTRIBUTE_UNUSED = (struct loop_info_d *)x_p; if ((void *)(x) == this_obj) op (&((*x).stmt), cookie); if ((void *)(x) == this_obj) op (&((*x).loop_var), cookie); if ((void *)(x) == this_obj) op (&((*x).checks), cookie); } void gt_pch_p_27vec_range_check_info_va_gc_ (ATTRIBUTE_UNUSED void *this_obj, void *x_p, ATTRIBUTE_UNUSED gt_pointer_operator op, ATTRIBUTE_UNUSED void *cookie) { struct vec * x ATTRIBUTE_UNUSED = (struct vec *)x_p; if ((void *)(x) == this_obj) gt_pch_nx (&((*x)), op, cookie); } void gt_pch_p_18range_check_info_d (ATTRIBUTE_UNUSED void *this_obj, void *x_p, ATTRIBUTE_UNUSED gt_pointer_operator op, ATTRIBUTE_UNUSED void *cookie) { struct range_check_info_d * x ATTRIBUTE_UNUSED = (struct range_check_info_d *)x_p; if ((void *)(x) == this_obj) op (&((*x).low_bound), cookie); if ((void *)(x) == this_obj) op (&((*x).high_bound), cookie); if ((void *)(x) == this_obj) op (&((*x).type), cookie); if ((void *)(x) == this_obj) op (&((*x).invariant_cond), cookie); } void gt_pch_p_9elab_info (ATTRIBUTE_UNUSED void *this_obj, void *x_p, ATTRIBUTE_UNUSED gt_pointer_operator op, ATTRIBUTE_UNUSED void *cookie) { struct elab_info * x ATTRIBUTE_UNUSED = (struct elab_info *)x_p; if ((void *)(x) == this_obj) op (&((*x).next), cookie); if ((void *)(x) == this_obj) op (&((*x).elab_proc), cookie); } void gt_pch_p_10stmt_group (ATTRIBUTE_UNUSED void *this_obj, void *x_p, ATTRIBUTE_UNUSED gt_pointer_operator op, ATTRIBUTE_UNUSED void *cookie) { struct stmt_group * x ATTRIBUTE_UNUSED = (struct stmt_group *)x_p; if ((void *)(x) == this_obj) op (&((*x).previous), cookie); if ((void *)(x) == this_obj) op (&((*x).stmt_list), cookie); if ((void *)(x) == this_obj) op (&((*x).block), cookie); if ((void *)(x) == this_obj) op (&((*x).cleanups), cookie); } void gt_pch_p_20vec_parm_attr_va_gc_ (ATTRIBUTE_UNUSED void *this_obj, void *x_p, ATTRIBUTE_UNUSED gt_pointer_operator op, ATTRIBUTE_UNUSED void *cookie) { struct vec * x ATTRIBUTE_UNUSED = (struct vec *)x_p; if ((void *)(x) == this_obj) gt_pch_nx (&((*x)), op, cookie); } void gt_pch_p_11parm_attr_d (ATTRIBUTE_UNUSED void *this_obj, void *x_p, ATTRIBUTE_UNUSED gt_pointer_operator op, ATTRIBUTE_UNUSED void *cookie) { struct parm_attr_d * x ATTRIBUTE_UNUSED = (struct parm_attr_d *)x_p; if ((void *)(x) == this_obj) op (&((*x).first), cookie); if ((void *)(x) == this_obj) op (&((*x).last), cookie); if ((void *)(x) == this_obj) op (&((*x).length), cookie); } void gt_pch_p_17language_function (ATTRIBUTE_UNUSED void *this_obj, void *x_p, ATTRIBUTE_UNUSED gt_pointer_operator op, ATTRIBUTE_UNUSED void *cookie) { struct language_function * x ATTRIBUTE_UNUSED = (struct language_function *)x_p; if ((void *)(x) == this_obj) op (&((*x).parm_attr_cache), cookie); if ((void *)(x) == this_obj) op (&((*x).named_ret_val), cookie); if ((void *)(x) == this_obj) op (&((*x).other_ret_val), cookie); } /* GC roots. */ EXPORTED_CONST struct ggc_root_tab gt_ggc_r_gt_ada_trans_h[] = { { &gnat_vms_condition_handler_decl, 1, sizeof (gnat_vms_condition_handler_decl), >_ggc_mx_tree_node, >_pch_nx_tree_node }, { &vms_builtin_establish_handler_decl, 1, sizeof (vms_builtin_establish_handler_decl), >_ggc_mx_tree_node, >_pch_nx_tree_node }, { &gnu_program_error_label_stack, 1, sizeof (gnu_program_error_label_stack), >_ggc_mx_vec_tree_va_gc_, >_pch_nx_vec_tree_va_gc_ }, { &gnu_storage_error_label_stack, 1, sizeof (gnu_storage_error_label_stack), >_ggc_mx_vec_tree_va_gc_, >_pch_nx_vec_tree_va_gc_ }, { &gnu_constraint_error_label_stack, 1, sizeof (gnu_constraint_error_label_stack), >_ggc_mx_vec_tree_va_gc_, >_pch_nx_vec_tree_va_gc_ }, { &gnu_loop_stack, 1, sizeof (gnu_loop_stack), >_ggc_mx_vec_loop_info_va_gc_, >_pch_nx_vec_loop_info_va_gc_ }, { &gnu_return_var_stack, 1, sizeof (gnu_return_var_stack), >_ggc_mx_vec_tree_va_gc_, >_pch_nx_vec_tree_va_gc_ }, { &gnu_return_label_stack, 1, sizeof (gnu_return_label_stack), >_ggc_mx_vec_tree_va_gc_, >_pch_nx_vec_tree_va_gc_ }, { &gnu_elab_proc_stack, 1, sizeof (gnu_elab_proc_stack), >_ggc_mx_vec_tree_va_gc_, >_pch_nx_vec_tree_va_gc_ }, { &gnu_incoming_exc_ptr, 1, sizeof (gnu_incoming_exc_ptr), >_ggc_mx_tree_node, >_pch_nx_tree_node }, { &gnu_except_ptr_stack, 1, sizeof (gnu_except_ptr_stack), >_ggc_mx_vec_tree_va_gc_, >_pch_nx_vec_tree_va_gc_ }, { &elab_info_list, 1, sizeof (elab_info_list), >_ggc_mx_elab_info, >_pch_nx_elab_info }, { ¤t_stmt_group, 1, sizeof (current_stmt_group), >_ggc_mx_stmt_group, >_pch_nx_stmt_group }, LAST_GGC_ROOT_TAB }; EXPORTED_CONST struct ggc_root_tab gt_ggc_rd_gt_ada_trans_h[] = { { &stmt_group_free_list, 1, sizeof (stmt_group_free_list), NULL, NULL }, LAST_GGC_ROOT_TAB };