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 "s_globals.m"
#include "debug.m"
#include "globals.h"
#include "tokens.h"
#include "sytb.h"
#include "s_globals.h"
#include "s_driver.h"
Go to the source code of this file.
Functions | |
static void | attr_link_resolution (void) |
static void | check_and_allocate_common_storage (int) |
static boolean | compare_global_args (int, int, int, int, int) |
static boolean | compare_global_array (int, int, int) |
static boolean | compare_global_derived_type (int, int, int) |
static boolean | compare_global_type_rank (int, int, int, int, boolean) |
static void | decl_semantics_driver (void) |
static void | free_stmt_tmp_tbl (void) |
static void | final_attr_semantics (int) |
static void | final_decl_semantics (void) |
static void | final_equivalence_semantics (void) |
static void | find_host_associated_attrs_in_il (int) |
static void | find_host_associated_attrs_in_ir (int) |
static void | init_call_structs (void) |
static void | pgm_unit_semantics (void) |
static void | reset_stmt_tmp_tbl (void) |
static void | storage_blk_resolution (void) |
static void | gen_user_code_start_opr (void) |
static void | insert_global_sh (void) |
static void | check_multiple_entry_func (void) |
void | semantics_pass_driver (void) |
void | illegal_stmt_type (void) |
void | no_semantics_routine (void) |
void | host_associated_attr_semantics (int attr_idx, boolean add_to_attr_list) |
void | label_def_stmt_semantics (void) |
void | interface_semantics_pass_driver (void) |
int | check_global_pgm_unit (int attr_idx) |
void | set_up_which_entry_tmp (void) |
void | global_name_semantics (int def_ga_idx, int ref_ga_idx, int list_idx, int spec_idx, int attr_idx) |
Variables | |
static char | USMID [] = "\n@(#)5.0_pl/sources/s_driver.c 5.13 10/26/99 13:48:21\n" |
static int | symbolic_constant_array_list |
static void attr_link_resolution | ( | void | ) | [static] |
Definition at line 600 of file s_driver.c.
References Assumed_Size_Char, AT_ACCESS_SET, AT_ATTR_LINK, AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_HOST_ASSOCIATED, AT_NAME_IDX, AT_NAME_LEN, AT_NOT_VISIBLE, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_PRIVATE, AT_REFERENCED, AT_USE_ASSOCIATED, ATD_ARRAY_IDX, ATD_CLASS, ATD_IM_A_DOPE, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATP_EXPL_ITRFC, ATP_EXTRA_DARG, ATP_FIRST_IDX, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_RSLT_IDX, ATP_SCP_IDX, ATT_SCP_IDX, attr_tbl_idx, Character, chg_data_obj_to_pgm_unit(), curr_scp_idx, Data_Obj, Derived_Type, Dummy_Argument, Extern_Proc, FALSE, fnd_semantic_err(), Func_Entry, Func_Exit, Function, host_associated_attr_semantics(), Internal, IS_STMT_ENTITY, LN_ATTR_IDX, LN_DEF_LOC, LN_NAME_IDX, LN_NAME_LEN, loc_name_tbl_idx, Module, name_pool, Not_Referenced, NTR_SN_TBL, NULL, NULL_IDX, Obj_Use_Derived_Type, Obj_Use_Extern_Func, Obj_Use_Extern_Subr, Pgm_Unit, PRINTMSG(), Referenced, SCP_ATTR_IDX, SCP_LN_FW_IDX, SCP_LN_LW_IDX, SCP_PARENT_IDX, SCP_SB_DARG_IDX, SN_ATTR_IDX, SN_COLUMN_NUM, SN_LINE_NUM, SN_NAME_IDX, SN_NAME_LEN, srch_host_sym_tbl(), srch_sym_tbl(), stmt_start_col, stmt_start_line, Structure, Subroutine, TRACE, TRUE, TYP_CHAR_CLASS, and TYP_TYPE.
Referenced by decl_semantics_driver().
static void check_and_allocate_common_storage | ( | int | sb_idx | ) | [static] |
Definition at line 2765 of file s_driver.c.
References align_bit_length(), Ansi, assign_offset(), AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_IS_INTRIN, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_REFERENCED, ATD_CLASS, ATD_EQUIV, ATD_IN_COMMON, ATD_NEXT_MEMBER_IDX, ATD_OFFSET_ASSIGNED, ATD_OFFSET_FLD, ATD_OFFSET_IDX, ATP_PROC, C_TO_F_INT, Caution, CG_INTEGER_DEFAULT_TYPE, cmd_line_flags, CN_INTEGER_BITS_PER_WORD_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, Constant, size_offset_entry::constant, curr_scp_idx, cmd_line_flags_entry::dalign, Data_Obj, Dcl_Bound_Ref, EQ_ATTR_IDX, EQ_COLUMN_NUM, EQ_DALIGN_ME, EQ_DALIGN_SHIFT, EQ_LINE_NUM, EQ_NEXT_EQUIV_GRP, EQ_NEXT_EQUIV_OBJ, EQ_OFFSET_FLD, EQ_OFFSET_IDX, Eq_Opr, Error, EXIT, FALSE, size_offset_entry::fld, fold_relationals(), FOUND, Func_Entry, Func_Exit, GET_MESSAGE_TBL, Gt_Opr, size_offset_entry::idx, Interface, Internal, Intrin_Proc, on_off_flags_entry::issue_ansi_messages, Lt_Opr, message_error_tbl, message_warning_tbl, Minus_Opr, Mod_Opr, Ne_Opr, NO_Tbl_Idx, ntr_const_tbl(), NULL, NULL_IDX, num_prog_unit_errors, on_off_flags, Pgm_Unit, Plus_Opr, PRINTMSG(), result, SB_ALIGN_SYMBOL, SB_BLANK_COMMON, SB_BLK_TYPE, SB_CACHE_ALIGN, SB_COMMON_NEEDS_OFFSET, SB_DCL_COMMON_DIR, SB_DCL_ERR, SB_DEF_COLUMN, SB_DEF_LINE, SB_FILL_SYMBOL, SB_FIRST_ATTR_IDX, SB_HOST_ASSOCIATED, SB_LEN_FLD, SB_LEN_IDX, SB_NAME_LEN, SB_NAME_PTR, SB_PAD_BLK, SB_RUNTIME_INIT, SB_SAVED, SB_SECTION_GP, SB_SECTION_NON_GP, SB_USE_ASSOCIATED, SCP_FIRST_EQUIV_GRP, size_offset_binary_calc(), size_offset_logical_calc(), srch_host_sym_tbl(), srch_sym_tbl(), stor_bit_size_of(), Task_Common, cmd_line_flags_entry::taskcommon, THIS_IS_TRUE, Threadprivate, TRACE, TRUE, size_offset_entry::type_idx, Variable, and Warning.
Referenced by storage_blk_resolution().
int check_global_pgm_unit | ( | int | attr_idx | ) |
Definition at line 4230 of file s_driver.c.
References Ansi, AT_DEF_COLUMN, AT_DEF_LINE, AT_NAME_LEN, AT_OBJ_NAME_PTR, ATP_ALT_ENTRY, ATP_EXPL_ITRFC, ATP_PGM_UNIT, ATP_SCP_ALIVE, curr_scp_idx, Error, fill_in_global_attr_ntry(), Func_Entry, Func_Exit, GA_DEFINED, GA_OBJ_CLASS, GAC_PGM_UNIT_IDX, GAP_IN_INTERFACE_BLK, GAP_NEXT_PGM_UNIT_IDX, GAP_PGM_UNIT_DEFINED, global_name_semantics(), GN_ATTR_IDX, Module, ntr_global_attr_tbl(), ntr_global_name_tbl(), NULL, NULL_IDX, pgm_unit_str, PRINTMSG(), SCP_ATTR_IDX, SCP_IS_INTERFACE, srch_global_name_tbl(), and TRACE.
Referenced by assign_new_idxs_after_input(), final_attr_semantics(), parse_module_stmt(), and parse_use_stmt().
static void check_multiple_entry_func | ( | void | ) | [static] |
Definition at line 4403 of file s_driver.c.
References After, AL_ATTR_IDX, AL_NEXT_IDX, AT_DEFINED, AT_Tbl_Idx, ATD_TYPE_IDX, ATL_DEF_STMT_IDX, ATP_RSLT_IDX, Br_Index_Opr, CG_INTEGER_DEFAULT_TYPE, Complex, Continue_Stmt, curr_scp_idx, curr_stmt_sh_idx, FALSE, Func_Entry, Func_Exit, gen_internal_lbl(), gen_sh(), Goto_Stmt, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_Tbl_Idx, 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_CNT_R, IR_OPR, IR_TYPE_IDX, Label_Opr, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, Real, Return_Opr, Return_Stmt, SCP_ALT_ENTRY_CNT, SCP_ATTR_IDX, SCP_ENTRY_IDX, SCP_LAST_SH_IDX, SCP_RETURN_LABEL, SCP_WHICH_ENTRY_TMP, set_up_which_entry_tmp(), SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, SH_P2_SKIP_ME, TRACE, TRUE, TYP_LINEAR, TYP_TYPE, and TYPELESS_DEFAULT_TYPE.
Referenced by decl_semantics_driver().
static boolean compare_global_args | ( | int | def_type, |
int | def_linear_type, | ||
int | ref_type, | ||
int | ref_linear_type, | ||
int | ref_hollerith | ||
) | [static] |
Definition at line 6808 of file s_driver.c.
References Character, Complex, CRI_Ptr, FALSE, Func_Entry, Func_Exit, H_Hollerith, Integer, L_Hollerith, NULL, num_host_wds, Real, Short_Typeless_Const, TRACE, TRUE, and Typeless.
Referenced by global_name_semantics().
static boolean compare_global_array | ( | int | gb_idx, |
int | gb2_idx, | ||
int | bd_idx | ||
) | [static] |
Definition at line 6699 of file s_driver.c.
References BD_ARRAY_CLASS, BD_ARRAY_SIZE, BD_GLOBAL_IDX, BD_LB_IDX, BD_RANK, BD_UB_IDX, CN_CONST, CN_TYPE_IDX, compare_target_consts(), Constant_Size, Eq_Opr, Explicit_Shape, FALSE, Func_Entry, Func_Exit, GB_ARRAY_CLASS, GB_ARRAY_SIZE, GB_LB_TYPE, GB_LOWER_BOUND, GB_RANK, GB_UB_TYPE, GB_UPPER_BOUND, GT_LINEAR_TYPE, NULL, NULL_IDX, TRACE, and TRUE.
Referenced by compare_global_derived_type(), and compare_global_type_rank().
static boolean compare_global_derived_type | ( | int | ga_idx, |
int | ga2_idx, | ||
int | attr_idx | ||
) | [static] |
Definition at line 6428 of file s_driver.c.
References AT_ATTR_LINK, AT_MODULE_IDX, AT_NAME_LEN, AT_OBJ_NAME_LONG, AT_ORIG_NAME_LEN, AT_ORIG_NAME_LONG, AT_USE_ASSOCIATED, ATD_ARRAY_IDX, ATD_POINTER, ATD_TYPE_IDX, ATP_GLOBAL_ATTR_IDX, ATT_FIRST_CPNT_IDX, ATT_GLOBAL_TYPE_IDX, ATT_NUM_CPNTS, ATT_PRIVATE_CPNT, ATT_SEQUENCE_SET, ATT_STRUCT_BIT_LEN_IDX, Character, CN_CONST, CN_TYPE_IDX, compare_global_array(), compare_names(), compare_target_consts(), Eq_Opr, FALSE, Func_Entry, Func_Exit, GA_MODULE_IDX, GA_NAME_LEN, GA_OBJ_NAME_LONG, GA_ORIG_NAME_LEN, GA_ORIG_NAME_LONG, GA_USE_ASSOCIATED, GAD_ARRAY_IDX, GAD_POINTER, GAD_TYPE_IDX, GAT_FIRST_CPNT_IDX, GAT_NUM_CPNTS, GAT_PRIVATE_CPNT, GAT_SEQUENCE_SET, GAT_STRUCT_BIT_LEN, GAT_STRUCT_LIN_TYPE, GT_LENGTH, GT_LENGTH_LIN_TYPE, GT_LINEAR_TYPE, GT_STRUCT_IDX, GT_TYPE, NULL, NULL_IDX, SN_ATTR_IDX, SN_SIBLING_LINK, Structure, TRACE, TRUE, TYP_IDX, TYP_LINEAR, and TYP_TYPE.
Referenced by compare_global_type_rank(), and global_name_semantics().
static boolean compare_global_type_rank | ( | int | def_ga_idx, |
int | ref_ga_idx, | ||
int | attr_idx, | ||
int | il_idx, | ||
boolean | full_array_compare | ||
) | [static] |
Definition at line 6321 of file s_driver.c.
References arg_info_list, ATD_ARRAY_IDX, ATD_TYPE_IDX, BD_RANK, Character, compare_global_array(), compare_global_derived_type(), arg_strct::ed, FALSE, Func_Entry, Func_Exit, GAD_ARRAY_IDX, GAD_RANK, GAD_TYPE_IDX, GT_LINEAR_TYPE, GT_STRUCT_IDX, GT_TYPE, IL_ARG_DESC_IDX, expr_semantics_args::linear_type, NULL, NULL_IDX, expr_semantics_args::rank, Structure, TRACE, TRUE, TYP_IDX, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, and expr_semantics_args::type_idx.
Referenced by global_name_semantics(), and storage_blk_resolution().
static void decl_semantics_driver | ( | void | ) | [static] |
Definition at line 435 of file s_driver.c.
References AL_ATTR_IDX, AL_NEXT_IDX, ATD_ARRAY_IDX, ATD_IM_A_DOPE, ATD_TYPE_IDX, ATP_PGM_UNIT, ATP_RSLT_IDX, ATP_SCP_ALIVE, attr_link_resolution(), BASIC_RECS, Character, check_multiple_entry_func(), cif_flags, cif_scope_info_rec(), comp_phase, curr_scp_idx, curr_stmt_sh_idx, Decl_Semantics, decl_semantics(), FALSE, Func_Entry, Func_Exit, Function, gen_user_code_start_opr(), idx, need_new_sh, NULL, NULL_IDX, SCP_ALT_ENTRY_CNT, SCP_ATTR_IDX, SCP_ENTRY_IDX, SCP_FIRST_CHILD_IDX, SCP_FIRST_SH_IDX, SCP_IN_ERR, SCP_SIBLING_IDX, SH_COL_NUM, SH_GLB_LINE, stmt_start_col, stmt_start_line, Structure, TRACE, TRUE, and TYP_TYPE.
Referenced by semantics_pass_driver().
static void final_attr_semantics | ( | int | attr_idx | ) | [static] |
Definition at line 1965 of file s_driver.c.
References ADD_ATTR_TO_LOCAL_LIST, AL_ATTR_IDX, AL_NEXT_IDX, Ansi, assign_offset(), assign_storage_blk(), AT_ATTR_LINK, AT_COMPILER_GEND, AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_HOST_ASSOCIATED, AT_IGNORE_ATTR_LINK, AT_IS_INTRIN, AT_NAME_IDX, AT_NAME_LEN, AT_NAMELIST_OBJ, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_PRIVATE, AT_REFERENCED, AT_Tbl_Idx, AT_USE_ASSOCIATED, ATD_ARRAY_IDX, ATD_AUXILIARY, ATD_CLASS, ATD_CONST_IDX, ATD_DATA_INIT, ATD_DEFINING_ATTR_IDX, ATD_EQUIV, ATD_EQUIV_IN_BNDS_EXPR, ATD_EQUIV_LIST, ATD_FLD, ATD_INTENT, ATD_NO_ENTRY_LIST, ATD_OFFSET_ASSIGNED, ATD_OFFSET_FLD, ATD_OFFSET_IDX, ATD_PE_ARRAY_IDX, ATD_POINTER, ATD_STOR_BLK_IDX, ATD_SYMBOLIC_CONSTANT, ATD_TARGET, ATD_TMP_IDX, ATD_TMP_INIT_NOT_DONE, ATD_TYPE_IDX, ATD_VARIABLE_TMP_IDX, ATD_VOLATILE, ATI_PROC_IDX, ATP_ALL_INTENT_IN, ATP_ELEMENTAL, ATP_EXPL_ITRFC, ATP_EXT_NAME_IDX, ATP_EXTRA_DARG, ATP_FIRST_IDX, ATP_GLOBAL_ATTR_IDX, ATP_HAS_ALT_RETURN, ATP_IN_INTERFACE_BLK, ATP_MODULE_STR_IDX, ATP_NAME_IN_STONE, ATP_NO_ENTRY_LIST, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_PROC, ATP_PURE, ATP_RSLT_IDX, ATS_SF_SEMANTICS_DONE, ATT_CHAR_CPNT, ATT_POINTER_CPNT, Based, BD_ARRAY_SIZE, Blockdata, CG_INTEGER_DEFAULT_TYPE, Character, check_global_pgm_unit(), CLEAR_TBL_NTRY, CLEAR_VARIANT_ATTR_INFO, CN_INT_TO_C, CN_INTEGER_BITS_PER_WORD_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, Common, Compiler_Tmp, Constant, size_offset_entry::constant, COPY_ATTR_NTRY, CRI_Ptr, curr_scp_idx, Data_Obj, Dummy_Argument, Eq_Opr, Equivalenced, Error, EXIT, Extern_Proc, F_INT_TO_C, FALSE, size_offset_entry::fld, fnd_semantic_err(), fold_relationals(), Formal, free_attr_list(), Func_Entry, Func_Exit, Function, Function_Result, glb_tbl_idx, size_offset_entry::idx, IL_IDX, IL_NEXT_LIST_IDX, IL_Tbl_Idx, Imported_Proc, insert_init_stmt_for_tmp(), Intent_In, Interface, Internal, IR_FLD_R, IR_IDX_R, IR_Tbl_Idx, Lt_Opr, Main_Attr_Idx, MAKE_EXTERNAL_NAME, Minus_Opr, Mod_Opr, Module, Module_Proc, Ne_Opr, NO_Tbl_Idx, Not_Referenced, NTR_ATTR_LIST_TBL, NTR_ATTR_TBL, ntr_const_tbl(), ntr_type_tbl(), NULL, NULL_IDX, num_prog_unit_errors, Obj_Auxiliary, Pgm_Unit, Pgm_Unknown, PRINTMSG(), Program, Referenced, result, SB_AUXILIARY, SB_BLK_TYPE, SB_DEF_MULT_SCPS, SB_HAS_RENAMES, SB_HOST_ASSOCIATED, SB_HOSTED_STACK, SB_IS_COMMON, SB_LAST_ATTR_LIST, SB_LEN_FLD, SB_LEN_IDX, SB_MERGED_BLK_IDX, SB_NAME_PTR, SB_SCP_IDX, SB_USE_ASSOCIATED, SB_VOLATILE, SCP_ATTR_IDX, SCP_FIRST_EQUIV_GRP, SCP_SB_HOSTED_STACK_IDX, SCP_SB_STACK_IDX, size, size_offset_binary_calc(), size_offset_logical_calc(), SN_ATTR_IDX, Stack, Static, Static_Local, Static_Named, Stmt_Func, stmt_func_semantics(), stor_bit_size_of(), Struct_Component, Structure, Subroutine, symbolic_constant_array_list, Symbolic_Constant_Size, Task_Common, THIS_IS_TRUE, Threadprivate, TRACE, TRUE, TYP_BIT_LEN, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYP_WORK_IDX, size_offset_entry::type_idx, type_tbl, Typeless, Unknown_Proc, Variable, and zero.
Referenced by final_decl_semantics().
static void final_decl_semantics | ( | void | ) | [static] |
Definition at line 1771 of file s_driver.c.
References AL_ATTR_IDX, AL_NEXT_IDX, align_bit_length(), assign_offset(), AT_DCL_ERR, AT_NAME_LEN, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_REF_IN_CHILD, AT_REFERENCED, AT_Tbl_Idx, ATD_CLASS, ATD_OFFSET_ASSIGNED, ATD_OFFSET_FLD, ATD_OFFSET_IDX, ATD_STOR_BLK_IDX, ATD_SYMBOLIC_CONSTANT, ATD_TYPE_IDX, ATL_ASG_LBL_CHAIN_START, BASIC_RECS, cif_flags, cif_send_sytb(), CN_INTEGER_BITS_PER_WORD_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, Constant, size_offset_entry::constant, curr_scp_idx, Data_Obj, FALSE, final_attr_semantics(), final_equivalence_semantics(), size_offset_entry::fld, fold_relationals(), Func_Entry, Func_Exit, gen_compiler_tmp(), size_offset_entry::idx, LN_ATTR_IDX, Minus_Opr, Ne_Opr, NO_Tbl_Idx, Not_Referenced, NTR_ATTR_LIST_TBL, ntr_const_tbl(), NULL, NULL_IDX, num_prog_unit_errors, Priv, Referenced, remove_ln_ntry(), result, SB_DEF_COLUMN, SB_DEF_LINE, SB_LAST_ATTR_LIST, SB_LEN_FLD, SB_LEN_IDX, SCP_ASSIGN_LBL_CHAIN, SCP_ATTR_LIST, SCP_LN_FW_IDX, SCP_LN_LW_IDX, SCP_SB_HOSTED_STACK_IDX, size_offset_binary_calc(), srch_sym_tbl(), storage_blk_resolution(), symbolic_constant_array_list, TRACE, TRUE, size_offset_entry::type_idx, TYPELESS_DEFAULT_TYPE, and Variable.
Referenced by interface_semantics_pass_driver(), and pgm_unit_semantics().
static void final_equivalence_semantics | ( | void | ) | [static] |
Definition at line 4638 of file s_driver.c.
References align_bit_length(), AT_DCL_ERR, AT_HOST_ASSOCIATED, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_OFFSET_ASSIGNED, ATD_OFFSET_FLD, ATD_OFFSET_IDX, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATT_FIRST_CPNT_IDX, ATT_NUMERIC_CPNT, C_TO_F_INT, Caution, CG_INTEGER_DEFAULT_TYPE, Character, cmd_line_flags, CN_INTEGER_BITS_PER_WORD_IDX, CN_INTEGER_NEG_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, size_offset_entry::constant, curr_scp_idx, cmd_line_flags_entry::dalign, DALIGN_TEST_CONDITION, EQ_ATTR_IDX, EQ_COLUMN_NUM, EQ_DALIGN_ME, EQ_DALIGN_SHIFT, EQ_DO_NOT_DALIGN, EQ_LINE_NUM, EQ_NEXT_EQUIV_GRP, EQ_NEXT_EQUIV_OBJ, EQ_OFFSET_FLD, EQ_OFFSET_IDX, EQ_SEMANTICS_DONE, Error, FALSE, size_offset_entry::fld, fold_relationals(), Func_Entry, Func_Exit, Gt_Opr, size_offset_entry::idx, on_off_flags_entry::integer_1_and_2, INTEGER_DEFAULT_TYPE, Lt_Opr, Mod_Opr, Mult_Opr, Ne_Opr, NO_Tbl_Idx, ntr_const_tbl(), NULL, NULL_IDX, on_off_flags, PACK_16_BIT_TEST_CONDITION, PACK_8_BIT_TEST_CONDITION, PACK_HALF_WORD_TEST_CONDITION, Plus_Opr, PRINTMSG(), result, SB_BLK_TYPE, SB_HOSTED_STACK, SB_IS_COMMON, SB_LEN_FLD, SB_LEN_IDX, SCP_FIRST_EQUIV_GRP, size_offset_binary_calc(), size_offset_logical_calc(), SN_ATTR_IDX, Static, Static_Local, Static_Named, stor_bit_size_of(), Structure, THIS_IS_TRUE, TRACE, TRUE, TYP_IDX, TYP_TYPE, size_offset_entry::type_idx, and zero.
Referenced by final_decl_semantics().
static void find_host_associated_attrs_in_il | ( | int | list_idx | ) | [static] |
Definition at line 1566 of file s_driver.c.
References AT_Tbl_Idx, CN_Tbl_Idx, find_host_associated_attrs_in_ir(), Func_Entry, Func_Exit, host_associated_attr_semantics(), IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_Tbl_Idx, IR_Tbl_Idx, NO_Tbl_Idx, NULL, NULL_IDX, SH_Tbl_Idx, TRACE, and TRUE.
Referenced by find_host_associated_attrs_in_ir(), and host_associated_attr_semantics().
static void find_host_associated_attrs_in_ir | ( | int | ir_idx | ) | [static] |
Definition at line 1501 of file s_driver.c.
References AT_Tbl_Idx, CN_Tbl_Idx, find_host_associated_attrs_in_il(), Func_Entry, Func_Exit, host_associated_attr_semantics(), IL_Tbl_Idx, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_Tbl_Idx, NO_Tbl_Idx, NULL, SH_Tbl_Idx, TRACE, and TRUE.
Referenced by find_host_associated_attrs_in_il(), and host_associated_attr_semantics().
static void free_stmt_tmp_tbl | ( | void | ) | [static] |
Definition at line 4113 of file s_driver.c.
References stmt_tmp_entry::dope_vector_tmps_head, stmt_tmp_entry::dope_vector_tmps_tail, FREE_IR_LIST_NODE, Func_Entry, Func_Exit, IL_NEXT_LIST_IDX, NULL, NULL_IDX, Num_Linear_Types, stmt_tmp_entry::scalar_tmps_head, stmt_tmp_entry::scalar_tmps_tail, stmt_tmp_tbl, and TRACE.
Referenced by pgm_unit_semantics().
static void gen_user_code_start_opr | ( | void | ) | [static] |
Definition at line 5287 of file s_driver.c.
References After, AL_ATTR_IDX, AL_NEXT_IDX, ATP_FIRST_SH_IDX, curr_scp_idx, curr_stmt_sh_idx, Directive_Stmt, FALSE, Func_Entry, Func_Exit, gen_sh(), idx, IR_COL_NUM, IR_LINE_NUM, IR_OPR, IR_TYPE_IDX, NTR_IR_TBL, NULL, SCP_ENTRY_IDX, SCP_FIRST_SH_IDX, SH_GLB_LINE, SH_IR_IDX, SH_P2_SKIP_ME, TRACE, TRUE, TYPELESS_DEFAULT_TYPE, and User_Code_Start_Opr.
Referenced by decl_semantics_driver().
void global_name_semantics | ( | int | def_ga_idx, |
int | ref_ga_idx, | ||
int | list_idx, | ||
int | spec_idx, | ||
int | attr_idx | ||
) |
Definition at line 5425 of file s_driver.c.
References arg_info_list, expr_semantics_args::array_elt, Assumed_Shape, AT_COMPILER_GEND, AT_DEF_COLUMN, AT_DEF_LINE, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_OPTIONAL, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CLASS, ATD_CONST_IDX, ATD_POINTER, ATD_TARGET, ATD_TYPE_IDX, Atd_Unknown, ATP_ELEMENTAL, ATP_EXPL_ITRFC, ATP_EXTRA_DARG, ATP_FIRST_IDX, ATP_IN_INTERFACE_BLK, ATP_NOSIDE_EFFECTS, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_PURE, ATP_RECURSIVE, ATP_RSLT_IDX, ATP_VFUNCTION, BD_ARRAY_CLASS, BD_RANK, Caution, Character, CN_HOLLERITH_TYPE, CN_Tbl_Idx, arg_strct::col, compare_global_args(), compare_global_derived_type(), compare_global_type_rank(), Constant, Data_Obj, Dummy_Argument, arg_strct::ed, Err_Res, Error, EXIT, FALSE, Func_Entry, Func_Exit, Function, FUNCTION_MUST_BE_SUBROUTINE, GA_COMPILER_GEND, GA_DEF_COLUMN, GA_DEF_LINE, GA_DEFINED, GA_OBJ_CLASS, GA_OBJ_NAME_PTR, GA_OPTIONAL, GAD_ARRAY_ELEMENT_REF, GAD_ASSUMED_SHAPE_ARRAY, GAD_CLASS, GAD_HOLLERITH, GAD_IGNORE_TKR, GAD_POINTER, GAD_RANK, GAD_TARGET, GAD_TYPE_IDX, GAP_ELEMENTAL, GAP_FIRST_IDX, GAP_GLOBAL_DIR, GAP_IN_INTERFACE_BLK, GAP_NEEDS_EXPL_ITRFC, GAP_NOSIDE_EFFECTS, GAP_NUM_DARGS, GAP_PGM_UNIT, GAP_PGM_UNIT_DEFINED, GAP_PURE, GAP_RECURSIVE, GAP_RSLT_IDX, GAP_VFUNCTION, GL_FILE_NAME_PTR, GLOBAL_LINE_TO_FILE_LINE, GT_CHAR_CLASS, GT_LINEAR_TYPE, GT_STRUCT_IDX, GT_TYPE, IL_ARG_DESC_IDX, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, Integer, Label, arg_strct::line, expr_semantics_args::linear_type, Module, Not_Hollerith, NULL, NULL_IDX, Pgm_Unit, arg_strct::pgm_unit, pgm_unit_str, Pgm_Unknown, PRINTMSG(), expr_semantics_args::rank, SN_ATTR_IDX, SN_COLUMN_NUM, SN_LINE_NUM, stmt_start_col, stmt_start_line, Structure, Subroutine, TRACE, TRUE, TYP_CHAR_CLASS, TYP_IDX, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, Var_Len_Char, and Warning.
Referenced by check_global_pgm_unit().
void host_associated_attr_semantics | ( | int | attr_idx, |
boolean | add_to_attr_list | ||
) |
Definition at line 844 of file s_driver.c.
References ADD_ATTR_TO_LOCAL_LIST, Assumed_Shape, AT_ATTR_LINK, AT_DEF_COLUMN, AT_DEF_IN_CHILD, AT_DEF_LINE, AT_DEFINED, AT_HOST_ASSOCIATED, AT_NAME_LEN, AT_OBJ_CLASS, AT_OBJ_NAME_LONG, AT_OBJ_NAME_PTR, AT_REF_IN_CHILD, AT_REFERENCED, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_AUTO_BASE_IDX, ATD_AUTOMATIC, ATD_CLASS, ATD_CONST_IDX, ATD_EQUIV, ATD_FLD, ATD_FUNC_IDX, ATD_IM_A_DOPE, ATD_PTR_IDX, ATD_SF_ARG_IDX, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATD_VARIABLE_TMP_IDX, ATN_FIRST_NAMELIST_IDX, ATN_NAMELIST_DESC, ATP_PGM_UNIT, ATP_RSLT_IDX, ATP_RSLT_NAME, ATP_SCP_ALIVE, ATS_SF_FLD, ATS_SF_IDX, Based, BD_ARRAY_CLASS, BD_ARRAY_SIZE, BD_LB_FLD, BD_LB_IDX, BD_LEN_FLD, BD_LEN_IDX, BD_RANK, BD_SM_FLD, BD_SM_IDX, BD_UB_FLD, BD_UB_IDX, BD_XT_FLD, BD_XT_IDX, Character, Common, compare_names(), Compiler_Tmp, Constant, Constant_Size, COPY_ATTR_NTRY, CREATE_ID, curr_scp_idx, Data_Obj, Dummy_Argument, EQ_ATTR_IDX, EQ_NEXT_EQUIV_GRP, EQ_NEXT_EQUIV_OBJ, Equivalenced, FALSE, find_host_associated_attrs_in_il(), find_host_associated_attrs_in_ir(), Formal, Func_Entry, Func_Exit, Function, Function_Result, host_associated_attr_semantics(), IL_IDX, IL_NEXT_LIST_IDX, IL_Tbl_Idx, Interface, IR_Tbl_Idx, name, Namelist_Grp, NO_Tbl_Idx, NTR_ATTR_TBL, NTR_SN_TBL, ntr_stor_blk_tbl(), NULL, NULL_IDX, Pgm_Unit, Referenced, SB_BLK_TYPE, SB_COMMON_NEEDS_OFFSET, SB_DEF_MULT_SCPS, SB_HAS_RENAMES, SB_HIDDEN, SB_HOST_ASSOCIATED, SB_HOSTED_STACK, SB_HOSTED_STATIC, sb_len, SB_MERGED_BLK_IDX, SB_MODULE, SB_MODULE_IDX, sb_name, SB_NAME_LEN, SB_NAME_PTR, SB_ORIG_SCP_IDX, SB_SCP_IDX, SB_USE_ASSOCIATED, SCP_FIRST_EQUIV_GRP, SCP_SB_BASED_IDX, SCP_SB_HOSTED_DATA_IDX, SCP_SB_HOSTED_STACK_IDX, SCP_SB_HOSTED_STATIC_IDX, SCP_SB_STATIC_IDX, SCP_SB_STATIC_INIT_IDX, sec_name_tbl, SN_ATTR_IDX, SN_SIBLING_LINK, srch_stor_blk_tbl(), srch_sym_tbl(), Stack, Stack_Host_Blk, Static, Static_Local, Static_Named, Stmt_Func, stor_blk_tbl, stor_blk_tbl_idx, id_str_entry::string, Task_Common, TBL_REALLOC_CK, Threadprivate, TRACE, TRUE, TYP_FLD, TYP_IDX, TYP_TYPE, Unknown_Size, and Variable.
Referenced by attr_link_resolution(), call_list_semantics(), find_attrs_used_in_bound(), find_host_associated_attrs_in_il(), find_host_associated_attrs_in_ir(), and host_associated_attr_semantics().
void illegal_stmt_type | ( | void | ) |
Definition at line 534 of file s_driver.c.
References curr_stmt_sh_idx, Func_Entry, Func_Exit, Internal, NULL, PRINTMSG(), SH_GLB_LINE, and TRACE.
static void init_call_structs | ( | void | ) | [static] |
Definition at line 1617 of file s_driver.c.
References expr_semantics_args::allocatable, arg_strct::arg_opnd, expr_semantics_args::array_elt, arg_strct::association, expr_semantics_args::assumed_shape, expr_semantics_args::assumed_size, expr_semantics_args::char_len, expr_semantics_args::cif_id, arg_strct::col, expr_semantics_args::component, expr_semantics_args::constant, expr_semantics_args::constructor, expr_semantics_args::constructor_size_level, expr_semantics_args::contig_array, expr_semantics_args::dist_reshape_ref, expr_semantics_args::dope_vector, arg_strct::ed, Err_Res, FALSE, expr_semantics_args::foldable, Func_Entry, Func_Exit, expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, init_arg_info, init_exp_desc, expr_semantics_args::kind0D0seen, expr_semantics_args::kind0seen, arg_strct::kwd, expr_semantics_args::label, arg_strct::line, expr_semantics_args::linear_type, arg_strct::maybe_modified, NULL, NULL_IDX, null_opnd, expr_semantics_args::optional_darg, expr_semantics_args::pe_dim_ref, expr_semantics_args::percent_val_arg, arg_strct::pgm_unit, expr_semantics_args::pointer, expr_semantics_args::rank, expr_semantics_args::reference, expr_semantics_args::section, expr_semantics_args::shape, expr_semantics_args::shape_known, expr_semantics_args::target, expr_semantics_args::tmp_reference, TRACE, expr_semantics_args::tree_has_ranf, TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, TYPELESS_DEFAULT_TYPE, Unknown_Expr_Size, expr_semantics_args::vector_subscript, and expr_semantics_args::will_fold_later.
Referenced by semantics_pass_driver().
static void insert_global_sh | ( | void | ) | [static] |
Definition at line 5359 of file s_driver.c.
References copy_from_gl_subtree(), curr_scp_idx, curr_stmt_sh_idx, Func_Entry, Func_Exit, GL_SH_NEXT_IDX, global_stmt_sh_idx, NULL, NULL_IDX, SCP_FIRST_SH_IDX, SH_NEXT_IDX, SH_PREV_IDX, SH_Tbl_Idx, and TRACE.
Referenced by semantics_pass_driver().
void interface_semantics_pass_driver | ( | void | ) |
Definition at line 4035 of file s_driver.c.
References ATP_SCP_ALIVE, curr_scp_idx, decl_semantics(), FALSE, final_decl_semantics(), Func_Entry, Func_Exit, NULL, NULL_IDX, PRINT_DBG_SYTB, SB_ORIG_SCP_IDX, SB_SCP_IDX, SCP_ATTR_IDX, stor_blk_tbl_idx, and TRACE.
Referenced by end_interface_body().
void label_def_stmt_semantics | ( | void | ) |
Definition at line 1697 of file s_driver.c.
References cdir_switch_entry::align, AT_REFERENCED, ATL_ALIGN, ATL_BL, ATL_CLASS, ATL_NORECURRENCE, ATL_NOTASK, ATL_NOVECTOR, ATL_NOVSEARCH, ATL_PATTERN, cdir_switch_entry::bl, cdir_switches, curr_stmt_sh_idx, FALSE, Func_Entry, Func_Exit, IR_IDX_L, Lbl_User, cdir_switch_entry::notask_region, NULL, cdir_switch_entry::pattern, cdir_switch_entry::recurrence, Referenced, SH_IR_IDX, cdir_switch_entry::task, TRACE, TRUE, cdir_switch_entry::vector, and cdir_switch_entry::vsearch.
void no_semantics_routine | ( | void | ) |
Definition at line 567 of file s_driver.c.
References curr_stmt_sh_idx, Func_Entry, Func_Exit, Internal, NULL, PRINTMSG(), SH_GLB_LINE, stmt_type, stmt_type_str, and TRACE.
static void pgm_unit_semantics | ( | void | ) | [static] |
Definition at line 216 of file s_driver.c.
References AL_ATTR_IDX, AL_NEXT_IDX, arg_info_list_base, arg_info_list_top, AT_ACTUAL_ARG, AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_DEFINED, AT_OBJ_NAME_PTR, ATD_POINTER, ATD_PTR_ASSIGNED, ATP_FIRST_SH_IDX, ATP_MAY_INLINE, ATP_PGM_UNIT, ATP_RSLT_IDX, ATP_SCP_ALIVE, BASIC_RECS, cif_flags, cif_send_sytb(), comp_phase, curr_scp_idx, curr_stmt_sh_idx, doall_end_semantics(), End_Where_Stmt, FALSE, final_decl_semantics(), FREE_SH_NODE, free_stmt_tmp_tbl(), Func_Entry, Func_Exit, Function, gen_loop_end_ir(), idx, opt_flags_entry::inline_lvl, Inline_Lvl_0, Module, NULL, NULL_IDX, opt_flags, Pass2_Semantics, pgm_attr_idx, PRINT_DBG_STMT, PRINT_DBG_SYTB, PRINTMSG(), PU_Start, SCP_ATTR_IDX, SCP_ENTRY_IDX, SCP_FIRST_CHILD_IDX, SCP_FIRST_SH_IDX, SCP_IN_ERR, SCP_SIBLING_IDX, SH_COL_NUM, SH_DOALL_LOOP_END, SH_ERR_FLG, SH_GLB_LINE, SH_LOOP_END, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PARENT_BLK_IDX, SH_PREV_IDX, SH_STMT_TYPE, Statement_Num_Stmt, statement_number, stmt_end_col, stmt_end_line, stmt_semantics, stmt_start_col, stmt_start_line, stmt_type, TRACE, TRACE_NEW_STMT, TRUE, and Warning.
Referenced by semantics_pass_driver().
static void reset_stmt_tmp_tbl | ( | void | ) | [static] |
Definition at line 4182 of file s_driver.c.
References stmt_tmp_entry::dope_vector_tmps_head, stmt_tmp_entry::dope_vector_tmps_tail, Func_Entry, Func_Exit, init_stmt_tmp_tbl, NULL, Num_Linear_Types, stmt_tmp_entry::scalar_tmps_head, stmt_tmp_entry::scalar_tmps_tail, stmt_tmp_tbl, and TRACE.
Referenced by semantics_pass_driver().
void semantics_pass_driver | ( | void | ) |
Definition at line 119 of file s_driver.c.
References arg_info_list, arg_info_list_size, arg_list, arg_list_size, curr_scp_idx, decl_semantics_driver(), dt_cmp_tbl, equiv_tbl, Func_Entry, Func_Exit, global_stmt_sh_idx, init_call_structs(), init_directive(), insert_global_directives, insert_global_sh(), MEM_FREE, NULL, NULL_IDX, pgm_unit_semantics(), pgm_unit_start_line, PRINT_EQV_TBL, reset_stmt_tmp_tbl(), SCP_FIRST_SH_IDX, SH_GLB_LINE, TBL_FREE, and TRACE.
Referenced by main().
void set_up_which_entry_tmp | ( | void | ) |
Definition at line 5167 of file s_driver.c.
References After, AL_ATTR_IDX, AL_NEXT_IDX, Asg_Opr, Assignment_Stmt, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATP_FIRST_SH_IDX, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, curr_scp_idx, curr_stmt_sh_idx, FALSE, Func_Entry, Func_Exit, gen_compiler_tmp(), gen_sh(), 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_OPR, IR_TYPE_IDX, NTR_IR_TBL, NULL, NULL_IDX, Priv, SCP_ALT_ENTRY_CNT, SCP_ATTR_IDX, SCP_ENTRY_IDX, SCP_FIRST_SH_IDX, SCP_LAST_SH_IDX, SCP_SB_STACK_IDX, SCP_WHICH_ENTRY_TMP, SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, SH_P2_SKIP_ME, TRACE, and TRUE.
Referenced by check_multiple_entry_func(), and gen_assumed_shape_copy().
static void storage_blk_resolution | ( | void | ) | [static] |
Definition at line 3481 of file s_driver.c.
References ADD_ATTR_TO_LOCAL_LIST, align_bit_length(), Ansi, AT_DEF_COLUMN, AT_DEF_LINE, AT_REFERENCED, AT_Tbl_Idx, ATD_NEXT_MEMBER_IDX, ATD_OFFSET_FLD, ATD_OFFSET_IDX, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, C_TO_F_INT, Caution, CG_INTEGER_DEFAULT_TYPE, check_and_allocate_common_storage(), cmd_line_flags, CN_INTEGER_BITS_PER_WORD_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, compare_global_type_rank(), size_offset_entry::constant, CREATE_ID, curr_scp_idx, EQ_ATTR_IDX, EQ_DALIGN_ME, EQ_DALIGN_SHIFT, EQ_NEXT_EQUIV_GRP, EQ_NEXT_EQUIV_OBJ, Equivalenced, Error, FALSE, size_offset_entry::fld, fold_relationals(), Func_Entry, Func_Exit, GA_OBJ_CLASS, GAC_ALIGN_SYMBOL, GAC_AUXILIARY, GAC_CACHE_ALIGN, GAC_EQUIVALENCED, GAC_FILL_SYMBOL, GAC_FIRST_MEMBER_IDX, GAC_FOUND_DIFFS, GAC_PGM_UNIT_IDX, GAC_SECTION_GP, GAC_SECTION_NON_GP, GAC_TASK_COMMON, GAD_NEXT_IDX, GAP_PGM_UNIT, gen_compiler_tmp(), GN_ATTR_IDX, Gt_Opr, size_offset_entry::idx, Internal, Minus_Opr, Mod_Opr, Module, name, Ne_Opr, NO_Tbl_Idx, Not_Referenced, ntr_common_in_global_attr_tbl(), ntr_const_tbl(), ntr_global_name_tbl(), NTR_NAME_POOL, NULL, NULL_IDX, cmd_line_flags_entry::pad, cmd_line_flags_entry::pad_amount, pgm_unit_str, Plus_Opr, PRINTMSG(), Priv, result, SB_ALIGN_SYMBOL, SB_AUXILIARY, SB_BLK_TYPE, SB_CACHE_ALIGN, SB_COMMON_NEEDS_OFFSET, SB_DCL_ERR, SB_DEF_COLUMN, SB_DEF_LINE, SB_DEF_MULT_SCPS, SB_DUPLICATE_COMMON, SB_EQUIVALENCED, SB_FILL_SYMBOL, SB_FIRST_ATTR_IDX, SB_HAS_RENAMES, SB_HIDDEN, SB_HOST_ASSOCIATED, SB_HOSTED_STACK, SB_IS_COMMON, sb_len, SB_LEN_FLD, SB_LEN_IDX, SB_MERGED_BLK_IDX, SB_MODULE, sb_name, SB_NAME_IDX, SB_NAME_LEN, SB_NAME_PTR, SB_ORIG_SCP_IDX, SB_PAD_AMOUNT, SB_PAD_AMOUNT_SET, SB_PAD_BLK, SB_RUNTIME_INIT, SB_SCP_IDX, SB_SECTION_GP, SB_SECTION_NON_GP, SB_USE_ASSOCIATED, SCP_FIRST_EQUIV_GRP, SCP_SB_HOSTED_STACK_IDX, size_offset_binary_calc(), size_offset_logical_calc(), srch_global_name_tbl(), srch_stor_blk_tbl(), Stack, Stack_Host_Blk, Static, Static_Local, Static_Named, cmd_line_flags_entry::static_threadprivate, stor_blk_tbl_idx, Task_Common, cmd_line_flags_entry::taskcommon, THIS_IS_TRUE, Threadprivate, TRACE, TRUE, size_offset_entry::type_idx, TYPELESS_DEFAULT_TYPE, Warning, and id_str_entry::words.
Referenced by final_decl_semantics().
int symbolic_constant_array_list [static] |
Definition at line 95 of file s_driver.c.
Referenced by final_attr_semantics(), and final_decl_semantics().
char USMID[] = "\n@(#)5.0_pl/sources/s_driver.c 5.13 10/26/99 13:48:21\n" [static] |
Definition at line 37 of file s_driver.c.