static void process_pu (PU_Info *pu_tree) { PU_Info *pu; for (pu = pu_tree; pu != NULL; pu = PU_Info_next(pu)) { Current_PU_Info = pu; MEM_POOL_Push (MEM_pu_nz_pool_ptr); Read_Local_Info (MEM_pu_nz_pool_ptr, pu); if (vflag) printf ("%*sProcessing PU: %s\n", indent, "", ST_name(PU_Info_proc_sym(pu))); indent += indent_inc; Process_PU (pu); process_stab (PU_Info_symtab_ptr(pu)); process_func (PU_Info_tree_ptr(pu)); if (PU_Info_child(pu)) { process_pu (PU_Info_child(pu)); } #ifdef WRITE_IRB Write_PU_Info (pu); #endif indent -= indent_inc; Free_Local_Info (pu); MEM_POOL_Pop (MEM_pu_nz_pool_ptr); } }
static void write_pu (PU_Info *pu_tree) { PU_Info *pu; for (pu = pu_tree; pu != NULL; pu = PU_Info_next(pu)) { Current_PU_Info = pu; Write_PU_Info (pu); } }