Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#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>
Go to the source code of this file.
#define AR_HDR_SIZE sizeof(ar_hdr_type) |
Definition at line 93 of file module.c.
Referenced by srch_ar_file_for_module_tbl().
static void allocate_mod_link_tbl | ( | int | size | ) | [static] |
Definition at line 434 of file module.c.
References attr_tbl_idx, bounds_tbl_idx, CHECK_TBL_ALLOC_SIZE, const_pool_idx, const_tbl_idx, Func_Entry, Func_Exit, idx, ir_list_tbl_idx, ir_tbl_idx, loc_name_tbl_idx, mod_link_tbl, mod_link_tbl_idx, mod_link_tbl_size, name_pool_idx, NULL, NUM_ML_WDS, sec_name_tbl_idx, sh_tbl_idx, size, stor_blk_tbl_idx, TRACE, and type_tbl_idx.
Referenced by collapse_interface_blk(), create_mod_info_tbl(), and read_in_module_tbl().
static void assign_new_idxs | ( | boolean | resolving_duplicates | ) | [static] |
Definition at line 2090 of file module.c.
References AT_WORK_IDX, attr_tbl_idx, BD_NTRY_SIZE, bounds_tbl_idx, CLEAR_TBL_NTRY, CN_CONST, CN_EXTRA_ZERO_WORD, CN_TYPE_IDX, const_pool, const_pool_idx, const_tbl_idx, COPY_ATTR_NTRY, FALSE, Func_Entry, Func_Exit, idx, ir_list_tbl_idx, ir_tbl_idx, 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, mod_link_tbl_idx, name_pool_idx, ntr_const_tbl(), NULL, NULL_IDX, Pragma, save_const_pool_idx, save_const_tbl_idx, sec_name_tbl_idx, sh_tbl_idx, stor_blk_tbl_idx, TBL_REALLOC_CK, TRACE, TRUE, and WORD_LEN.
Referenced by collapse_interface_blk(), output_mod_info_file(), and use_stmt_semantics().
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().
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().
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().
static void check_ir_for_attrs | ( | int | ir_idx | ) | [static] |
Definition at line 10483 of file module.c.
References AT_Tbl_Idx, check_il_for_attrs(), CN_Tbl_Idx, FALSE, Func_Entry, Func_Exit, idx, IL_Tbl_Idx, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_Tbl_Idx, ML_AT_SEARCHED, NO_Tbl_Idx, SH_Tbl_Idx, TRACE, and TRUE.
Referenced by check_il_for_attrs(), and process_procs_for_inlining().
void clean_up_module_files | ( | void | ) |
Definition at line 10174 of file module.c.
References file_path_tbl_idx, FP_NAME_PTR, FP_TMP_FILE, Func_Entry, Func_Exit, on_off_flags_entry::module_to_mod, on_off_flags, and TRACE.
Referenced by exit_compiler(), and main().
void collapse_interface_blk | ( | int | interface_idx | ) |
Definition at line 9530 of file module.c.
References AL_ATTR_IDX, AL_NEXT_IDX, allocate_mod_link_tbl(), assign_new_idxs(), AT_DEF_COLUMN, AT_DEF_LINE, ATD_TYPE_IDX, ATI_FIRST_SPECIFIC_IDX, ATI_PROC_IDX, ATP_MAY_INLINE, attr_tbl_idx, BD_FREE_LIST_IDX, BD_NEXT_FREE_NTRY, BLK_AT_IDX, BLK_BD_IDX, BLK_CN_IDX, BLK_NP_IDX, BLK_SB_IDX, BLK_SN_IDX, blk_stk_idx, BLK_TYP_IDX, CN_TYPE_IDX, compress_tbls(), const_pool_idx, const_tbl_idx, count_derived_types, curr_scp_idx, expanded_intrinsic_list, FALSE, Func_Entry, Func_Exit, opt_flags_entry::inline_lvl, Inline_Lvl_0, Internal, ir_list_tbl_idx, ir_tbl_idx, KEEP_ATTR, keep_module_procs, LN_ATTR_IDX, LN_NAME_IDX, MAIN_SCP_IDX, ML_AT_IDX, ML_AT_LN_NAME, ML_AT_SEARCH_ME, ML_BD_IDX, ML_BD_KEEP_ME, 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_SN_KEEP_ME, ML_TYP_IDX, mod_link_tbl, mod_link_tbl_idx, NULL_IDX, num_module_derived_types, num_of_derived_types, only_update_new_tbl_entries, opt_flags, PRINTMSG(), save_const_pool_idx, save_const_tbl_idx, SCP_ATTR_IDX, SCP_IS_INTERFACE, SCP_LN_FW_IDX, SCP_LN_LW_IDX, set_mod_link_tbl_for_typ(), sh_tbl_idx, SN_ATTR_IDX, SN_SIBLING_LINK, TBL_FREE, TRACE, TRUE, and update_idxs_in_attr_entry().
Referenced by end_interface_blk(), and end_interface_body().
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().
static void compress_type_tbl | ( | int | start_type_idx | ) | [static] |
Definition at line 9781 of file module.c.
References AT_Tbl_Idx, Character, CN_Tbl_Idx, FALSE, Func_Entry, Func_Exit, idx, ML_AT_IDX, ML_CN_IDX, ML_TYP_IDX, ML_TYP_KEEP_ME, NUM_TYP_WDS, Structure, TRACE, TRUE, TYP_FLD, TYP_IDX, TYP_ORIG_LEN_IDX, TYP_TYPE, type_tbl, and type_tbl_idx.
Referenced by compress_tbls().
void create_mod_info_file | ( | void | ) |
Definition at line 492 of file module.c.
References AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_NAME_IDX, AT_NAME_LEN, AT_OBJ_NAME_PTR, ATP_PGM_UNIT, cmd_line_flags_entry::binary_output, CLEAR_TBL_NTRY, cmd_line_flags, curr_scp_idx, Current_Compile_Fp, DOT, dump_flags, EQUAL_STRS, Error, FALSE, File_Fp, file_path_tbl, file_path_tbl_idx, FP_CLASS, FP_FILE_IDX, FP_MODULE_IDX, FP_NAME_IDX, FP_NAME_LEN, FP_NAME_PTR, FP_NEXT_FILE_IDX, FP_OFFSET, FP_OUTPUT_TO_O, FP_SRCH_THE_FILE, FP_TMP_FILE, Func_Entry, Func_Exit, GA_OBJ_CLASS, GAC_PGM_UNIT_IDX, GAP_FP_IDX, GN_ATTR_IDX, idx, inline_path_idx, Internal, MAIN_SCP_IDX, MD_NAME_LEN, MD_NAME_LONG, mit_header, mod_file_name, cmd_line_flags_entry::mod_out_path, mod_out_path, Module, module_path_idx, module_suffix_fix, on_off_flags_entry::module_to_mod, name_pool_entry::name_long, name_pool, dump_flags_entry::no_module_output, ntr_global_name_tbl(), NULL, NULL_IDX, num_prog_unit_errors, on_off_flags, dump_flags_entry::preinline, preinline_file, PRINTMSG(), SCP_ATTR_IDX, SCP_FILE_PATH_IDX, SCP_IN_ERR, SLASH, src_file, srch_global_name_tbl(), str_pool, str_pool_idx, strcpy, TBL_REALLOC_CK, TRACE, TRUE, mit_header_entry::wd, and WORD_LEN.
Referenced by main().
void create_mod_info_tbl | ( | void | ) |
Definition at line 911 of file module.c.
References allocate_mod_link_tbl(), AT_OBJ_CLASS, AT_PRIVATE, AT_USE_ASSOCIATED, ATD_CLASS, ATD_SYMBOLIC_CONSTANT, ATP_PGM_UNIT, ATP_PROC, Constant, Data_Obj, dump_flags, FALSE, Func_Entry, Func_Exit, IS_STMT_ENTITY, KEEP_ATTR, Label, LN_ATTR_IDX, MAIN_SCP_IDX, ML_AT_KEEP_ME, ML_LN_IDX, ML_LN_KEEP_ME, Module, Module_Proc, NULL, num_prog_unit_errors, Pgm_Unit, dump_flags_entry::preinline, SCP_ATTR_IDX, SCP_LN_FW_IDX, SCP_LN_LW_IDX, search_for_duplicate_attrs, TRACE, and TRUE.
Referenced by cvrt_proc_to_pdg(), cvrt_to_pdg(), main(), and send_mod_file_name().
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().
static void find_files_in_directory | ( | int | dir_idx | ) | [static] |
Definition at line 9871 of file module.c.
References DIR, Directory_Fp, DOT, EQUAL_STRS, FALSE, FP_CLASS, FP_NAME, FP_NAME_PTR, FP_SRCH_THE_FILE, FP_SYSTEM_FILE, Func_Entry, Func_Exit, inline_search, is_directory(), Mod_File_Fp, module_suffix_fix, on_off_flags_entry::module_to_mod, ntr_file_in_fp_tbl(), NULL_IDX, on_off_flags, path, stat, strcpy, TRACE, and TRUE.
Referenced by find_prog_unit_tbl().
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().
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().
int make_ro_entry | ( | int | module_idx, |
int | ro_idx, | ||
boolean | rename_entry | ||
) |
Definition at line 290 of file module.c.
References ATP_USE_LIST, CHECK_TBL_ALLOC_SIZE, CLEAR_TBL_NTRY, compare_names(), FALSE, Func_Entry, Func_Exit, NTR_NAME_POOL, NULL, NULL_IDX, prev_idx, rename_only_tbl, rename_only_tbl_idx, RO_COLUMN_NUM, RO_LINE_NUM, RO_NAME_IDX, RO_NAME_LEN, RO_NAME_LONG, RO_NEXT_IDX, RO_RENAME_NAME, token, TOKEN_COLUMN, TOKEN_ID, TOKEN_LEN, TOKEN_LINE, TRACE, and TRUE.
Referenced by parse_only_spec(), and parse_use_stmt().
static void merge_interfaces | ( | int | new_interface_idx, |
int | old_interface_idx | ||
) | [static] |
Definition at line 8757 of file module.c.
References AT_ATTR_LINK, AT_IS_INTRIN, AT_MODULE_IDX, AT_ORIG_NAME_LEN, AT_ORIG_NAME_LONG, ATI_FIRST_SPECIFIC_IDX, ATI_NUM_SPECIFICS, ATP_MODULE_STR_IDX, compare_names(), FALSE, Func_Entry, Func_Exit, ML_AT_IDX, ML_AT_KEEP_ME, ML_AT_SEARCHED, NULL_IDX, resolve_attr(), SN_ATTR_IDX, SN_SIBLING_LINK, TRACE, and TRUE.
Referenced by not_visible_semantics().
static void not_visible_semantics | ( | int | new_attr_idx, |
int | old_name_idx, | ||
int | module_attr_idx | ||
) | [static] |
Definition at line 8359 of file module.c.
References AT_ACTUAL_ARG, AT_ATTR_LINK, AT_CIF_SYMBOL_ID, AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_DEFINED, AT_MODULE_IDX, AT_NAME_IDX, AT_NAME_LEN, AT_NOT_VISIBLE, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_ORIG_NAME_LEN, AT_ORIG_NAME_LONG, AT_REFERENCED, AT_Tbl_Idx, AT_USE_ASSOCIATED, AT_WORK_IDX, ATD_CLASS, ATD_CONST_IDX, ATD_FLD, ATD_SYMBOLIC_CONSTANT, ATD_VARIABLE_TMP_IDX, ATI_DEFINED_OPR, ATI_INTERFACE_CLASS, ATI_PROC_IDX, ATP_FIRST_IDX, ATP_IN_CURRENT_COMPILE, ATP_MODULE_STR_IDX, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_RSLT_IDX, ATP_RSLT_NAME, ATT_FIRST_CPNT_IDX, compare_names(), Constant, COPY_ATTR_NTRY, curr_scp_idx, Data_Obj, Derived_Type, Dummy_Argument, Error, FALSE, fnd_semantic_err(), Func_Entry, Func_Exit, Function, IL_IDX, IL_NEXT_LIST_IDX, IL_Tbl_Idx, Interface, Internal, KEEP_ATTR, Label, LN_ATTR_IDX, LN_DEF_LOC, LN_NAME_IDX, LN_NAME_LEN, merge_interfaces(), ML_AT_IDX, ML_AT_KEEP_ME, Module, Not_Referenced, NULL_IDX, num_prog_unit_errors, Obj_Construct, only_update_new_tbl_entries, Pgm_Unit, PRINTMSG(), SCP_ATTR_IDX, SN_ATTR_IDX, SN_SIBLING_LINK, srch_kwd_name(), stmt_start_line, Subroutine, TRACE, TRUE, and Variable.
Referenced by use_stmt_semantics().
static int ntr_file_in_fp_tbl | ( | int | dir_idx, |
char * | path, | ||
int | fp_idx | ||
) | [static] |
Definition at line 10012 of file module.c.
References CLEAR_TBL_NTRY, file_path_tbl, file_path_tbl_idx, FP_CLASS, FP_FILE_IDX, FP_NAME_IDX, FP_NAME_LEN, FP_NAME_PTR, FP_NEXT_FILE_IDX, FP_SRCH_THE_FILE, FP_SYSTEM_FILE, Func_Entry, Func_Exit, name_pool_entry::name_long, NULL_IDX, str_pool, str_pool_idx, strcpy, TBL_REALLOC_CK, TRACE, TRUE, Unknown_Fp, and WORD_LEN.
Referenced by find_files_in_directory().
static FILE * open_module_file | ( | int | module_attr_idx, |
int | fp_file_idx | ||
) | [static] |
Definition at line 5347 of file module.c.
References AT_DEF_COLUMN, AT_DEF_LINE, AT_OBJ_NAME_PTR, Directory_Fp, errno, FALSE, FP_CLASS, FP_FILE_IDX, FP_NAME_PTR, FP_SRCH_THE_FILE, Func_Entry, Func_Exit, mod_file_end_offset, NULL, NULL_IDX, PRINTMSG(), TRACE, and Warning.
Referenced by find_prog_unit_tbl().
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().
static void print_mod_tbl | ( | void | ) | [static] |
Definition at line 10800 of file module.c.
References boolean_str, debug_file, fprintf(), Func_Entry, Func_Exit, idx, init_debug_file(), MD_ALTERNATE_ENTRY, MD_CF77TYPES, MD_DALIGN, MD_DEFAULT32, MD_DEFAULT_INTEGER_TYPE, MD_ENABLE_DOUBLE_PRECISION, MD_FLOAT64, MD_HAS_ERRORS, MD_MODULE, MD_NAME_LEN, MD_NAME_PTR, MD_NUM_ENTRIES, MD_PDT_HDR_LEN, MD_PDT_HDR_TYPE, MD_POINTER8, MD_TARGET, MD_TBL_TYPE, MD_VERSION_NUM, Num_Of_Tbls, tbl_type_str, and TRACE.
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().
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().
static boolean read_module_tbl_header | ( | int | module_attr_idx, |
int | fp_module_idx, | ||
FILE * | mod_file_ptr | ||
) | [static] |
Definition at line 6047 of file module.c.
References AT_DEF_COLUMN, AT_DEF_LINE, AT_NAME_LEN, AT_OBJ_NAME_LONG, AT_OBJ_NAME_PTR, compare_names(), COMPILER_INFO_TABLE_TYPE, Error, FALSE, FP_OFFSET, FSEEK, Func_Entry, Func_Exit, MD_AFTER_PDT, MD_NAME_LEN, MD_NAME_LONG, MD_PDT_HDR_LEN, MD_PDT_HDR_TYPE, MD_PDT_HEADER_BYTE_SIZE, MD_TBL_BYTE_SIZE, mit_header, NULL, NULL_IDX, PRINTMSG(), TRACE, and TRUE.
Referenced by find_prog_unit_tbl().
static boolean read_sytb_from_module_file | ( | int | module_attr_idx, |
FILE * | mod_file_ptr, | ||
char * | mod_info_tbl | ||
) | [static] |
Definition at line 6614 of file module.c.
References AT_DEF_COLUMN, AT_DEF_LINE, AT_OBJ_NAME_PTR, attr_aux_tbl, attr_aux_tbl_idx, Attr_Tbl, attr_tbl, attr_tbl_idx, Bounds_Tbl, bounds_tbl, bounds_tbl_idx, CHECK_TBL_ALLOC_SIZE, Const_Pool, const_pool, const_pool_idx, Const_Tbl, const_tbl, const_tbl_idx, Error, EXIT, FALSE, free(), FSEEK, Func_Entry, Func_Exit, idx, inline_search, IR_DV_DIM, Ir_List_Tbl, ir_list_tbl, ir_list_tbl_idx, IR_OPR, IR_RANK, Ir_Tbl, ir_tbl, ir_tbl_idx, keep_module_procs, Loc_Name_Tbl, loc_name_tbl, loc_name_tbl_idx, MD_LAST_4_0_VERSION, MD_NEW_CONST_TBL, MD_NUM_ENTRIES, MD_TBL_TYPE, MD_VERSION_NUM, Name_Pool, name_pool, name_pool_idx, NULL, Num_Of_Tbls, OLD_IR_DV_DIM, OLD_IR_OPR, OLD_IR_RANK, OLD_NUM_CN_WDS, Pragma, PRINTMSG(), save_const_tbl_idx, Sec_Name_Tbl, sec_name_tbl, sec_name_tbl_idx, Sh_Tbl, sh_tbl, sh_tbl_idx, size, Stor_Blk_Tbl, stor_blk_tbl, stor_blk_tbl_idx, TRACE, TRUE, Type_Tbl, type_tbl, and type_tbl_idx.
Referenced by read_in_module_tbl().
static boolean rename_only_semantics | ( | int | module_attr_idx, |
boolean | use_only | ||
) | [static] |
Definition at line 4304 of file module.c.
References AT_CIF_SYMBOL_ID, AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_MODULE_IDX, AT_NAME_IDX, AT_NAME_LEN, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_ORIG_MODULE_IDX, AT_ORIG_NAME_IDX, AT_ORIG_NAME_LEN, AT_Tbl_Idx, AT_USE_ASSOCIATED, ATD_CLASS, ATD_CONST_IDX, ATD_EQUIV, ATD_FLD, ATI_PROC_IDX, ATP_PGM_UNIT, ATP_RSLT_IDX, ATP_RSLT_NAME, ATP_SCP_ALIVE, ATP_USE_LIST, attr_tbl_idx, BASIC_RECS, cif_flags, cif_rename_rec(), CIF_Symbol_Declaration, CIF_Symbol_Reference, cif_usage_rec(), CLEAR_TBL_NTRY, compare_names(), Constant, COPY_ATTR_NTRY, curr_scp_idx, Data_Obj, Error, FALSE, Func_Entry, Func_Exit, idx, Interface, 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, loc_name_tbl_idx, MD_NUM_ENTRIES, ML_AT_LN_NAME, mod_link_tbl, mod_link_tbl_idx, Module, name_pool_idx, NO_Tbl_Idx, NTR_ATTR_TBL, NTR_NAME_POOL, NULL, NULL_IDX, Pgm_Unit, PRINTMSG(), RO_COLUMN_NUM, RO_DUPLICATE_RENAME, RO_LINE_NUM, RO_NAME_ATTR, RO_NAME_IDX, RO_NAME_LEN, RO_NAME_LONG, RO_NAME_PTR, RO_NEXT_IDX, RO_RENAME_IDX, SCP_LN_FW_IDX, SCP_LN_LW_IDX, SET_IMPL_TYPE, srch_sym_tbl(), TBL_REALLOC_CK, TRACE, TRUE, and XREF_RECS.
Referenced by use_stmt_semantics().
static void resolve_all_components | ( | int | attr_idx, |
int | srch_attr_idx | ||
) | [static] |
Definition at line 9482 of file module.c.
References ATD_TYPE_IDX, ATT_FIRST_CPNT_IDX, FALSE, Func_Entry, Func_Exit, ML_AT_IDX, ML_AT_KEEP_ME, NULL_IDX, SN_ATTR_IDX, SN_SIBLING_LINK, Structure, TRACE, TYP_IDX, and TYP_TYPE.
Referenced by resolve_attr().
static boolean resolve_attr | ( | int | attr_idx | ) | [static] |
Definition at line 9204 of file module.c.
References AT_ATTR_LINK, AT_IS_INTRIN, AT_MODULE_IDX, AT_MODULE_OBJECT, AT_NAME_LEN, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_ORIG_NAME_LEN, AT_ORIG_NAME_LONG, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CLASS, ATD_CONST_IDX, ATD_FLD, ATD_TYPE_IDX, ATD_VARIABLE_TMP_IDX, ATP_FIRST_IDX, ATP_MODULE_STR_IDX, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_PROC, ATP_RSLT_IDX, ATT_FIRST_CPNT_IDX, compare_names(), Constant, Data_Obj, Derived_Type, Dummy_Argument, Dummy_Proc, EXIT, FALSE, FOUND, Func_Entry, Func_Exit, Function, Function_Result, HN_ATTR_IDX, HN_NAME_IDX, IL_IDX, IL_NEXT_LIST_IDX, IL_Tbl_Idx, Interface, Label, ML_AT_IDX, ML_AT_KEEP_ME, ML_AT_LN_NAME, ML_AT_SEARCHED, ntr_hidden_name_tbl(), NULL_IDX, Pgm_Unit, remove_hidden_name_ntry(), resolve_all_components(), SN_ATTR_IDX, SN_SIBLING_LINK, srch_hidden_name_tbl(), srch_sym_tbl(), Struct_Component, Structure, Subroutine, TRACE, TRUE, TYP_TYPE, and Variable.
Referenced by merge_interfaces(), set_mod_link_tbl_for_attr(), and use_stmt_semantics().
static void resolve_used_modules | ( | int | module_attr_idx | ) | [static] |
Definition at line 8982 of file module.c.
References AL_ATTR_IDX, AL_NEXT_IDX, AL_PREV_MODULE_IDX, AT_ATTR_LINK, AT_DEF_COLUMN, AT_DEF_LINE, AT_IGNORE_ATTR_LINK, AT_MODULE_IDX, AT_OBJ_NAME_PTR, AT_REFERENCED, AT_Tbl_Idx, ATP_INDIRECT_MODULE, ATP_MOD_PATH_IDX, ATP_MOD_PATH_NAME_PTR, ATP_SCP_ALIVE, BASIC_RECS, Caution, cif_flags, CIF_Symbol_Is_Hidden_Used_Module, cif_usage_rec(), cif_use_module_rec(), curr_scp_idx, FALSE, free_attr_list(), Func_Entry, Func_Exit, Internal, list_of_modules_in_module, ML_AT_IDX, ML_AT_KEEP_ME, Not_Referenced, NULL_IDX, prev_idx, PRINTMSG(), SCP_USED_MODULE_LIST, TRACE, TRUE, and XREF_RECS.
Referenced by use_stmt_semantics().
static void set_attr_flds_for_output | ( | void | ) | [static] |
Definition at line 1033 of file module.c.
References AT_DEFINED, AT_NAME_IDX, AT_NAME_LEN, AT_OBJ_CLASS, AT_ORIG_NAME_IDX, AT_ORIG_NAME_LEN, ATD_CLASS, ATD_SF_ARG_IDX, ATD_SF_DARG, ATD_SF_LINK, ATD_TMP_GEN_ZERO, ATI_HAS_NON_MOD_PROC, ATP_INTERFACE_IDX, ATP_MODULE_STR_IDX, ATP_PGM_UNIT, ATP_PROC, ATP_SCP_IDX, ATT_CIF_DT_ID, ATT_SCP_IDX, attr_tbl_idx, Compiler_Tmp, Data_Obj, Derived_Type, Dummy_Argument, FALSE, Func_Entry, Func_Exit, Interface, Intrin_Proc, Label, Module, Namelist_Grp, NULL, NULL_IDX, Pgm_Unit, Stmt_Func, and TRACE.
Referenced by output_mod_info_file().
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.
static void set_mod_link_tbl_for_bd | ( | int | bd_idx | ) | [static] |
Definition at line 1695 of file module.c.
References AT_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_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, CN_Tbl_Idx, Deferred_Shape, Func_Entry, Func_Exit, KEEP_ATTR, KEEP_CN, ML_BD_IDX, ML_BD_KEEP_ME, NULL, TRACE, and TRUE.
Referenced by set_mod_link_tbl_for_attr().
static void set_mod_link_tbl_for_cn | ( | int | cn_idx | ) | [static] |
Definition at line 1928 of file module.c.
References BYTES_TO_WORDS, Character, CN_EXTRA_ZERO_WORD, CN_INT_TO_C, CN_POOL_IDX, CN_Tbl_Idx, CN_TYPE_IDX, Complex, Complex_4, size_offset_entry::constant, DALIGN_TEST_CONDITION, F_INT_TO_C, size_offset_entry::fld, Func_Entry, Func_Exit, size_offset_entry::idx, Internal, len, ML_CN_IDX, ML_CN_KEEP_ME, ML_CP_DALIGN_ME, ML_CP_IDX, ML_CP_KEEP_ME, ML_CP_LEN, NULL, NULL_IDX, PRINTMSG(), set_mod_link_tbl_for_typ(), stmt_start_col, stmt_start_line, storage_bit_size_tbl, STORAGE_WORD_SIZE, TRACE, TRUE, TYP_BIT_LEN, TYP_IDX, TYP_LINEAR, TYP_TYPE, size_offset_entry::type_idx, and Typeless.
static void set_mod_link_tbl_for_il | ( | int | list_idx | ) | [static] |
Definition at line 1869 of file module.c.
References AT_Tbl_Idx, CN_Tbl_Idx, Func_Entry, Func_Exit, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_Tbl_Idx, IR_Tbl_Idx, KEEP_ATTR, KEEP_CN, KEEP_IR, ML_IL_IDX, ML_IL_KEEP_ME, NO_Tbl_Idx, NULL, NULL_IDX, SH_Tbl_Idx, TRACE, and TRUE.
Referenced by set_mod_link_tbl_for_attr(), and set_mod_link_tbl_for_ir().
static void set_mod_link_tbl_for_ir | ( | int | ir_idx | ) | [static] |
Definition at line 1789 of file module.c.
References AT_Tbl_Idx, CN_Tbl_Idx, Func_Entry, Func_Exit, IL_Tbl_Idx, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_Tbl_Idx, IR_TYPE_IDX, KEEP_ATTR, KEEP_CN, KEEP_IR, ML_IR_IDX, ML_IR_KEEP_ME, NO_Tbl_Idx, NULL, set_mod_link_tbl_for_il(), set_mod_link_tbl_for_typ(), SH_Tbl_Idx, TRACE, and TRUE.
static void set_mod_link_tbl_for_typ | ( | int | typ_idx | ) | [static] |
Definition at line 2031 of file module.c.
References AT_ATTR_LINK, AT_Tbl_Idx, Character, CN_Tbl_Idx, Func_Entry, Func_Exit, KEEP_ATTR, KEEP_CN, ML_TYP_IDX, ML_TYP_KEEP_ME, NULL, NULL_IDX, Structure, TRACE, TRUE, TYP_FLD, TYP_IDX, and TYP_TYPE.
Referenced by collapse_interface_blk(), set_mod_link_tbl_for_attr(), set_mod_link_tbl_for_cn(), and set_mod_link_tbl_for_ir().
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] |
Definition at line 5426 of file module.c.
References AR_HDR_SIZE, AT_DEF_COLUMN, AT_DEF_LINE, AT_OBJ_NAME_PTR, Error, EXIT, FALSE, FP_OFFSET, FP_SRCH_THE_FILE, FP_SYSTEM_FILE, FSEEK, Func_Entry, Func_Exit, idx, L, on_off_flags_entry::module_to_mod, NULL, on_off_flags, PRINTMSG(), size, srch_for_module_tbl(), TRACE, and TRUE.
Referenced by find_prog_unit_tbl().
static boolean srch_for_module_tbl | ( | int | module_attr_idx, |
int * | fp_module_idx, | ||
int | fp_file_idx, | ||
int | size, | ||
FILE * | mod_file_ptr | ||
) | [static] |
Definition at line 5793 of file module.c.
References Archive_File_Fp, AT_DEF_COLUMN, AT_DEF_LINE, AT_NAME_LEN, AT_OBJ_NAME_LONG, AT_OBJ_NAME_PTR, CLEAR_TBL_NTRY, compare_names(), COMPILER_INFO_TABLE_TYPE, dump_flags, dump_pdt(), Error, FALSE, file_path_tbl, file_path_tbl_idx, FP_CLASS, FP_FILE_IDX, FP_MODULE_IDX, FP_NAME_IDX, FP_NAME_LEN, FP_OFFSET, FP_SRCH_THE_FILE, FSEEK, Func_Entry, Func_Exit, idx, Inline_Fp, inline_search, MD_AFTER_PDT, MD_NAME_LEN, MD_NAME_LONG, MD_PDT_HDR_LEN, MD_PDT_HDR_TYPE, MD_PDT_HEADER_BYTE_SIZE, MD_TBL_BYTE_SIZE, mit_header, Module_Fp, name_pool_entry::name_long, NULL, NULL_IDX, dump_flags_entry::pdt_dump, print_fp(), PRINTMSG(), str_pool, str_pool_idx, TBL_REALLOC_CK, TRACE, TRUE, and WORD_LEN.
Referenced by find_prog_unit_tbl(), and srch_ar_file_for_module_tbl().
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().
static void update_intrinsic | ( | int | mod_interface_idx | ) | [static] |
Definition at line 10220 of file module.c.
References AT_IS_INTRIN, AT_NAME_IDX, AT_NAME_LEN, AT_OBJ_NAME_PTR, AT_ORIG_NAME_IDX, AT_ORIG_NAME_LEN, AT_ORIG_NAME_PTR, ATI_FIRST_SPECIFIC_IDX, ATI_INTRIN_TBL_IDX, ATI_NUM_SPECIFICS, attr_tbl_idx, CLEAR_TBL_NTRY, complete_intrinsic_definition(), curr_scp_idx, expanded_intrinsic_list, FALSE, Func_Entry, Func_Exit, idx, Internal, INTRINSIC_SCP_IDX, ML_AT_IDX, mod_link_tbl, mod_link_tbl_idx, name_pool_idx, NULL_IDX, PRINTMSG(), sec_name_tbl_idx, SN_ATTR_IDX, SN_SIBLING_LINK, srch_sym_tbl(), stmt_start_line, TBL_REALLOC_CK, TRACE, and TRUE.
Referenced by assign_new_idxs_after_input().
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().
boolean alternate_entry [static] |
Definition at line 250 of file module.c.
Referenced by assign_new_idxs_after_input(), find_prog_unit_tbl(), and read_in_module_tbl().
char compiler_gen_date[] |
boolean count_derived_types [static] |
Definition at line 251 of file module.c.
Referenced by collapse_interface_blk(), compress_tbls(), output_mod_info_file(), and use_stmt_semantics().
boolean inline_search [static] |
Definition at line 253 of file module.c.
Referenced by assign_new_idxs_after_input(), find_files_in_directory(), find_prog_unit_tbl(), read_in_module_tbl(), read_sytb_from_module_file(), and srch_for_module_tbl().
int list_of_modules_in_module [static] |
Definition at line 254 of file module.c.
Referenced by assign_new_idxs_after_input(), resolve_used_modules(), and use_stmt_semantics().
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().
long num_module_derived_types [static] |
Definition at line 256 of file module.c.
Referenced by collapse_interface_blk(), compress_tbls(), output_mod_info_file(), and use_stmt_semantics().
boolean only_update_new_tbl_entries [static] |
Definition at line 252 of file module.c.
Referenced by collapse_interface_blk(), compress_tbls(), not_visible_semantics(), and use_stmt_semantics().
int save_const_pool_idx [static] |
Definition at line 257 of file module.c.
Referenced by assign_new_idxs(), collapse_interface_blk(), output_mod_info_file(), read_in_module_tbl(), and use_stmt_semantics().
int save_const_tbl_idx [static] |
Definition at line 258 of file module.c.
Referenced by assign_new_idxs(), collapse_interface_blk(), output_mod_info_file(), read_in_module_tbl(), read_sytb_from_module_file(), and use_stmt_semantics().
boolean search_for_duplicate_attrs [static] |
Definition at line 259 of file module.c.
Referenced by create_mod_info_tbl(), and set_mod_link_tbl_for_attr().