00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 void
00024 gt_ggc_mx_binding_level (x_p)
00025 void *x_p;
00026 {
00027 struct binding_level * const x = (struct binding_level *)x_p;
00028 if (ggc_test_and_set_mark (x))
00029 {
00030 gt_ggc_m_9tree_node ((*x).names);
00031 gt_ggc_m_9tree_node ((*x).tags);
00032 gt_ggc_m_9tree_node ((*x).shadowed);
00033 gt_ggc_m_9tree_node ((*x).blocks);
00034 gt_ggc_m_9tree_node ((*x).this_block);
00035 gt_ggc_m_13binding_level ((*x).level_chain);
00036 gt_ggc_m_9tree_node ((*x).incomplete_list);
00037 gt_ggc_m_9tree_node ((*x).parm_order);
00038 }
00039 }
00040
00041 void
00042 gt_ggc_mx_lang_tree_node (x_p)
00043 void *x_p;
00044 {
00045 union lang_tree_node * x = (union lang_tree_node *)x_p;
00046 union lang_tree_node * xlimit = x;
00047 while (ggc_test_and_set_mark (xlimit))
00048 xlimit = ((union lang_tree_node *)TREE_CHAIN (&(*xlimit).generic));
00049 while (x != xlimit)
00050 {
00051 switch (TREE_CODE (&((*x)).generic) == IDENTIFIER_NODE)
00052 {
00053 case 0:
00054 switch (tree_node_structure (&((*x).generic)))
00055 {
00056 case TS_COMMON:
00057 gt_ggc_m_9tree_node ((*x).generic.common.chain);
00058 gt_ggc_m_9tree_node ((*x).generic.common.type);
00059 break;
00060 case TS_INT_CST:
00061 gt_ggc_m_9tree_node ((*x).generic.int_cst.common.chain);
00062 gt_ggc_m_9tree_node ((*x).generic.int_cst.common.type);
00063 gt_ggc_m_7rtx_def ((*x).generic.int_cst.rtl);
00064 break;
00065 case TS_REAL_CST:
00066 gt_ggc_m_9tree_node ((*x).generic.real_cst.common.chain);
00067 gt_ggc_m_9tree_node ((*x).generic.real_cst.common.type);
00068 gt_ggc_m_7rtx_def ((*x).generic.real_cst.rtl);
00069 gt_ggc_m_10real_value ((*x).generic.real_cst.real_cst_ptr);
00070 break;
00071 case TS_VECTOR:
00072 gt_ggc_m_9tree_node ((*x).generic.vector.common.chain);
00073 gt_ggc_m_9tree_node ((*x).generic.vector.common.type);
00074 gt_ggc_m_7rtx_def ((*x).generic.vector.rtl);
00075 gt_ggc_m_9tree_node ((*x).generic.vector.elements);
00076 break;
00077 case TS_STRING:
00078 gt_ggc_m_9tree_node ((*x).generic.string.common.chain);
00079 gt_ggc_m_9tree_node ((*x).generic.string.common.type);
00080 gt_ggc_m_7rtx_def ((*x).generic.string.rtl);
00081 break;
00082 case TS_COMPLEX:
00083 gt_ggc_m_9tree_node ((*x).generic.complex.common.chain);
00084 gt_ggc_m_9tree_node ((*x).generic.complex.common.type);
00085 gt_ggc_m_7rtx_def ((*x).generic.complex.rtl);
00086 gt_ggc_m_9tree_node ((*x).generic.complex.real);
00087 gt_ggc_m_9tree_node ((*x).generic.complex.imag);
00088 break;
00089 case TS_IDENTIFIER:
00090 gt_ggc_m_9tree_node ((*x).generic.identifier.common.chain);
00091 gt_ggc_m_9tree_node ((*x).generic.identifier.common.type);
00092 break;
00093 case TS_DECL:
00094 gt_ggc_m_9tree_node ((*x).generic.decl.common.chain);
00095 gt_ggc_m_9tree_node ((*x).generic.decl.common.type);
00096 gt_ggc_m_9tree_node ((*x).generic.decl.size);
00097 gt_ggc_m_9tree_node ((*x).generic.decl.size_unit);
00098 gt_ggc_m_9tree_node ((*x).generic.decl.name);
00099 gt_ggc_m_9tree_node ((*x).generic.decl.context);
00100 gt_ggc_m_9tree_node ((*x).generic.decl.arguments);
00101 gt_ggc_m_9tree_node ((*x).generic.decl.result);
00102 gt_ggc_m_9tree_node ((*x).generic.decl.initial);
00103 gt_ggc_m_9tree_node ((*x).generic.decl.abstract_origin);
00104 gt_ggc_m_9tree_node ((*x).generic.decl.assembler_name);
00105 gt_ggc_m_9tree_node ((*x).generic.decl.section_name);
00106 gt_ggc_m_9tree_node ((*x).generic.decl.attributes);
00107 gt_ggc_m_7rtx_def ((*x).generic.decl.rtl);
00108 gt_ggc_m_7rtx_def ((*x).generic.decl.live_range_rtl);
00109 switch (TREE_CODE((tree) &((*x))))
00110 {
00111 case FUNCTION_DECL:
00112 gt_ggc_m_8function ((*x).generic.decl.u2.f);
00113 break;
00114 case PARM_DECL:
00115 gt_ggc_m_7rtx_def ((*x).generic.decl.u2.r);
00116 break;
00117 case FIELD_DECL:
00118 gt_ggc_m_9tree_node ((*x).generic.decl.u2.t);
00119 break;
00120 default:
00121 break;
00122 }
00123 gt_ggc_m_9tree_node ((*x).generic.decl.saved_tree);
00124 gt_ggc_m_9tree_node ((*x).generic.decl.inlined_fns);
00125 gt_ggc_m_9tree_node ((*x).generic.decl.vindex);
00126 gt_ggc_m_9lang_decl ((*x).generic.decl.lang_specific);
00127 break;
00128 case TS_TYPE:
00129 gt_ggc_m_9tree_node ((*x).generic.type.common.chain);
00130 gt_ggc_m_9tree_node ((*x).generic.type.common.type);
00131 gt_ggc_m_9tree_node ((*x).generic.type.values);
00132 gt_ggc_m_9tree_node ((*x).generic.type.size);
00133 gt_ggc_m_9tree_node ((*x).generic.type.size_unit);
00134 gt_ggc_m_9tree_node ((*x).generic.type.attributes);
00135 gt_ggc_m_9tree_node ((*x).generic.type.pointer_to);
00136 gt_ggc_m_9tree_node ((*x).generic.type.reference_to);
00137 switch (debug_hooks == &sdb_debug_hooks ? 1 : debug_hooks == &dwarf2_debug_hooks ? 2 : 0)
00138 {
00139 case 1:
00140 break;
00141 default:
00142 break;
00143 }
00144 gt_ggc_m_9tree_node ((*x).generic.type.name);
00145 gt_ggc_m_9tree_node ((*x).generic.type.minval);
00146 gt_ggc_m_9tree_node ((*x).generic.type.maxval);
00147 gt_ggc_m_9tree_node ((*x).generic.type.next_variant);
00148 gt_ggc_m_9tree_node ((*x).generic.type.main_variant);
00149 gt_ggc_m_9tree_node ((*x).generic.type.binfo);
00150 gt_ggc_m_9tree_node ((*x).generic.type.context);
00151 gt_ggc_m_9lang_type ((*x).generic.type.lang_specific);
00152 break;
00153 case TS_LIST:
00154 gt_ggc_m_9tree_node ((*x).generic.list.common.chain);
00155 gt_ggc_m_9tree_node ((*x).generic.list.common.type);
00156 gt_ggc_m_9tree_node ((*x).generic.list.purpose);
00157 gt_ggc_m_9tree_node ((*x).generic.list.value);
00158 break;
00159 case TS_VEC:
00160 gt_ggc_m_9tree_node ((*x).generic.vec.common.chain);
00161 gt_ggc_m_9tree_node ((*x).generic.vec.common.type);
00162 {
00163 size_t i1_0;
00164 const size_t ilimit1_0 = (TREE_VEC_LENGTH ((tree)&((*x).generic.vec)));
00165 for (i1_0 = 0; i1_0 < ilimit1_0; i1_0++) {
00166 gt_ggc_m_9tree_node ((*x).generic.vec.a[i1_0]);
00167 }
00168 }
00169 break;
00170 case TS_EXP:
00171 gt_ggc_m_9tree_node ((*x).generic.exp.common.chain);
00172 gt_ggc_m_9tree_node ((*x).generic.exp.common.type);
00173 switch (TREE_CODE ((tree) &(*x)))
00174 {
00175 case METHOD_CALL_EXPR:
00176 gt_ggc_m_7rtx_def ((*x).generic.exp.operands[3]);
00177 gt_ggc_m_9tree_node ((*x).generic.exp.operands[2]);
00178 gt_ggc_m_9tree_node ((*x).generic.exp.operands[1]);
00179 gt_ggc_m_9tree_node ((*x).generic.exp.operands[0]);
00180 break;
00181 case WITH_CLEANUP_EXPR:
00182 gt_ggc_m_7rtx_def ((*x).generic.exp.operands[2]);
00183 gt_ggc_m_9tree_node ((*x).generic.exp.operands[1]);
00184 gt_ggc_m_9tree_node ((*x).generic.exp.operands[0]);
00185 break;
00186 case RTL_EXPR:
00187 gt_ggc_m_7rtx_def ((*x).generic.exp.operands[1]);
00188 gt_ggc_m_7rtx_def ((*x).generic.exp.operands[0]);
00189 break;
00190 case GOTO_SUBROUTINE_EXPR:
00191 gt_ggc_m_7rtx_def ((*x).generic.exp.operands[1]);
00192 gt_ggc_m_7rtx_def ((*x).generic.exp.operands[0]);
00193 break;
00194 case SAVE_EXPR:
00195 gt_ggc_m_7rtx_def ((*x).generic.exp.operands[2]);
00196 gt_ggc_m_9tree_node ((*x).generic.exp.operands[1]);
00197 gt_ggc_m_9tree_node ((*x).generic.exp.operands[0]);
00198 break;
00199 default:
00200 {
00201 size_t i2_0;
00202 const size_t ilimit2_0 = (TREE_CODE_LENGTH (TREE_CODE ((tree) &(*x))));
00203 for (i2_0 = 0; i2_0 < ilimit2_0; i2_0++) {
00204 gt_ggc_m_9tree_node ((*x).generic.exp.operands[i2_0]);
00205 }
00206 }
00207 break;
00208 }
00209 break;
00210 case TS_BLOCK:
00211 gt_ggc_m_9tree_node ((*x).generic.block.common.chain);
00212 gt_ggc_m_9tree_node ((*x).generic.block.common.type);
00213 gt_ggc_m_9tree_node ((*x).generic.block.vars);
00214 gt_ggc_m_9tree_node ((*x).generic.block.subblocks);
00215 gt_ggc_m_9tree_node ((*x).generic.block.supercontext);
00216 gt_ggc_m_9tree_node ((*x).generic.block.abstract_origin);
00217 gt_ggc_m_9tree_node ((*x).generic.block.fragment_origin);
00218 gt_ggc_m_9tree_node ((*x).generic.block.fragment_chain);
00219 break;
00220 default:
00221 break;
00222 }
00223 break;
00224 case 1:
00225 gt_ggc_m_9tree_node ((*x).identifier.common_id.common.chain);
00226 gt_ggc_m_9tree_node ((*x).identifier.common_id.common.type);
00227 gt_ggc_m_9tree_node ((*x).identifier.global_value);
00228 gt_ggc_m_9tree_node ((*x).identifier.local_value);
00229 gt_ggc_m_9tree_node ((*x).identifier.label_value);
00230 gt_ggc_m_9tree_node ((*x).identifier.implicit_decl);
00231 gt_ggc_m_9tree_node ((*x).identifier.error_locus);
00232 gt_ggc_m_9tree_node ((*x).identifier.limbo_value);
00233 break;
00234 default:
00235 break;
00236 }
00237 x = ((union lang_tree_node *)TREE_CHAIN (&(*x).generic));
00238 }
00239 }
00240
00241 void
00242 gt_ggc_mx_lang_decl (x_p)
00243 void *x_p;
00244 {
00245 struct lang_decl * const x = (struct lang_decl *)x_p;
00246 if (ggc_test_and_set_mark (x))
00247 {
00248 gt_ggc_m_9tree_node ((*x).pending_sizes);
00249 }
00250 }
00251
00252 void
00253 gt_ggc_mx_lang_type (x_p)
00254 void *x_p;
00255 {
00256 struct lang_type * const x = (struct lang_type *)x_p;
00257 if (ggc_test_and_set_mark (x))
00258 {
00259 {
00260 size_t i1_0;
00261 const size_t ilimit1_0 = (((*x)).len);
00262 for (i1_0 = 0; i1_0 < ilimit1_0; i1_0++) {
00263 gt_ggc_m_9tree_node ((*x).elts[i1_0]);
00264 }
00265 }
00266 }
00267 }
00268
00269 void
00270 gt_ggc_mx_language_function (x_p)
00271 void *x_p;
00272 {
00273 struct language_function * const x = (struct language_function *)x_p;
00274 if (ggc_test_and_set_mark (x))
00275 {
00276 gt_ggc_m_9tree_node ((*x).base.x_stmt_tree.x_last_stmt);
00277 gt_ggc_m_9tree_node ((*x).base.x_stmt_tree.x_last_expr_type);
00278 gt_ggc_m_9tree_node ((*x).base.x_scope_stmt_stack);
00279 gt_ggc_m_9tree_node ((*x).named_labels);
00280 gt_ggc_m_9tree_node ((*x).shadowed_labels);
00281 gt_ggc_m_13binding_level ((*x).binding_level);
00282 }
00283 }
00284
00285
00286
00287 const struct ggc_root_tab gt_ggc_r_gt_c_decl_h[] = {
00288 {
00289 &label_level_chain,
00290 1,
00291 sizeof (label_level_chain),
00292 >_ggc_mx_binding_level
00293
00294 },
00295 {
00296 &global_binding_level,
00297 1,
00298 sizeof (global_binding_level),
00299 >_ggc_mx_binding_level
00300
00301 },
00302 {
00303 ¤t_binding_level,
00304 1,
00305 sizeof (current_binding_level),
00306 >_ggc_mx_binding_level
00307
00308 },
00309 {
00310 &shadowed_labels,
00311 1,
00312 sizeof (shadowed_labels),
00313 >_ggc_mx_tree_node
00314
00315 },
00316 {
00317 &named_labels,
00318 1,
00319 sizeof (named_labels),
00320 >_ggc_mx_tree_node
00321
00322 },
00323 {
00324 &c_scope_stmt_stack,
00325 1,
00326 sizeof (c_scope_stmt_stack),
00327 >_ggc_mx_tree_node
00328
00329 },
00330 {
00331 &c_stmt_tree.x_last_stmt,
00332 1,
00333 sizeof (c_stmt_tree),
00334 >_ggc_mx_tree_node
00335
00336 },
00337 {
00338 &c_stmt_tree.x_last_expr_type,
00339 1,
00340 sizeof (c_stmt_tree),
00341 >_ggc_mx_tree_node
00342
00343 },
00344 {
00345 &static_dtors,
00346 1,
00347 sizeof (static_dtors),
00348 >_ggc_mx_tree_node
00349
00350 },
00351 {
00352 &static_ctors,
00353 1,
00354 sizeof (static_ctors),
00355 >_ggc_mx_tree_node
00356
00357 },
00358 LAST_GGC_ROOT_TAB
00359 };
00360
00361 const struct ggc_root_tab gt_ggc_rd_gt_c_decl_h[] = {
00362 { &free_binding_level, 1, sizeof (free_binding_level), NULL },
00363 LAST_GGC_ROOT_TAB
00364 };
00365