Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
module.c File Reference
#include "defines.h"
#include "host.m"
#include "host.h"
#include "target.m"
#include "target.h"
#include "globals.m"
#include "tokens.m"
#include "sytb.m"
#include "p_globals.m"
#include "debug.m"
#include "module.m"
#include "globals.h"
#include "tokens.h"
#include "sytb.h"
#include "p_globals.h"
#include "module.h"
#include <ar.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <errno.h>
Include dependency graph for module.c:

Go to the source code of this file.

Defines

#define AR_HDR_SIZE   sizeof(ar_hdr_type)

Functions

boolean is_directory (char *)
static void allocate_mod_link_tbl (int)
static void assign_new_idxs (boolean)
static void assign_new_idxs_after_input (int)
static void check_ir_for_attrs (int)
static void check_il_for_attrs (int)
static void compress_tbls (int, boolean)
static void compress_type_tbl (int)
static void dump_pdt (FILE *)
static void print_mod_tbl (void)
static void find_files_in_directory (int)
static void merge_interfaces (int, int)
static void not_visible_semantics (int, int, int)
static int ntr_file_in_fp_tbl (int, char *, int)
static FILE * open_module_file (int, int)
static void process_procs_for_inlining (int)
static boolean read_in_module_tbl (int, int, FILE *, char *)
static boolean read_module_tbl_header (int, int, FILE *)
static boolean read_sytb_from_module_file (int, FILE *, char *)
static boolean rename_only_semantics (int, boolean)
static boolean resolve_attr (int)
static void resolve_all_components (int, int)
static void resolve_used_modules (int)
static void set_attr_flds_for_output (void)
static void set_mod_link_tbl_for_attr (int)
static void set_mod_link_tbl_for_bd (int)
static void set_mod_link_tbl_for_cn (int)
static void set_mod_link_tbl_for_ir (int)
static void set_mod_link_tbl_for_il (int)
static void set_mod_link_tbl_for_typ (int)
static boolean srch_ar_file_for_module_tbl (int, int *, int, FILE *)
static boolean srch_for_module_tbl (int, int *, int, int, FILE *)
static void update_idxs_in_attr_entry (int, int)
static void update_intrinsic (int)
int make_ro_entry (int module_idx, int ro_idx, boolean rename_entry)
void check_for_duplicate_renames (int rename_idx)
void create_mod_info_file (void)
void create_mod_info_tbl (void)
void output_mod_info_file (void)
void use_stmt_semantics (void)
boolean find_prog_unit_tbl (int module_attr_idx)
void collapse_interface_blk (int interface_idx)
void clean_up_module_files (void)

Variables

static char USMID [] = "\n@(#)5.0_pl/sources/module.c 5.17 09/30/99 15:47:54\n"
static char * module_suffix_fix = ".mod-whirl"
static boolean alternate_entry
static boolean count_derived_types
static boolean only_update_new_tbl_entries
static boolean inline_search
static int list_of_modules_in_module
static long mod_file_end_offset
static long num_module_derived_types
static int save_const_pool_idx
static int save_const_tbl_idx
static boolean search_for_duplicate_attrs
char compiler_gen_date []

Define Documentation

#define AR_HDR_SIZE   sizeof(ar_hdr_type)

Definition at line 93 of file module.c.

Referenced by srch_ar_file_for_module_tbl().


Function Documentation

static void assign_new_idxs_after_input ( int  module_attr_idx) [static]

Definition at line 7280 of file module.c.

References ADD_ATTR_TO_LOCAL_LIST, AL_ATTR_IDX, AL_NEXT_IDX, AL_PREV_MODULE_IDX, alternate_entry, AT_ATTR_LINK, AT_DEF_COLUMN, AT_DEF_LINE, AT_DEFINED, AT_IGNORE_ATTR_LINK, AT_IS_INTRIN, AT_MODULE_IDX, AT_NAME_IDX, AT_NAME_LEN, AT_OBJ_CLASS, AT_OBJ_NAME_LONG, AT_ORIG_MODULE_IDX, AT_ORIG_NAME_IDX, AT_REFERENCED, AT_Tbl_Idx, AT_USE_ASSOCIATED, ATD_ARRAY_IDX, ATD_ASSIGN_TMP_IDX, ATD_AUTO_BASE_IDX, ATD_AUTOMATIC, ATD_CLASS, ATD_CONST_IDX, ATD_CPNT_INIT_IDX, ATD_CPNT_OFFSET_IDX, ATD_DEFINING_ATTR_IDX, ATD_DERIVED_TYPE_IDX, ATD_DISTRIBUTION_IDX, ATD_FLD, ATD_FUNC_IDX, ATD_INTRIN_DARG, ATD_NEXT_MEMBER_IDX, ATD_OFFSET_ASSIGNED, ATD_OFFSET_FLD, ATD_OFFSET_IDX, ATD_PE_ARRAY_IDX, ATD_PTR_IDX, ATD_RESHAPE_ARRAY_IDX, ATD_STOR_BLK_IDX, ATD_TMP_IDX, ATD_TYPE_IDX, ATD_VARIABLE_TMP_IDX, ATI_FIRST_SPECIFIC_IDX, ATI_PROC_IDX, ATL_BLK_STMT_IDX, ATL_CLASS, ATL_DEF_STMT_IDX, ATL_DIRECTIVE_LIST, ATL_FORMAT_TMP, ATL_NEXT_ASG_LBL_IDX, ATL_PP_FORMAT_TMP, ATN_FIRST_NAMELIST_IDX, ATN_LAST_NAMELIST_IDX, ATN_NAMELIST_DESC, ATP_ALT_ENTRY, ATP_EXT_NAME_IDX, ATP_EXT_NAME_LEN, ATP_EXT_NAME_PTR, ATP_FIRST_IDX, ATP_FIRST_SH_IDX, ATP_IN_CURRENT_COMPILE, ATP_INDIRECT_MODULE, ATP_MOD_PATH_IDX, ATP_MOD_PATH_LEN, ATP_MODULE_STR_IDX, ATP_PARENT_IDX, ATP_PGM_UNIT, ATP_PROC, ATP_RSLT_IDX, ATP_SCP_ALIVE, ATP_SCP_IDX, ATS_SF_FLD, ATS_SF_IDX, ATT_FIRST_CPNT_IDX, ATT_GLOBAL_TYPE_IDX, ATT_SCP_IDX, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, attr_aux_tbl, Attr_Tbl, attr_tbl_idx, BD_ARRAY_CLASS, BD_COLUMN_NUM, BD_CYCLIC_FLD, BD_CYCLIC_IDX, BD_DIST_NTRY, BD_GLOBAL_IDX, BD_LB_FLD, BD_LB_IDX, BD_LEN_FLD, BD_LEN_IDX, BD_LINE_NUM, BD_ONTO_FLD, BD_ONTO_IDX, BD_RANK, BD_SM_FLD, BD_SM_IDX, BD_UB_FLD, BD_UB_IDX, BD_XT_FLD, BD_XT_IDX, Bounds_Tbl, bounds_tbl_idx, Character, check_global_pgm_unit(), CLEAR_TBL_NTRY, CN_POOL_IDX, CN_Tbl_Idx, CN_TYPE_IDX, compare_names(), Compiler_Tmp, Const_Pool, const_pool_idx, Const_Tbl, const_tbl_idx, Constant, CRI__Pointee, curr_scp_idx, Data_Obj, Deferred_Shape, Derived_Type, Dummy_Argument, Dummy_Proc, Func_Entry, Func_Exit, Function_Result, GN_NAME_IDX, IL_ARG_DESC_IDX, IL_ARG_DESC_VARIANT, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, opt_flags_entry::inline_lvl, Inline_Lvl_0, inline_search, Interface, Internal, Intrin_Proc, IR_COL_NUM, IR_COL_NUM_L, IR_COL_NUM_R, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LINE_NUM_R, Ir_List_Tbl, ir_list_tbl_idx, Ir_Tbl, IR_Tbl_Idx, ir_tbl_idx, IR_TYPE_IDX, keep_module_procs, Label, Lbl_Format, Lbl_User, list_of_modules_in_module, MD_LAST_4_0_VERSION, MD_NUM_ENTRIES, MD_VERSION_NUM, ML_AT_SEARCH_ME, ML_AT_SEARCHED, ML_SB_IDX, Module, Module_Proc, Name_Pool, name_pool_idx, Namelist_Grp, NO_Tbl_Idx, Not_Referenced, NTR_ATTR_LIST_TBL, NULL_IDX, type_tbl_entry::old_bit_len, opt_flags, Pgm_Unit, PRINTMSG(), SCP_ATTR_LIST, SCP_USED_MODULE_LIST, Sec_Name_Tbl, sec_name_tbl_idx, SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, SH_NEXT_IDX, SH_PARENT_BLK_IDX, SH_PREV_IDX, SH_STMT_TYPE, Sh_Tbl, SH_Tbl_Idx, sh_tbl_idx, SN_ATTR_IDX, SN_COLUMN_NUM, SN_LINE_NUM, SN_NAME_IDX, SN_SIBLING_LINK, srch_global_name_tbl(), Statement_Num_Stmt, Stmt_Func, stmt_start_line, Struct_Component, Structure, TRACE, TRUE, TYP_BIT_LEN, TYP_FLD, TYP_IDX, TYP_ORIG_LEN_IDX, TYP_TYPE, Type_Tbl, type_tbl, type_tbl_idx, Typeless, update_intrinsic(), and Variable.

Referenced by read_in_module_tbl().

Here is the call graph for this function:

void check_for_duplicate_renames ( int  rename_idx)

Definition at line 390 of file module.c.

References compare_names(), Func_Entry, Func_Exit, NULL, rename_only_tbl_idx, RO_NAME_LEN, RO_NAME_LONG, RO_RENAME_NAME, and TRACE.

Referenced by parse_only_spec(), and parse_use_stmt().

Here is the call graph for this function:

static void check_il_for_attrs ( int  list_idx) [static]

Definition at line 10546 of file module.c.

References AT_Tbl_Idx, check_ir_for_attrs(), CN_Tbl_Idx, Func_Entry, Func_Exit, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_Tbl_Idx, IR_Tbl_Idx, ML_AT_SEARCHED, NO_Tbl_Idx, NULL_IDX, SH_Tbl_Idx, TRACE, and TRUE.

Referenced by check_ir_for_attrs().

Here is the call graph for this function:

static void check_ir_for_attrs ( int  ir_idx) [static]
static void compress_tbls ( int  al_idx,
boolean  from_interface 
) [static]

Definition at line 2450 of file module.c.

References AL_ATTR_IDX, AL_FREE, AT_NAME_IDX, AT_NAME_LEN, AT_OBJ_CLASS, AT_Tbl_Idx, attr_aux_tbl_idx, attr_list_tbl_idx, attr_tbl, attr_tbl_idx, BD_ARRAY_CLASS, BD_CYCLIC_FLD, BD_CYCLIC_IDX, BD_DIST_NTRY, BD_LB_FLD, BD_LB_IDX, BD_LEN_FLD, BD_LEN_IDX, BD_NEXT_FREE_NTRY, BD_NTRY_SIZE, BD_ONTO_FLD, BD_ONTO_IDX, BD_RANK, BD_SM_FLD, BD_SM_IDX, BD_UB_FLD, BD_UB_IDX, BD_USED_NTRY, BD_XT_FLD, BD_XT_IDX, bounds_tbl_idx, CLEAR_TBL_NTRY, CN_POOL_IDX, CN_Tbl_Idx, CN_TYPE_IDX, compress_type_tbl(), const_pool, const_pool_idx, const_tbl, const_tbl_idx, COPY_ATTR_NTRY, COPY_BD_NTRY, count_derived_types, curr_scp_idx, Deferred_Shape, Derived_Type, Func_Entry, Func_Exit, HN_ATTR_IDX, HN_NAME_IDX, idx, IL_ARG_DESC_VARIANT, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, Internal, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, ir_list_tbl, ir_list_tbl_idx, ir_tbl, IR_Tbl_Idx, ir_tbl_idx, IR_TYPE_IDX, LN_ATTR_IDX, LN_NAME_IDX, LN_NAME_LEN, loc_name_tbl, loc_name_tbl_idx, ML_AT_COMPRESSED_IDX, ML_AT_IDX, ML_AT_KEEP_ME, ML_BD_IDX, ML_BD_KEEP_ME, ML_CN_IDX, ML_CN_KEEP_ME, ML_CP_DALIGN_ME, ML_CP_IDX, ML_CP_KEEP_ME, ML_CP_LEN, ML_IL_IDX, ML_IL_KEEP_ME, ML_IR_IDX, ML_IR_KEEP_ME, ML_LN_IDX, ML_LN_KEEP_ME, ML_NP_IDX, ML_NP_KEEP_ME, ML_NP_LEN, ML_SB_IDX, ML_SB_KEEP_ME, ML_SH_IDX, ML_SH_KEEP_ME, ML_SN_IDX, ML_SN_KEEP_ME, ML_TYP_IDX, mod_link_tbl, name_pool_entry::name_long, name_pool, name_pool_idx, NULL, NULL_IDX, NUM_AT_WDS, num_module_derived_types, only_update_new_tbl_entries, Pragma, PRINTMSG(), remove_hidden_name_ntry(), SB_FIRST_ATTR_IDX, SB_LEN_FLD, SB_LEN_IDX, SB_MODULE_IDX, SB_NAME_IDX, SCP_ATTR_IDX, SCP_HN_FW_IDX, SCP_HN_LW_IDX, sec_name_tbl, sec_name_tbl_idx, SH_IR_IDX, SH_NEXT_IDX, SH_PARENT_BLK_IDX, SH_PREV_IDX, SH_STMT_TYPE, sh_tbl, sh_tbl_idx, SN_ATTR_IDX, SN_NAME_IDX, SN_NAME_LEN, SN_SIBLING_LINK, Statement_Num_Stmt, stmt_start_line, stor_blk_tbl, stor_blk_tbl_idx, TRACE, and update_idxs_in_attr_entry().

Referenced by collapse_interface_blk(), output_mod_info_file(), and use_stmt_semantics().

Here is the call graph for this function:

static void dump_pdt ( FILE *  mod_file_ptr) [static]

Definition at line 10597 of file module.c.

References debug_file, fprintf(), Func_Entry, Func_Exit, init_debug_file(), MD_NAME_PTR, MD_PDT_HDR_LEN, MD_PDT_HDR_TYPE, mod_file_name, and TRACE.

Referenced by read_in_module_tbl(), and srch_for_module_tbl().

Here is the call graph for this function:

boolean find_prog_unit_tbl ( int  module_attr_idx)

Definition at line 4797 of file module.c.

References alternate_entry, Archive_File_Fp, AT_ATTR_LINK, AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_NAME_LEN, AT_OBJ_NAME_LONG, AT_OBJ_NAME_PTR, ATP_FIRST_SH_IDX, ATP_IN_CURRENT_COMPILE, ATP_PGM_UNIT, ATP_PROC, BASIC_RECS, cif_flags, cif_use_module_rec(), cmd_line_flags, compare_names(), Current_Compile_Fp, cmd_line_flags_entry::dalign, Directory_Fp, dump_flags, Elf_File_Fp, on_off_flags_entry::enable_double_precision, ERROR, Error, FALSE, File_Fp, find_files_in_directory(), FOUND, FP_CLASS, FP_FILE_IDX, FP_MODULE_IDX, FP_NAME_LEN, FP_NAME_LONG, FP_NAME_PTR, FP_NEXT_FILE_IDX, FP_OFFSET, FP_SRCH_THE_FILE, FP_SYSTEM_FILE, FSEEK, Func_Entry, Func_Exit, GA_DEFINED, GA_OBJ_CLASS, GAC_PGM_UNIT_IDX, GAP_FP_IDX, GAP_PGM_UNIT, GN_ATTR_IDX, inline_path_idx, inline_search, INTEGER_DEFAULT_TYPE, Intern_Proc, keep_module_procs, Limit, MAIN_SCP_IDX, MD_CF77TYPES, MD_CURRENT_VERSION, MD_DALIGN, MD_DEFAULT32, MD_DEFAULT64, MD_DEFAULT_INTEGER_TYPE, MD_ENABLE_DOUBLE_PRECISION, MD_FLOAT64, MD_HAS_ERRORS, MD_LAST_3_0_VERSION, MD_LAST_4_0_VERSION, MD_TARGET, MD_VERSION_NUM, Mod_File_Fp, mod_link_tbl, dump_flags_entry::mod_version, Module, module_path_idx, Module_Proc, on_off_flags_entry::module_to_mod, NULL, NULL_IDX, on_off_flags, open_module_file(), PRINTMSG(), read_in_module_tbl(), read_module_tbl_header(), cmd_line_flags_entry::s_cf77types, cmd_line_flags_entry::s_default32, cmd_line_flags_entry::s_default64, cmd_line_flags_entry::s_float64, SCP_ATTR_IDX, SLASH, srch_ar_file_for_module_tbl(), srch_for_module_tbl(), srch_global_name_tbl(), strcpy, target_os, TBL_FREE, TRACE, TRUE, Unknown_Fp, and Warning.

Referenced by srch_for_calls(), and use_stmt_semantics().

Here is the call graph for this function:

boolean is_directory ( char *  path)

Definition at line 10071 of file module.c.

References FALSE, Func_Entry, Func_Exit, stat, TRACE, and TRUE.

Referenced by find_files_in_directory().

static void merge_interfaces ( int  new_interface_idx,
int  old_interface_idx 
) [static]
static FILE * open_module_file ( int  module_attr_idx,
int  fp_file_idx 
) [static]
void output_mod_info_file ( void  )

Definition at line 3542 of file module.c.

References AL_ATTR_IDX, AL_NEXT_IDX, assign_new_idxs(), AT_DEF_COLUMN, AT_DEF_LINE, AT_NAME_IDX, AT_NAME_LEN, AT_OBJ_NAME_PTR, ATP_MAY_INLINE, ATP_MOD_PATH_IDX, ATP_MOD_PATH_LEN, ATP_PGM_UNIT, ATP_SCP_ALIVE, attr_aux_tbl_idx, attr_list_tbl_idx, Attr_Tbl, attr_tbl, attr_tbl_idx, BD_FREE_LIST_IDX, BD_NEXT_FREE_NTRY, Bounds_Tbl, bounds_tbl, bounds_tbl_idx, cmd_line_flags, COMPILER_INFO_TABLE_TYPE, compress_tbls(), Const_Pool, const_pool, const_pool_idx, Const_Tbl, const_tbl, const_tbl_idx, count_derived_types, curr_scp_idx, cmd_line_flags_entry::dalign, dump_flags, on_off_flags_entry::enable_double_precision, Error, EXIT, FALSE, FP_NAME_PTR, Func_Entry, Func_Exit, idx, INTEGER_DEFAULT_TYPE, Ir_List_Tbl, ir_list_tbl, ir_list_tbl_idx, Ir_Tbl, ir_tbl, ir_tbl_idx, Loc_Name_Tbl, loc_name_tbl, loc_name_tbl_idx, MAIN_SCP_IDX, MD_ALTERNATE_ENTRY, MD_CF77TYPES, MD_CURRENT_VERSION, MD_DALIGN, MD_DEFAULT32, MD_DEFAULT64, MD_DEFAULT_INTEGER_TYPE, MD_ENABLE_DOUBLE_PRECISION, MD_FLOAT64, MD_HAS_ERRORS, MD_NAME_LEN, MD_NAME_LONG, MD_NEW_CONST_TBL, MD_NUM_ENTRIES, MD_PDT_HDR_LEN, MD_PDT_HDR_TYPE, MD_TARGET, MD_TBL_BYTE_SIZE, MD_TBL_TYPE, MD_VERSION_NUM, mit_descriptor, mit_header, ML_AT_IDX, ML_SH_IDX, mod_link_tbl, Module, on_off_flags_entry::module_to_mod, name_pool_entry::name_long, Name_Pool, name_pool, name_pool_idx, NULL, NULL_IDX, NUM_AT_WDS, NUM_BD_WDS, NUM_CN_WDS, NUM_CP_WDS, NUM_IL_WDS, NUM_IR_WDS, NUM_LN_WDS, num_module_derived_types, NUM_NP_WDS, Num_Of_Tbls, num_prog_unit_errors, NUM_SB_WDS, NUM_SH_WDS, NUM_SN_WDS, NUM_TYP_WDS, on_off_flags, OUTPUT_TBL_TO_MODULE, dump_flags_entry::preinline, PRINTMSG(), cmd_line_flags_entry::s_cf77types, cmd_line_flags_entry::s_default32, cmd_line_flags_entry::s_default64, cmd_line_flags_entry::s_float64, save_const_pool_idx, save_const_tbl_idx, SB_CIF_SYMBOL_ID, SCP_ATTR_IDX, SCP_ENTRY_IDX, SCP_FILE_PATH_IDX, Sec_Name_Tbl, sec_name_tbl, sec_name_tbl_idx, set_attr_flds_for_output(), Sh_Tbl, sh_tbl, sh_tbl_idx, Stor_Blk_Tbl, stor_blk_tbl, stor_blk_tbl_idx, target_os, TBL_FREE, TRACE, TRUE, Type_Tbl, type_tbl, type_tbl_idx, and WORD_LEN.

Referenced by cvrt_proc_to_pdg(), cvrt_to_pdg(), main(), and send_mod_file_name().

Here is the call graph for this function:

static void process_procs_for_inlining ( int  list_idx) [static]

Definition at line 10433 of file module.c.

References AL_ATTR_IDX, AL_NEXT_IDX, ATP_FIRST_SH_IDX, check_ir_for_attrs(), Func_Entry, Func_Exit, NULL_IDX, num_prog_unit_errors, SH_IR_IDX, SH_NEXT_IDX, and TRACE.

Referenced by read_in_module_tbl().

Here is the call graph for this function:

static boolean read_in_module_tbl ( int  fp_file_idx,
int  module_attr_idx,
FILE *  mod_file_ptr,
char *  mod_info_tbl 
) [static]

Definition at line 6162 of file module.c.

References allocate_mod_link_tbl(), alternate_entry, assign_new_idxs_after_input(), AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_NAME_LEN, AT_OBJ_NAME_LONG, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATP_IN_CURRENT_COMPILE, ATP_MOD_PATH_IDX, ATP_MOD_PATH_LEN, ATP_USE_LIST, ATP_USE_TYPE, attr_tbl_idx, bounds_tbl_idx, CN_Tbl_Idx, CN_TYPE_IDX, compare_names(), Const_Pool, const_pool, const_pool_idx, Const_Tbl, const_tbl_idx, curr_scp_idx, dump_flags, dump_pdt(), Error, EXIT, FALSE, FP_NAME_IDX, FP_NAME_LEN, free_attr_list(), Func_Entry, Func_Exit, idx, IL_Tbl_Idx, inline_search, Integer, Internal, ir_list_tbl_idx, IR_Tbl_Idx, ir_tbl_idx, keep_module_procs, LN_ATTR_IDX, LN_NAME_IDX, Loc_Name_Tbl, loc_name_tbl_idx, MD_ALTERNATE_ENTRY, MD_HAS_ERRORS, MD_NUM_ENTRIES, mit_descriptor, mit_header, ML_AT_IDX, ML_AT_LN_NAME, ML_BD_IDX, ML_CN_IDX, ML_CP_IDX, ML_IL_IDX, ML_IR_IDX, ML_LN_IDX, ML_NP_IDX, ML_SB_IDX, ML_SH_IDX, ML_SN_IDX, ML_TYP_IDX, name_pool_entry::name_long, name_pool, name_pool_idx, NULL, NULL_IDX, Num_Of_Tbls, dump_flags_entry::pdt_dump, print_cn(), print_sb(), PRINTMSG(), process_procs_for_inlining(), read_sytb_from_module_file(), save_const_pool_idx, save_const_tbl_idx, SB_DEF_COLUMN, SB_DEF_LINE, SB_DEF_MULT_SCPS, SB_FIRST_ATTR_IDX, SB_HAS_RENAMES, SB_HIDDEN, SB_IS_COMMON, SB_LAST_ATTR_LIST, SB_LEN_FLD, SB_LEN_IDX, SB_MERGED_BLK_IDX, SB_MODULE_IDX, SB_NAME_IDX, SB_NAME_LEN, SB_NAME_PTR, SB_ORIG_SCP_IDX, SB_SCP_IDX, SB_USE_ASSOCIATED, SCP_ATTR_IDX, SCP_ATTR_LIST, SCP_ATTR_LIST_END, SCP_LN_FW_IDX, SCP_LN_LW_IDX, sec_name_tbl_idx, sh_tbl_idx, srch_stor_blk_tbl(), Stor_Blk_Tbl, stor_blk_tbl, stor_blk_tbl_idx, str_pool, TBL_REALLOC_CK, TRACE, TRUE, TYP_TYPE, type_tbl_idx, Use_Only, mit_header_entry::wd, and WORD_LEN.

Referenced by find_prog_unit_tbl().

Here is the call graph for this function:

static boolean read_module_tbl_header ( int  module_attr_idx,
int  fp_module_idx,
FILE *  mod_file_ptr 
) [static]
static void resolve_all_components ( int  attr_idx,
int  srch_attr_idx 
) [static]
static void set_mod_link_tbl_for_attr ( int  attr_idx) [static]

Definition at line 1116 of file module.c.

References AT_ATTR_LINK, AT_IGNORE_ATTR_LINK, AT_MODULE_IDX, AT_NAME_IDX, AT_NAME_LEN, AT_OBJ_CLASS, AT_ORIG_NAME_IDX, AT_ORIG_NAME_LEN, AT_REFERENCED, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_ASSIGN_TMP_IDX, ATD_AUTO_BASE_IDX, ATD_AUTOMATIC, ATD_CLASS, ATD_CONST_IDX, ATD_CPNT_INIT_IDX, ATD_CPNT_OFFSET_IDX, ATD_DATA_INIT, ATD_DEFINING_ATTR_IDX, ATD_DERIVED_TYPE_IDX, ATD_DISTRIBUTION_IDX, ATD_FLD, ATD_INTRIN_DARG, ATD_NEXT_MEMBER_IDX, ATD_OFFSET_ASSIGNED, ATD_OFFSET_FLD, ATD_OFFSET_IDX, ATD_PE_ARRAY_IDX, ATD_PTR_IDX, ATD_RESHAPE_ARRAY_IDX, ATD_STOR_BLK_IDX, ATD_TMP_IDX, ATD_TYPE_IDX, ATD_VARIABLE_TMP_IDX, ATI_FIRST_SPECIFIC_IDX, ATI_PROC_IDX, ATL_CLASS, ATL_DIRECTIVE_LIST, ATL_FORMAT_TMP, ATL_NEXT_ASG_LBL_IDX, ATL_PP_FORMAT_TMP, ATN_FIRST_NAMELIST_IDX, ATN_NAMELIST_DESC, ATP_EXT_NAME_IDX, ATP_EXT_NAME_LEN, ATP_FIRST_IDX, ATP_FIRST_SH_IDX, ATP_MAY_INLINE, ATP_MOD_PATH_IDX, ATP_MOD_PATH_LEN, ATP_NUM_DARGS, ATP_PARENT_IDX, ATP_PGM_UNIT, ATP_PROC, ATP_RSLT_IDX, ATS_SF_FLD, ATS_SF_IDX, ATT_FIRST_CPNT_IDX, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, CN_Tbl_Idx, Compiler_Tmp, Constant, CRI__Pointee, Data_Obj, Derived_Type, Dummy_Argument, Dummy_Proc, FALSE, Func_Entry, Func_Exit, Function_Result, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_Tbl_Idx, Interface, Intrin_Proc, IR_Tbl_Idx, KEEP_ATTR, KEEP_CN, KEEP_IR, Label, Lbl_Format, ML_AT_IDX, ML_AT_KEEP_ME, ML_AT_SEARCH_ME, ML_AT_SEARCHED, ML_BD_KEEP_ME, ML_NP_IDX, ML_NP_KEEP_ME, ML_NP_LEN, ML_SB_IDX, ML_SB_KEEP_ME, ML_SH_IDX, ML_SH_KEEP_ME, ML_SN_IDX, ML_SN_KEEP_ME, Module, Namelist_Grp, NO_Tbl_Idx, NULL, NULL_IDX, Pgm_Unit, Referenced, resolve_attr(), SB_FIRST_ATTR_IDX, SB_LEN_FLD, SB_LEN_IDX, SB_MODULE_IDX, SB_NAME_IDX, SB_NAME_LEN, search_for_duplicate_attrs, set_mod_link_tbl_for_bd(), set_mod_link_tbl_for_il(), set_mod_link_tbl_for_typ(), SH_IR_IDX, SH_NEXT_IDX, SN_ATTR_IDX, SN_SIBLING_LINK, Stmt_Func, Struct_Component, TRACE, TRUE, and Variable.

Here is the call graph for this function:

static boolean srch_ar_file_for_module_tbl ( int  module_attr_idx,
int *  fp_module_idx,
int  fp_file_idx,
FILE *  mod_file_ptr 
) [static]
static void update_idxs_in_attr_entry ( int  start_idx,
int  end_idx 
) [static]

Definition at line 3173 of file module.c.

References AT_ATTR_LINK, AT_DEFINED, AT_IGNORE_ATTR_LINK, AT_MODULE_IDX, AT_NAME_IDX, AT_OBJ_CLASS, AT_ORIG_NAME_IDX, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_ASSIGN_TMP_IDX, ATD_AUTO_BASE_IDX, ATD_AUTOMATIC, ATD_CLASS, ATD_CONST_IDX, ATD_CPNT_INIT_IDX, ATD_CPNT_OFFSET_IDX, ATD_DEFINING_ATTR_IDX, ATD_DERIVED_TYPE_IDX, ATD_DISTRIBUTION_IDX, ATD_FLD, ATD_FUNC_IDX, ATD_INTRIN_DARG, ATD_NEXT_MEMBER_IDX, ATD_OFFSET_ASSIGNED, ATD_OFFSET_FLD, ATD_OFFSET_IDX, ATD_PE_ARRAY_IDX, ATD_PTR_IDX, ATD_RESHAPE_ARRAY_IDX, ATD_STOR_BLK_IDX, ATD_TMP_IDX, ATD_TYPE_IDX, ATD_VARIABLE_TMP_IDX, ATI_FIRST_SPECIFIC_IDX, ATI_PROC_IDX, ATL_BLK_STMT_IDX, ATL_CLASS, ATL_DEF_STMT_IDX, ATL_DIRECTIVE_LIST, ATL_FORMAT_TMP, ATL_NEXT_ASG_LBL_IDX, ATL_PP_FORMAT_TMP, ATN_FIRST_NAMELIST_IDX, ATN_LAST_NAMELIST_IDX, ATN_NAMELIST_DESC, ATP_EXT_NAME_IDX, ATP_FIRST_IDX, ATP_FIRST_SH_IDX, ATP_MOD_PATH_IDX, ATP_PARENT_IDX, ATP_PGM_UNIT, ATP_PROC, ATP_RSLT_IDX, ATS_SF_FLD, ATS_SF_IDX, ATT_FIRST_CPNT_IDX, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, CN_Tbl_Idx, Compiler_Tmp, Constant, CRI__Pointee, Data_Obj, Derived_Type, Dummy_Argument, Dummy_Proc, Func_Entry, Func_Exit, Function_Result, IL_Tbl_Idx, Interface, Intrin_Proc, IR_Tbl_Idx, Label, Lbl_Format, Lbl_User, ML_AT_IDX, ML_BD_IDX, ML_CN_IDX, ML_IL_IDX, ML_IR_IDX, ML_NP_IDX, ML_SB_IDX, ML_SH_IDX, ML_SN_IDX, ML_TYP_IDX, Module, Namelist_Grp, NO_Tbl_Idx, NULL, NULL_IDX, Pgm_Unit, Stmt_Func, Struct_Component, TRACE, and Variable.

Referenced by collapse_interface_blk(), and compress_tbls().

void use_stmt_semantics ( void  )

Definition at line 3849 of file module.c.

References ADD_ATTR_TO_LOCAL_LIST, AL_ATTR_IDX, AL_NEXT_IDX, AL_PREV_MODULE_IDX, Ansi, assign_new_idxs(), AT_DEF_COLUMN, AT_DEF_LINE, AT_IS_INTRIN, AT_MODULE_IDX, AT_NAME_IDX, AT_NAME_LEN, AT_NOT_VISIBLE, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_ORIG_NAME_IDX, AT_REFERENCED, AT_Tbl_Idx, ATD_STOR_BLK_IDX, ATI_FIRST_SPECIFIC_IDX, ATI_NUM_SPECIFICS, ATP_IMPLICIT_USE_MODULE, ATP_INDIRECT_MODULE, ATP_MAY_INLINE, ATP_PGM_UNIT, ATP_PROC, ATP_RSLT_IDX, ATP_RSLT_NAME, ATP_SCP_ALIVE, ATP_USE_LIST, ATP_USE_TYPE, attr_list_tbl_idx, Attr_Tbl, attr_tbl_idx, BD_FREE_LIST_IDX, BD_NEXT_FREE_NTRY, Before, compare_names(), compress_tbls(), count_derived_types, CURR_BLK, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, EXIT, FALSE, find_prog_unit_tbl(), free_attr_list(), Func_Entry, Func_Exit, Function, gen_sh(), GET_MESSAGE_TBL, opt_flags_entry::inline_lvl, Inline_Lvl_0, Interface, Interface_Body_Blk, Internal, IR_COL_NUM, IR_COL_NUM_L, IR_FLD_L, IR_IDX_L, IR_LINE_NUM, IR_LINE_NUM_L, IR_OPR, IR_TYPE_IDX, on_off_flags_entry::issue_ansi_messages, KEEP_ATTR, keep_module_procs, list_of_modules_in_module, LN_ATTR_IDX, LN_DEF_LOC, LN_IN_ONLY_LIST, LN_NAME_IDX, LN_NAME_LEN, LN_NAME_LONG, LN_NEW_NAME, LN_RENAMED, Loc_Name_Tbl, loc_name_tbl_idx, MAIN_SCP_IDX, MD_NUM_ENTRIES, message_error_tbl, message_warning_tbl, ML_AT_IDX, ML_AT_SEARCHED, ML_BD_IDX, ML_BD_KEEP_ME, ML_LN_IDX, ML_LN_KEEP_ME, mod_link_tbl, Module, not_visible_semantics(), NTR_ATTR_LIST_TBL, NTR_IR_TBL, NTR_NAME_IN_LN_TBL, NULL, NULL_IDX, num_module_derived_types, num_of_derived_types, on_off_flags, only_update_new_tbl_entries, opt_flags, Pgm_Unit, PRINTMSG(), Referenced, rename_only_semantics(), resolve_attr(), resolve_used_modules(), RO_NAME_ATTR, RO_NEXT_IDX, save_const_pool_idx, save_const_tbl_idx, SB_HAS_RENAMES, SCP_ATTR_IDX, SCP_IS_INTERFACE, SCP_LN_FW_IDX, SCP_LN_LW_IDX, SCP_PARENT_IDX, SCP_USED_MODULE_LIST, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, SN_SIBLING_LINK, srch_host_sym_tbl(), stmt_start_col, stmt_start_line, TBL_FREE, TRACE, TRUE, TYPELESS_DEFAULT_TYPE, Use_Only, Use_Opr, and Use_Stmt.

Referenced by parse_prog_unit().

Here is the call graph for this function:


Variable Documentation

Definition at line 129 of file main.h.

Referenced by main().

long mod_file_end_offset [static]

Definition at line 255 of file module.c.

Referenced by open_module_file().

char* module_suffix_fix = ".mod-whirl" [static]

Definition at line 243 of file module.c.

Referenced by create_mod_info_file(), and find_files_in_directory().

Definition at line 259 of file module.c.

Referenced by create_mod_info_tbl(), and set_mod_link_tbl_for_attr().

char USMID[] = "\n@(#)5.0_pl/sources/module.c 5.17 09/30/99 15:47:54\n" [static]

Definition at line 36 of file module.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines