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"
Go to the source code of this file.
void array_dim_resolution | ( | int | attr_idx, |
boolean | need_const_array | ||
) |
Definition at line 1497 of file s_dcls.c.
References AL_ENTRY_COUNT, Assumed_Shape, Assumed_Size, AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_AUTOMATIC, ATD_CLASS, ATD_CONST_IDX, ATD_FLD, ATD_FUNC_IDX, ATD_IGNORE_TKR, ATD_IM_A_DOPE, ATD_INTRIN_DARG, ATD_NO_ENTRY_LIST, ATD_PE_ARRAY_IDX, ATD_POINTER, ATD_STOR_BLK_IDX, ATD_SYMBOLIC_CONSTANT, ATD_TMP_IDX, ATD_TYPE_IDX, ATP_NO_ENTRY_LIST, ATP_PGM_UNIT, Automatic_Base_Size_Stmt, BD_ARRAY_CLASS, BD_ARRAY_SIZE, BD_COLUMN_NUM, BD_DCL_ERR, BD_LB_FLD, BD_LB_IDX, BD_LEN_FLD, BD_LEN_IDX, BD_LINE_NUM, BD_RANK, BD_RESOLVED, BD_SM_FLD, BD_SM_IDX, BD_UB_FLD, BD_UB_IDX, BD_XT_FLD, BD_XT_IDX, Caution, Character, CIF_No_Usage_Rec, cmd_line_flags, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, CN_TYPE_IDX, compare_cn_and_value(), Compiler_Tmp, Constant, Constant_Size, COPY_OPND, CRI__Pointee, curr_scp_idx, Cvrt_Opr, Deferred_Shape, Deferred_Shape1, Dummy_Argument, Eq_Opr, Error, EXIT, Explicit_Shape, expr_semantics(), FALSE, size_offset_entry::fld, fnd_semantic_err(), fold_relationals(), free_attr_list(), FREE_SH_NODE, Func_Entry, Func_Exit, Function, Function_Result, gen_compiler_tmp(), gen_tmp_eq_zero_ir(), gen_tmp_equal_max_zero(), size_offset_entry::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_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, issue_overflow_msg_719, ISSUE_STORAGE_SIZE_EXCEEDED_MSG, Lt_Opr, cmd_line_flags_entry::malleable, merge_entry_list_count(), merge_entry_lists(), Minus_Opr, Module, Mult_Opr, need_to_issue_719, NO_Tbl_Idx, ntr_array_in_bd_tbl(), ntr_bnds_sh_tmp_list(), NTR_IR_TBL, ntr_sh_tbl(), NULL, NULL_IDX, Obj_Sym_Constant_Arr, Obj_Var_Len_Arr, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, Plus_Opr, PRINTMSG(), Priv, expr_semantics_args::rank, reserve_array_ntry(), SA_INTEGER_DEFAULT_TYPE, SB_BLK_HAS_NPES, SCP_ALT_ENTRY_CNT, SCP_ATTR_IDX, SCP_IS_INTERFACE, set_stride_for_first_dim(), SH_COL_NUM, SH_COMPILER_GEN, SH_GLB_LINE, SH_P2_SKIP_ME, SH_STMT_TYPE, stmt_start_col, stmt_start_line, stor_bit_size_of(), stride, Subroutine, Symbolic_Constant_Size, Symbolic_Minus_Opr, Symbolic_Mult_Opr, Symbolic_Plus_Opr, target_t3e, TRACE, TRUE, TYP_CHAR_CLASS, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, Unknown_Size, Var_Len_Array, Var_Len_Char, Variable, and xref_state.
Referenced by array_bounds_resolution(), attr_semantics(), and merge_parameter().
static void assign_offsets_for_equiv_groups | ( | void | ) | [static] |
Definition at line 1389 of file s_dcls.c.
References CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, size_offset_entry::constant, curr_scp_idx, EQ_ERROR, EQ_LIST_IDX, EQ_NEXT_EQUIV_GRP, EQ_NEXT_EQUIV_OBJ, EQ_OFFSET_FLD, EQ_OFFSET_IDX, Eq_Opr, FALSE, size_offset_entry::fld, fold_relationals(), Func_Entry, Func_Exit, Ge_Opr, size_offset_entry::idx, IL_FLD, IL_IDX, Minus_Opr, NO_Tbl_Idx, ntr_const_tbl(), NULL, NULL_IDX, result, SCP_FIRST_EQUIV_GRP, size_offset_binary_calc(), TRACE, and size_offset_entry::type_idx.
Referenced by equivalence_semantics().
static void attr_semantics | ( | int | attr_idx, |
boolean | bound_attr | ||
) | [static] |
Definition at line 4976 of file s_dcls.c.
References After, AL_ATTR_IDX, AL_NEXT_IDX, allocatable_list_idx, alt_entry_equiv_blk, alt_entry_equiv_grp, Ansi, array_dim_resolution(), assign_storage_blk(), Assignment_Stmt, Assumed_Shape, Assumed_Size, Assumed_Size_Char, AT_ATTR_LINK, AT_COMPILER_GEND, AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_DEFINED, AT_HOST_ASSOCIATED, AT_IS_DARG, AT_IS_INTRIN, AT_MODULE_OBJECT, AT_NAME_IDX, AT_NAME_LEN, AT_OBJ_CLASS, AT_OBJ_NAME, AT_OBJ_NAME_PTR, AT_OPTIONAL, AT_PRIVATE, AT_REFERENCED, AT_SEMANTICS_DONE, AT_Tbl_Idx, AT_TYPED, AT_USE_ASSOCIATED, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_AUTOMATIC, ATD_AUXILIARY, ATD_CLASS, ATD_CONST_IDX, ATD_COPY_ASSUMED_SHAPE, ATD_CPNT_INIT_IDX, ATD_DATA_INIT, ATD_DISTRIBUTION_IDX, ATD_EQUIV, ATD_EQUIV_LIST, ATD_FLD, ATD_FUNC_IDX, ATD_IGNORE_TKR, ATD_IM_A_DOPE, ATD_IN_COMMON, ATD_INTENT, ATD_NO_ENTRY_LIST, ATD_OFFSET_ASSIGNED, ATD_OFFSET_FLD, ATD_OFFSET_IDX, ATD_PE_ARRAY_IDX, ATD_PERMUTATION, ATD_POINTER, ATD_PTR_HALF_WORD, ATD_PTR_IDX, ATD_PTR_TYPE_SET, ATD_PURE, ATD_RESHAPE_ARRAY_IDX, ATD_RESHAPE_ARRAY_OPT, ATD_SAVED, ATD_SF_ARG_IDX, ATD_STOR_BLK_IDX, ATD_SYMBOLIC_CONSTANT, ATD_SYMMETRIC, ATD_TARGET, ATD_TMP_IDX, ATD_TMP_INIT_NOT_DONE, ATD_TYPE_IDX, Atd_Unknown, ATD_VARIABLE_TMP_IDX, ATI_FIRST_SPECIFIC_IDX, ATI_INLINE_ALWAYS, ATI_INLINE_NEVER, ATI_IPA_DIR_SPECIFIED, ATI_PROC_IDX, ATI_SGI_ROUTINE_INLINE, ATI_SGI_ROUTINE_NOINLINE, ATI_UNNAMED_INTERFACE, ATI_USER_SPECIFIED, ATL_CLASS, ATL_FWD_REF_IDX, ATP_ALT_ENTRY, ATP_DUPLICATE_INTERFACE_IDX, ATP_ELEMENTAL, ATP_EXPL_ITRFC, ATP_EXTRA_DARG, ATP_FIRST_IDX, ATP_HAS_ALT_RETURN, ATP_INLINE_ALWAYS, ATP_INLINE_NEVER, ATP_NOSIDE_EFFECTS, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_PROC, ATP_PURE, ATP_RSLT_IDX, ATP_SAVE_ALL, ATP_SCP_IDX, ATP_SGI_ROUTINE_INLINE, ATP_SGI_ROUTINE_NOINLINE, ATP_SYMMETRIC, ATP_VFUNCTION, ATT_CHAR_CPNT, ATT_CHAR_SEQ, ATT_DEFAULT_INITIALIZED, ATT_FIRST_CPNT_IDX, ATT_LABEL_LIST_IDX, ATT_POINTER_CPNT, ATT_PRIVATE_CPNT, ATT_SCP_IDX, ATT_SEQUENCE_SET, Based, BD_ARRAY_CLASS, BD_ARRAY_SIZE, BD_COLUMN_NUM, BD_DCL_ERR, BD_LB_FLD, BD_LB_IDX, BD_LINE_NUM, BD_RANK, BD_RESOLVED, BD_UB_FLD, BD_UB_IDX, Blockdata, bound_resolution(), C_INT_TO_CN, Caution, CG_INTEGER_DEFAULT_TYPE, char_len_resolution(), Character, CHARACTER_DEFAULT_TYPE, cif_flags, CIF_Symbol_Declaration, cif_usage_rec(), CLEAR_TBL_NTRY, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, compare_cn_and_value(), compare_duplicate_interface_bodies(), compare_entry_to_func_rslt(), Compiler_Tmp, Const_Len_Char, Constant, size_offset_entry::constant, COPY_ATTR_NTRY, COPY_OPND, create_equiv_stor_blk(), CREATE_FUNC_RSLT, CREATE_ID, CRI__Pointee, CRI_Ch_Ptr_8, CRI_Ptr, CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, default_init_semantics(), Deferred_Shape, Deferred_Shape1, Derived_Type, distribution_resolution(), Dummy_Argument, Dummy_Proc, Dv_Set_Low_Bound, Dv_Whole_Copy_Opr, EQ_ATTR_IDX, EQ_COLUMN_NUM, EQ_GRP_END_IDX, EQ_GRP_IDX, EQ_LINE_NUM, EQ_NEXT_EQUIV_OBJ, Eq_Opr, Error, EXIT, Explicit_Shape, FALSE, size_offset_entry::fld, fnd_semantic_err(), fold_clen_opr(), free_attr_list(), FREE_IR_LIST_NODE, Func_Entry, Func_Exit, Function, FUNCTION_MUST_BE_SUBROUTINE, Function_Result, gen_allocatable_ptr_ptee(), gen_compiler_tmp(), gen_sh(), gen_single_automatic_allocate(), size_offset_entry::idx, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_Tbl_Idx, IM_SET, IMPL_IDX, on_off_flags_entry::implicit_none, insert_init_stmt_for_tmp(), insert_sh_after_entries(), Integer, INTEGER_DEFAULT_TYPE, Intent_In, Intent_Out, Intent_Unseen, Interface, Intern_Proc, Internal, Intrin_Proc, IR_COL_NUM, IR_COL_NUM_L, IR_COL_NUM_R, IR_DV_DIM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LINE_NUM_R, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, issue_undefined_type_msg(), Label, Lbl_Format, Lbl_User, Lt_Opr, Module, Module_Proc, Namelist_Grp, namelist_list_idx, NO_Tbl_Idx, Not_Referenced, ntr_array_in_bd_tbl(), NTR_ATTR_LIST_TBL, ntr_const_tbl(), NTR_EQ_TBL, NTR_IR_TBL, NTR_SN_TBL, ntr_stor_blk_tbl(), ntr_type_tbl(), NULL, NULL_IDX, number_of_allocatables, Obj_Symmetric, on_off_flags, opt_flags, Optimization, PACK_HALF_WORD_TEST_CONDITION, pe_array_dim_resolution(), pgm_attr_idx, Pgm_Unit, Pgm_Unknown, pointee_based_blk, Pointee_Blk, PRINTMSG(), Priv, reserve_array_ntry(), opt_flags_entry::reshape_all_arrays, reshape_array_list, SA_INTEGER_DEFAULT_TYPE, SB_AUXILIARY, SB_BLANK_COMMON, SB_BLK_HAS_NPES, SB_DEF_COLUMN, SB_DEF_LINE, sb_len, SB_LEN_FLD, SB_LEN_IDX, sb_name, SB_NAME_PTR, SCP_ALT_ENTRY_CNT, SCP_ATTR_IDX, SCP_IMPL_NONE, SCP_IS_INTERFACE, SCP_PARENT_IDX, SCP_PARENT_NONE, SCP_SB_DARG_IDX, SCP_SB_STACK_IDX, SET_IMPL_TYPE, SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, Shared, SN_ATTR_IDX, SN_COLUMN_NUM, SN_LINE_NUM, SN_NAME_IDX, SN_NAME_LEN, SN_SIBLING_LINK, srch_host_sym_tbl(), srch_linked_sn(), srch_sym_tbl(), Stack, Stmt_Func, stmt_start_col, stmt_start_line, stor_bit_size_of(), id_str_entry::string, Struct_Component, Structure, Subroutine, Symbolic_Constant_Size, TARGET_32BIT_DOUBLE_WORD_STORAGE_TYPE, TARGET_MAX_HALF_WORD_STORAGE_TYPE, tmp_il_resolution(), tmp_ir_resolution(), TRACE, TRUE, TYP_CHAR_CLASS, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_PTR_INCREMENT, TYP_RESOLVED, TYP_TYPE, TYP_WORK_IDX, size_offset_entry::type_idx, type_tbl, TYPELESS_DEFAULT_TYPE, Variable, verify_interface(), Warning, and XREF_RECS.
Referenced by decl_semantics(), tmp_il_resolution(), tmp_ir_resolution(), and verify_interface().
static void bound_resolution | ( | int | attr_idx | ) | [static] |
Definition at line 3153 of file s_dcls.c.
References AT_DEFINED, AT_REFERENCED, ATD_CLASS, ATD_FLD, ATD_SYMBOLIC_CONSTANT, ATD_TMP_IDX, ATD_TMP_SEMANTICS_DONE, bound_semantics(), CIF_Symbol_Reference, cif_tmp_so_no_msg, cmd_line_flags, Constant, curr_scp_idx, curr_stmt_sh_idx, Error_Lvl, FALSE, Func_Entry, Func_Exit, insert_sh_after_entries(), on_off_flags_entry::issue_ansi_messages, cmd_line_flags_entry::msg_lvl_suppressed, no_func_expansion, NO_Tbl_Idx, Not_Referenced, NULL, NULL_IDX, on_off_flags, SCP_ENTRY_IDX, SCP_IS_INTERFACE, SH_PREV_IDX, TRACE, TRUE, and xref_state.
Referenced by attr_semantics().
int bound_semantics | ( | int | attr_idx, |
boolean | insert_in_SH_stream | ||
) |
Definition at line 3278 of file s_dcls.c.
References AL_ATTR_IDX, AL_NEXT_IDX, Ansi, AT_CIF_USE_IN_BND, AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_DEFINED, AT_IS_DARG, AT_OBJ_CLASS, AT_REFERENCED, AT_Tbl_Idx, AT_TYPED, ATD_CLASS, ATD_CONST_IDX, ATD_DEFINING_ATTR_IDX, ATD_FLD, ATD_NO_ENTRY_LIST, ATD_SYMBOLIC_CONSTANT, ATD_TMP_HAS_CVRT_OPR, ATD_TMP_IDX, ATD_TMP_SEMANTICS_DONE, ATD_TYPE_IDX, ATP_NO_ENTRY_LIST, Automatic_Base_Size_Stmt, cast_typeless_constant(), check_type_for_size_address(), CLEAR_VARIANT_ATTR_INFO, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, CN_TYPE_IDX, Compiler_Tmp, Constant, COPY_OPND, copy_subtree(), curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Error, expr_is_symbolic_constant(), expr_mode, expr_semantics(), FALSE, free_attr_list(), FREE_SH_NODE, Func_Entry, Func_Exit, gen_opnd(), get_basic_type_str(), expr_semantics_args::has_symbolic, Integer, INTEGER_DEFAULT_TYPE, IR_IDX_R, IR_OPND_L, IR_OPND_R, IR_TYPE_IDX, expr_semantics_args::linear_type, Long_Typeless, merge_entry_lists(), Not_Referenced, ntr_sh_tbl(), NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, PRINTMSG(), expr_semantics_args::rank, Referenced, Regular_Expr, SCP_TMP_LIST, SH_COL_NUM, SH_COMPILER_GEN, SH_GLB_LINE, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, SH_STMT_TYPE, Short_Typeless_Const, Specification_Expr, stmt_start_col, stmt_start_line, TRACE, TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless_4, and Typeless_8.
Referenced by array_bounds_resolution(), bound_resolution(), and char_bounds_resolution().
void char_len_resolution | ( | int | attr_idx, |
boolean | must_be_const_array | ||
) |
Definition at line 3619 of file s_dcls.c.
References After, AL_ENTRY_COUNT, Assumed_Size_Char, AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_AUTOMATIC, ATD_CLASS, ATD_CONST_IDX, ATD_FLD, ATD_FUNC_IDX, ATD_NO_ENTRY_LIST, ATD_PE_ARRAY_IDX, ATD_POINTER, ATD_PTR_IDX, ATD_SYMBOLIC_CONSTANT, ATD_TMP_IDX, ATD_TYPE_IDX, ATP_ALT_ENTRY, ATP_EXPL_ITRFC, ATP_NO_ENTRY_LIST, ATP_PGM_UNIT, ATP_PROC, Automatic_Base_Size_Stmt, C_INT_TO_CN, Caution, CHARACTER_DEFAULT_TYPE, check_type_for_size_address(), Clen_Opr, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, CN_TYPE_IDX, compare_cn_and_value(), Const_Len_Char, Constant, COPY_OPND, CRI__Pointee, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Dummy_Argument, Dummy_Proc, Error, EXIT, FALSE, find_opnd_line_and_column(), fnd_semantic_err(), fold_clen_opr(), Func_Entry, Func_Exit, Function, Function_Result, GEN_COMPILER_TMP_ASG, gen_sh(), Gt_Opr, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, insert_sh_after_entries(), Integer, IR_COL_NUM, IR_COL_NUM_L, IR_FLD_L, IR_IDX_L, IR_LINE_NUM, IR_LINE_NUM_L, IR_LIST_CNT_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Lt_Opr, max_character_length, Max_Opr, merge_entry_list_count(), ntr_bnds_sh_tmp_list(), NTR_IR_LIST_TBL, NTR_IR_TBL, ntr_sh_tbl(), ntr_type_tbl(), NULL, NULL_IDX, Obj_Var_Len_Ch, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, PRINTMSG(), Priv, SA_INTEGER_DEFAULT_TYPE, SCP_ALT_ENTRY_CNT, SCP_ATTR_IDX, SCP_IS_INTERFACE, SH_COL_NUM, SH_COMPILER_GEN, SH_GLB_LINE, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, SH_STMT_TYPE, Stmt_Func, stmt_start_col, stmt_start_line, Subroutine, TRACE, TRUE, TYP_CHAR_CLASS, TYP_FLD, TYP_IDX, TYP_ORIG_LEN_IDX, TYP_RESOLVED, TYP_TYPE, TYP_WORK_IDX, type_tbl, Unknown_Char, Var_Len_Char, and Variable.
Referenced by attr_semantics(), and char_bounds_resolution().
static boolean compare_darg_or_rslt_types | ( | int | idx1, |
int | idx2 | ||
) | [static] |
Definition at line 12411 of file s_dcls.c.
References ATD_ARRAY_IDX, ATD_CLASS, ATD_INTRIN_DARG, ATD_INTRIN_DARG_TYPE, ATD_PE_ARRAY_IDX, ATD_TYPE_IDX, BD_RANK, Character, compare_derived_types(), Dummy_Argument, FALSE, Func_Entry, Func_Exit, NULL, NULL_IDX, Structure, TRACE, TRUE, TYP_LINEAR, and TYP_TYPE.
Referenced by compare_dummy_arguments().
boolean compare_dummy_arguments | ( | int | idx1, |
int | idx2 | ||
) |
Definition at line 4002 of file s_dcls.c.
References AT_OBJ_CLASS, ATD_CLASS, ATD_IGNORE_TKR, ATP_EXPL_ITRFC, ATP_EXTRA_DARG, ATP_FIRST_IDX, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_RSLT_IDX, compare_darg_or_rslt_types(), compare_dummy_arguments(), Data_Obj, Dummy_Argument, FALSE, Func_Entry, Func_Exit, Function, NULL, Pgm_Unit, Pgm_Unknown, SN_ATTR_IDX, TRACE, and TRUE.
Referenced by compare_dummy_arguments(), compare_duplicate_interface_bodies(), and verify_interface().
static void compare_duplicate_interface_bodies | ( | int | attr_idx | ) | [static] |
Definition at line 11895 of file s_dcls.c.
References Ansi, AT_DEF_COLUMN, AT_DEF_LINE, AT_NAME_LEN, AT_OBJ_NAME_LONG, AT_OBJ_NAME_PTR, ATD_ARRAY_IDX, ATD_TYPE_IDX, ATP_DUPLICATE_INTERFACE_IDX, ATP_FIRST_IDX, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_RSLT_IDX, ATP_RSLT_NAME, BD_RANK, Character, compare_derived_types(), compare_dummy_arguments(), compare_names(), Error, FALSE, Func_Entry, Func_Exit, Function, idx, NULL, NULL_IDX, PRINTMSG(), SN_ATTR_IDX, Structure, TRACE, TRUE, TYP_LINEAR, and TYP_TYPE.
Referenced by attr_semantics().
static void compare_entry_to_func_rslt | ( | int | attr_idx, |
int | pgm_rslt_idx | ||
) | [static] |
Definition at line 4104 of file s_dcls.c.
References Ansi, AT_DEF_COLUMN, AT_DEF_LINE, AT_OBJ_NAME_PTR, ATD_ARRAY_IDX, ATD_POINTER, ATD_TYPE_IDX, ATP_RSLT_IDX, BD_ARRAY_SIZE, Character, cmd_line_flags, compare_array_entries(), compare_derived_types(), Complex, COMPLEX_DEFAULT_TYPE, Const_Len_Char, Default_Typed, DOUBLE_DEFAULT_TYPE, Error, fold_relationals(), Func_Entry, Func_Exit, GET_MESSAGE_TBL, idx, Integer, cmd_line_flags_entry::integer_32, INTEGER_DEFAULT_TYPE, on_off_flags_entry::issue_ansi_messages, Logical, LOGICAL_DEFAULT_TYPE, message_error_tbl, message_warning_tbl, Ne_Opr, NULL, NULL_IDX, on_off_flags, PRINTMSG(), Real, REAL_DEFAULT_TYPE, cmd_line_flags_entry::s_default32, Structure, Symbolic_Constant_Size, TRACE, TYP_CHAR_CLASS, TYP_DESC, TYP_IDX, TYP_LINEAR, TYP_TYPE, and Warning.
Referenced by attr_semantics().
int create_equiv_stor_blk | ( | int | attr_idx, |
sb_type_type | sb_type | ||
) |
Definition at line 8562 of file s_dcls.c.
References AT_DEF_COLUMN, AT_DEF_LINE, CREATE_ID, curr_scp_idx, Equivalenced, Func_Entry, Func_Exit, ntr_stor_blk_tbl(), NULL, SB_EQUIVALENCED, SB_MODULE, SCP_SB_STATIC_IDX, Stack, id_str_entry::string, TRACE, and TRUE.
Referenced by attr_semantics(), equivalence_semantics(), init_whole_array(), and transform_cri_ch_ptr().
static boolean darg_in_entry_list | ( | int | srch_idx, |
int | entry_idx | ||
) | [static] |
Definition at line 8412 of file s_dcls.c.
References ATP_FIRST_IDX, ATP_NUM_DARGS, FALSE, Func_Entry, Func_Exit, NULL, NUM_SN_WDS, sec_name_tbl, SN_ATTR_IDX, TRACE, and TRUE.
Referenced by decl_semantics().
static void deallocate_local_allocatables | ( | void | ) | [static] |
Definition at line 8189 of file s_dcls.c.
References ADD_ATTR_TO_LOCAL_LIST, After, allocatable_list_idx, Aloc_Opr, Assignment_Stmt, AT_Tbl_Idx, ATD_ALLOCATABLE, ATD_PE_ARRAY_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, create_lib_entry_attr(), CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Dealloc_Attr_Idx, DEALLOC_LIB_ENTRY, DEALLOC_NAME_LEN, Deallocate_Opr, FALSE, Func_Entry, Func_Exit, gen_alloc_header_const(), gen_il(), gen_ir(), gen_sh(), gen_split_alloc(), glb_tbl_idx, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, Integer_8, IR_COL_NUM, IR_COL_NUM_L, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LIST_CNT_L, IR_LIST_CNT_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NO_Tbl_Idx, NTR_IR_LIST_TBL, NTR_IR_TBL, ntr_sh_tbl(), NULL, NULL_IDX, number_of_allocatables, SCP_EXIT_IR_SH_IDX, set_up_allocate_as_call(), SH_COL_NUM, SH_COMPILER_GEN, SH_GLB_LINE, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, SH_STMT_TYPE, SN_ATTR_IDX, SN_SIBLING_LINK, stmt_start_col, stmt_start_line, TRACE, TRUE, and TYPELESS_DEFAULT_TYPE.
Referenced by decl_semantics().
void decl_semantics | ( | void | ) |
Definition at line 4286 of file s_dcls.c.
References After, AL_ATTR_IDX, AL_ENTRY_COUNT, AL_NEXT_IDX, allocatable_list_idx, alt_entry_equiv_blk, alt_entry_equiv_grp, Assumed_Shape, AT_ALT_DARG, AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_EQUIV, ATD_IGNORE_TKR, ATD_NO_ENTRY_LIST, ATD_TYPE_IDX, ATP_ARGCHCK_ENTRY, ATP_ENTRY_LABEL_SH_IDX, ATP_NO_ENTRY_LIST, ATP_PGM_UNIT, ATP_RECURSIVE, ATP_RSLT_IDX, ATP_SAVE_ALL, ATP_STACK_DIR, attr_semantics(), BD_ARRAY_CLASS, Caution, Character, cmd_line_flags, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, cmd_line_flags_entry::co_array_fortran, COPY_OPND, curr_scp_idx, curr_stmt_sh_idx, darg_in_entry_list(), Data_Obj, Data_Stmt, deallocate_local_allocatables(), cmd_line_flags_entry::debug_lvl, Debug_Lvl_1, EQ_ATTR_IDX, EQ_COLUMN_NUM, EQ_GRP_END_IDX, EQ_GRP_IDX, EQ_LINE_NUM, EQ_NEXT_EQUIV_GRP, EQ_NEXT_EQUIV_OBJ, EQ_SEMANTICS_DONE, equivalence_semantics(), Error, FALSE, fnd_semantic_err(), free_attr_list(), Func_Entry, Func_Exit, Function, gen_assumed_shape_copy(), gen_internal_call_stmt(), idx, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, IM_SET, IM_TYPE_IDX, init_sh_end_idx, init_sh_start_idx, insert_argchck_calls(), IR_IDX_L, IR_LINE_NUM, IR_LINE_NUM_L, LN_ATTR_IDX, MAX_IMPL_CHS, Module, must_reassign_XT_temp(), namelist_list_idx, namelist_resolution(), NO_Tbl_Idx, NTR_ATTR_LIST_TBL, NTR_EQ_TBL, NTR_IR_LIST_TBL, NULL, NULL_IDX, num_prog_unit_errors, number_of_allocatables, Obj_Ignore_TKR, on_off_flags, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, OPND_LIST_CNT, opt_flags, pgm_attr_idx, pointee_based_blk, prev_idx, PRINTMSG(), Program, reassign_XT_temps, on_off_flags_entry::recursive, opt_flags_entry::reshape, reshape_array_list, reshape_array_semantics(), on_off_flags_entry::save_all_vars, SCP_ALT_ENTRY_CNT, SCP_ATTR_IDX, SCP_ATTR_LIST, SCP_COPY_ASSUMED_LIST, SCP_COPY_ASSUMED_SHAPE, SCP_DARG_LIST, SCP_DEFAULT_STORAGE, SCP_ENTRY_IDX, SCP_FIRST_EQUIV_GRP, SCP_FIRST_SH_IDX, SCP_IGNORE_TKR, SCP_LN_FW_IDX, SCP_LN_LW_IDX, SCP_PARENT_IDX, SCP_RESHAPE_ARRAY_LIST, SH_GLB_LINE, SH_IR_IDX, SH_NEXT_IDX, SH_PREV_IDX, SH_STMT_TYPE, shared_bd_idx, Stack, START_PES_LIB_ENTRY, Static, Subroutine, TRACE, TRUE, TYP_FLD, TYP_IDX, TYP_TYPE, Type_Init_Stmt, and Warning.
Referenced by decl_semantics_driver(), and interface_semantics_pass_driver().
static void distribution_resolution | ( | int | attr_idx | ) | [static] |
Definition at line 10672 of file s_dcls.c.
References ATD_DISTRIBUTION_IDX, BD_COLUMN_NUM, BD_CYCLIC_FLD, BD_CYCLIC_IDX, BD_LINE_NUM, BD_ONTO_FLD, BD_ONTO_IDX, BD_RANK, BD_RESOLVED, CIF_No_Usage_Rec, expr_semantics(), Func_Entry, Func_Exit, NO_Tbl_Idx, NULL, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, expr_semantics_args::rank, TRACE, and xref_state.
Referenced by attr_semantics().
static void equivalence_semantics | ( | void | ) | [static] |
Definition at line 143 of file s_dcls.c.
References AL_EQ_IDX, AL_NEXT_IDX, Ansi, assign_offsets_for_equiv_groups(), AT_DCL_ERR, AT_OBJ_NAME_PTR, ATD_ARRAY_IDX, ATD_CLASS, ATD_EQUIV_LIST, ATD_IN_COMMON, ATD_PARENT_OBJECT, ATD_SAVED, ATD_STACK, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATD_VOLATILE, ATT_CHAR_SEQ, ATT_DCL_NUMERIC_SEQ, ATT_DEFAULT_INITIALIZED, ATT_NON_DEFAULT_CPNT, ATT_POINTER_CPNT, ATT_SEQUENCE_SET, BD_RANK, Character, CIF_Symbol_Reference, cmd_line_flags, CN_CONST, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, CN_TYPE_IDX, compare_derived_types(), COMPLEX_DEFAULT_TYPE, create_equiv_stor_blk(), curr_scp_idx, cmd_line_flags_entry::dalign, Default_Typed, DOUBLE_DEFAULT_TYPE, dump_flags, EQ_ATTR_IDX, EQ_COLUMN_NUM, EQ_DO_NOT_DALIGN, EQ_ERROR, EQ_LINE_NUM, EQ_LIST_IDX, EQ_NEXT_EQUIV_GRP, EQ_NEXT_EQUIV_OBJ, EQ_OFFSET_IDX, EQ_OPND_FLD, EQ_OPND_IDX, EQ_SEARCH_DONE, EQ_SUBSTRINGED, Error, expr_mode, expr_semantics(), FALSE, find_left_attr(), fold_relationals(), folder_driver(), Func_Entry, Func_Exit, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, Initialization_Expr, INTEGER_DEFAULT_TYPE, IR_FLD_L, IR_IDX_L, IR_IDX_R, IR_LIST_CNT_R, IR_OPR, IR_Tbl_Idx, Le_Opr, linearize_list_for_equiv(), LOGICAL_DEFAULT_TYPE, merge_equivalence_groups1(), merge_equivalence_groups2(), Ne_Opr, dump_flags_entry::no_dimension_padding, NO_Tbl_Idx, NTR_IR_LIST_TBL, NULL, NULL_IDX, null_opnd, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, PRINTMSG(), expr_semantics_args::rank, REAL_DEFAULT_TYPE, Regular_Expr, result, cmd_line_flags_entry::s_default32, SB_ALIGN_SYMBOL, SB_BLANK_COMMON, SB_BLK_HAS_NPES, SB_BLK_TYPE, SB_EQUIVALENCED, SB_FILL_SYMBOL, SB_HOSTED_STACK, SB_HOSTED_STATIC, SB_IS_COMMON, SB_MODULE, SB_NAME_PTR, SB_PAD_BLK, SCP_ATTR_IDX, SCP_FIRST_EQUIV_GRP, Section_Subscript_Opr, Stack, Static, Static_Local, Static_Named, Struct_Opr, Structure, Subscript_Opr, Substring_Opr, THIS_IS_TRUE, TRACE, TRUE, TYP_DESC, TYP_IDX, TYP_LINEAR, TYP_TYPE, Variable, Warning, Whole_Subscript_Opr, Whole_Substring_Opr, and xref_state.
Referenced by decl_semantics().
static void gen_allocatable_ptr_ptee | ( | int | attr_idx | ) | [static] |
Definition at line 12104 of file s_dcls.c.
References AT_DEF_COLUMN, AT_DEF_LINE, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CLASS, ATD_FLD, ATD_PE_ARRAY_IDX, ATD_PTR_IDX, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATD_VARIABLE_TMP_IDX, Based, BD_RANK, Character, CREATE_ID, CRI__Pointee, CRI_Ch_Ptr_8, CRI_Ptr_8, FALSE, Func_Entry, Func_Exit, gen_compiler_tmp(), Internal, ntr_stor_blk_tbl(), NULL, NULL_IDX, pointee_based_blk, Pointee_Blk, PRINTMSG(), sb_len, sb_name, set_up_bd_tmps(), Shared, id_str_entry::string, TRACE, TRUE, and TYP_TYPE.
Referenced by attr_semantics().
static void gen_assumed_shape_copy | ( | opnd_type * | top_opnd | ) | [static] |
Definition at line 8816 of file s_dcls.c.
References After, AL_ATTR_IDX, AL_NEXT_IDX, Alloc_Opr, Asg_Opr, Assignment_Stmt, AT_DEFINED, AT_OPTIONAL, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_AUTO_BASE_IDX, ATD_COPY_ASSUMED_SHAPE, ATD_FLD, ATD_INTENT, ATD_SF_ARG_IDX, ATD_TMP_IDX, ATD_TYPE_IDX, ATL_DEF_STMT_IDX, ATP_ENTRY_LABEL_SH_IDX, BD_RANK, BD_XT_IDX, Before, Br_True_Opr, Br_Uncond_Opr, CG_INTEGER_DEFAULT_TYPE, CIF_No_Usage_Rec, cmd_line_flags, CN_INTEGER_NEG_ONE_IDX, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, contig_test_ir_idx, Continue_Stmt, copy_entry_exit_sh_list(), COPY_OPND, copy_subtree(), create_tmp_asg(), curr_scp_idx, curr_stmt_sh_idx, Dv_Access_A_Contig, Dv_Access_Base_Addr, Eq_Opr, expr_semantics(), FALSE, FREE_SH_NODE, Func_Entry, Func_Exit, gen_branch_around_ir(), gen_darg_branch_test(), gen_internal_lbl(), gen_ir(), gen_ir_at_this_entry(), gen_opnd(), gen_present_ir(), gen_runtime_conformance(), gen_sh(), get_shape_from_attr(), Goto_Stmt, If_Stmt, init_exp_desc, Intent_In, Intent_Inout, Intent_Out, Internal, 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_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Label_Opr, LOGICAL_DEFAULT_TYPE, Ne_Opr, NTR_IR_TBL, ntr_sh_tbl(), NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, PRINTMSG(), expr_semantics_args::rank, reassign_XT_temps, cmd_line_flags_entry::runtime_conformance, SA_INTEGER_DEFAULT_TYPE, SCP_ATTR_IDX, SCP_ENTRY_IDX, SCP_EXIT_IR_SH_IDX, set_up_which_entry_tmp(), SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, SH_STMT_TYPE, shared_bd_idx, TRACE, TRUE, TYPELESS_DEFAULT_TYPE, and xref_state.
Referenced by decl_semantics().
static int gen_auto_length | ( | int | attr_idx, |
opnd_type * | len_opnd | ||
) | [static] |
Definition at line 9641 of file s_dcls.c.
References AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_TYPE_IDX, ATT_CHAR_SEQ, BD_LEN_FLD, BD_LEN_IDX, BD_SM_FLD, BD_SM_IDX, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, Character, check_type_for_size_address(), CIF_No_Usage_Rec, CN_Tbl_Idx, COPY_OPND, expr_semantics(), Func_Entry, Func_Exit, 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_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Mult_Opr, NTR_IR_TBL, NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, expr_semantics_args::rank, Structure, TARGET_MAX_HALF_WORD_STORAGE_TYPE, target_t3e, TRACE, TRUE, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, and xref_state.
Referenced by gen_single_automatic_allocate().
static void gen_branch_around_ir | ( | int | condition_idx, |
int | start_sh_idx, | ||
int | end_sh_idx | ||
) | [static] |
Definition at line 9478 of file s_dcls.c.
References After, AT_Tbl_Idx, Before, Br_True_Opr, Continue_Stmt, curr_stmt_sh_idx, FALSE, Func_Entry, Func_Exit, gen_internal_lbl(), gen_sh(), Goto_Stmt, 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_Tbl_Idx, IR_TYPE_IDX, Label_Opr, LOGICAL_DEFAULT_TYPE, NTR_IR_TBL, NULL, SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, TRUE, and TYPELESS_DEFAULT_TYPE.
Referenced by gen_assumed_shape_copy().
static int gen_darg_branch_test | ( | int | attr_idx | ) | [static] |
Definition at line 9329 of file s_dcls.c.
References AL_ATTR_IDX, AL_NEXT_IDX, AT_DEF_COLUMN, AT_DEF_LINE, AT_Tbl_Idx, ATD_NO_ENTRY_LIST, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, CN_Tbl_Idx, COPY_OPND, curr_scp_idx, Eq_Opr, Func_Entry, Func_Exit, gen_opnd(), 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_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NO_Tbl_Idx, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Or_Opr, SCP_ALT_ENTRY_CNT, SCP_ATTR_IDX, SCP_ENTRY_IDX, SCP_WHICH_ENTRY_TMP, and TRACE.
Referenced by gen_assumed_shape_copy().
static boolean gen_ir_at_this_entry | ( | int | entry_attr, |
int | attr_idx | ||
) | [static] |
Definition at line 7601 of file s_dcls.c.
References AL_ATTR_IDX, AL_NEXT_IDX, ATD_CLASS, ATD_FUNC_IDX, ATD_NO_ENTRY_LIST, ATP_NO_ENTRY_LIST, FALSE, Func_Entry, Func_Exit, Function_Result, NULL, NULL_IDX, TRACE, and TRUE.
Referenced by gen_assumed_shape_copy(), gen_tmp_eq_zero_ir(), and insert_sh_after_entries().
static void gen_present_ir | ( | int | attr_idx, |
int | start_sh_idx, | ||
int | end_sh_idx | ||
) | [static] |
Definition at line 7977 of file s_dcls.c.
References After, AT_DEF_COLUMN, AT_DEF_LINE, AT_Tbl_Idx, Before, Br_True_Opr, Continue_Stmt, curr_stmt_sh_idx, FALSE, Func_Entry, Func_Exit, gen_internal_lbl(), gen_sh(), Goto_Stmt, 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_Tbl_Idx, IR_TYPE_IDX, Label_Opr, LOGICAL_DEFAULT_TYPE, Not_Opr, NTR_IR_TBL, NULL, Present_Opr, SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, stmt_start_line, TRACE, TRUE, and TYPELESS_DEFAULT_TYPE.
Referenced by gen_assumed_shape_copy(), and insert_sh_after_entries().
static void gen_single_automatic_allocate | ( | int | attr_idx | ) | [static] |
Definition at line 9894 of file s_dcls.c.
References After, Alloc_Opr, AT_DEF_COLUMN, AT_DEF_LINE, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_AUTO_BASE_IDX, ATD_AUXILIARY, ATD_CLASS, ATD_STOR_BLK_IDX, ATD_SYMMETRIC, ATD_TYPE_IDX, ATT_CHAR_SEQ, Automatic_Base_Calc_Stmt, Character, CIF_No_Usage_Rec, COPY_OPND, CRI__Pointee, CRI_Ch_Ptr_8, CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Dealloc_Opr, EXIT, expr_semantics(), FALSE, Func_Entry, Func_Exit, gen_auto_length(), GEN_COMPILER_TMP_ASG, gen_sh(), insert_sh_after_entries(), 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_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NTR_IR_TBL, ntr_sh_tbl(), NULL, NULL_IDX, Priv, expr_semantics_args::rank, SCP_ENTRY_IDX, SCP_EXIT_IR_SH_IDX, SCP_SB_STACK_IDX, SH_COL_NUM, SH_COMPILER_GEN, SH_GLB_LINE, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, SSD_Alloc_Opr, SSD_Dealloc_Opr, stmt_start_col, stmt_start_line, Structure, Symmetric_Alloc_Opr, Symmetric_Dealloc_Opr, TRACE, TRUE, TYP_IDX, TYP_TYPE, TYPELESS_DEFAULT_TYPE, and xref_state.
Referenced by attr_semantics().
static void gen_tmp_eq_zero_ir | ( | int | attr_idx | ) | [static] |
Definition at line 7875 of file s_dcls.c.
References AL_ATTR_IDX, AL_NEXT_IDX, Asg_Opr, AT_DEF_COLUMN, AT_DEF_LINE, AT_Tbl_Idx, ATD_TMP_GEN_ZERO, ATD_TYPE_IDX, ATP_FIRST_SH_IDX, Automatic_Base_Size_Stmt, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, curr_scp_idx, curr_stmt_sh_idx, Func_Entry, Func_Exit, gen_ir_at_this_entry(), 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, ntr_sh_tbl(), NULL, NULL_IDX, SCP_ATTR_IDX, SCP_ENTRY_IDX, SH_COL_NUM, SH_COMPILER_GEN, SH_GLB_LINE, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, SH_STMT_TYPE, TRACE, and TRUE.
Referenced by array_dim_resolution(), ntr_bnds_sh_tmp_list(), and pe_array_dim_resolution().
int gen_tmp_equal_max_zero | ( | opnd_type * | opnd, |
int | type_idx, | ||
int | entry_idx, | ||
boolean | is_symbolic_constant, | ||
boolean | is_interface | ||
) |
Definition at line 12299 of file s_dcls.c.
References AT_OBJ_CLASS, AT_Tbl_Idx, ATD_CLASS, ATD_DEFINING_ATTR_IDX, ATD_FLD, ATD_SYMBOLIC_CONSTANT, ATD_TMP_IDX, ATD_TYPE_IDX, Automatic_Base_Size_Stmt, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, Compiler_Tmp, COPY_OPND, Data_Obj, FALSE, Func_Entry, Func_Exit, gen_compiler_tmp(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, IR_COL_NUM, IR_FLD_L, IR_IDX_L, IR_LINE_NUM, IR_LIST_CNT_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Max_Opr, ntr_bnds_sh_tmp_list(), NTR_IR_LIST_TBL, NTR_IR_TBL, ntr_sh_tbl(), NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, Priv, SH_COL_NUM, SH_COMPILER_GEN, SH_GLB_LINE, SH_P2_SKIP_ME, SH_STMT_TYPE, Symbolic_Max_Opr, TRACE, and TRUE.
Referenced by array_dim_resolution(), and pe_array_dim_resolution().
static void insert_argchck_calls | ( | int | sh_idx, |
int | pgm_attr_idx | ||
) | [static] |
Definition at line 8629 of file s_dcls.c.
References ADD_ATTR_TO_LOCAL_LIST, Aloc_Opr, Argchck_Attr_Idx, ARGCHCK_LIB_ENTRY, Argchck_Loc_Opr, ARGCHCK_NAME_LEN, Argchck_Present_Opr, AT_DEFINED, AT_Tbl_Idx, Before, Br_True_Opr, Call_Opr, Call_Stmt, CN_Tbl_Idx, Continue_Stmt, create_argchck_descriptor(), create_lib_entry_attr(), CRI_Ptr_8, curr_stmt_sh_idx, FALSE, Func_Entry, Func_Exit, gen_internal_lbl(), gen_sh(), glb_tbl_idx, If_Stmt, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_PREV_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_Tbl_Idx, IR_TYPE_IDX, Label_Opr, LOGICAL_DEFAULT_TYPE, Not_Opr, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, pgm_attr_idx, set_up_logical_constant(), SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, TRUE, TRUE_VALUE, and TYPELESS_DEFAULT_TYPE.
Referenced by decl_semantics().
static void insert_sh_after_entries | ( | int | attr_idx, |
int | start_sh_idx, | ||
int | end_sh_idx, | ||
boolean | gen_tmp_eq_0, | ||
boolean | advance_first_sh | ||
) | [static] |
Definition at line 7657 of file s_dcls.c.
References After, AL_ATTR_IDX, AL_NEXT_IDX, Asg_Opr, Assignment_Stmt, AT_DEF_COLUMN, AT_DEF_LINE, AT_OPTIONAL, AT_Tbl_Idx, ATD_CLASS, ATD_FUNC_IDX, ATD_NO_ENTRY_LIST, ATD_TMP_GEN_ZERO, ATD_TMP_IDX, ATD_TYPE_IDX, ATP_FIRST_SH_IDX, ATP_NO_ENTRY_LIST, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, copy_entry_exit_sh_list(), COPY_TBL_NTRY, curr_scp_idx, curr_stmt_sh_idx, Entry_Opr, FALSE, FREE_SH_NODE, Func_Entry, Func_Exit, Function_Result, gen_ir_at_this_entry(), gen_present_ir(), 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_tbl, IR_TYPE_IDX, NTR_IR_TBL, NULL, NULL_IDX, SCP_ATTR_IDX, SCP_ENTRY_IDX, SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, SH_NEXT_IDX, SH_PREV_IDX, TRACE, and TRUE.
Referenced by attr_semantics(), bound_resolution(), char_len_resolution(), gen_single_automatic_allocate(), and ntr_bnds_sh_tmp_list().
static void linearize_list_for_equiv | ( | int | item | ) | [static] |
Definition at line 896 of file s_dcls.c.
References AT_DCL_ERR, ATD_ARRAY_IDX, ATD_TYPE_IDX, BD_LB_FLD, BD_LB_IDX, BD_SM_FLD, BD_SM_IDX, C_TO_F_INT, CG_INTEGER_DEFAULT_TYPE, Character, CN_INTEGER_BITS_PER_WORD_IDX, CN_INTEGER_CHAR_BIT_IDX, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, size_offset_entry::constant, EQ_ATTR_IDX, EQ_LIST_IDX, EQ_SUBSTRINGED, Error, FALSE, size_offset_entry::fld, Func_Entry, Func_Exit, size_offset_entry::idx, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, on_off_flags_entry::integer_1_and_2, Minus_Opr, Mult_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, size_offset_binary_calc(), TRACE, TRUE, TYP_TYPE, and size_offset_entry::type_idx.
Referenced by equivalence_semantics().
static int merge_entry_list_count | ( | int | merged_list, |
int | new_list | ||
) | [static] |
Definition at line 7539 of file s_dcls.c.
References AL_ATTR_IDX, AL_ENTRY_COUNT, AL_NEXT_IDX, Func_Entry, Func_Exit, NULL, NULL_IDX, and TRACE.
Referenced by array_dim_resolution(), char_len_resolution(), and pe_array_dim_resolution().
static int merge_entry_lists | ( | int | merged_list, |
int | new_list | ||
) | [static] |
Definition at line 7458 of file s_dcls.c.
References AL_ATTR_IDX, AL_ENTRY_COUNT, AL_NEXT_IDX, Func_Entry, Func_Exit, NTR_ATTR_LIST_TBL, NULL, NULL_IDX, prev_idx, and TRACE.
Referenced by array_dim_resolution(), bound_semantics(), ntr_bnds_sh_tmp_list(), and pe_array_dim_resolution().
static void merge_equivalence_groups1 | ( | void | ) | [static] |
Definition at line 1114 of file s_dcls.c.
References AL_EQ_IDX, AL_NEXT_IDX, ATD_CLASS, ATD_EQUIV_LIST, curr_scp_idx, EQ_ATTR_IDX, EQ_ERROR, EQ_GRP_END_IDX, EQ_GRP_IDX, EQ_LIST_IDX, EQ_MERGED, EQ_NEXT_EQUIV_GRP, EQ_NEXT_EQUIV_OBJ, EQ_SEARCH_DONE, FALSE, Func_Entry, Func_Exit, IL_IDX, NULL, NULL_IDX, SCP_FIRST_EQUIV_GRP, TRACE, TRUE, and Variable.
Referenced by equivalence_semantics().
static void merge_equivalence_groups2 | ( | void | ) | [static] |
Definition at line 1236 of file s_dcls.c.
References AL_EQ_IDX, AL_NEXT_IDX, ATD_CLASS, ATD_EQUIV_LIST, CN_Tbl_Idx, size_offset_entry::constant, curr_scp_idx, EQ_ATTR_IDX, EQ_ERROR, EQ_GRP_END_IDX, EQ_GRP_IDX, EQ_MERGED, EQ_NEXT_EQUIV_GRP, EQ_NEXT_EQUIV_OBJ, EQ_OFFSET_FLD, EQ_OFFSET_IDX, FALSE, size_offset_entry::fld, Func_Entry, Func_Exit, size_offset_entry::idx, Minus_Opr, NO_Tbl_Idx, ntr_const_tbl(), NULL, NULL_IDX, result, SCP_FIRST_EQUIV_GRP, size_offset_binary_calc(), TRACE, TRUE, size_offset_entry::type_idx, and Variable.
Referenced by equivalence_semantics().
static boolean must_reassign_XT_temp | ( | opnd_type * | top_opnd | ) | [static] |
Definition at line 9575 of file s_dcls.c.
References AT_OPTIONAL, FALSE, Func_Entry, Func_Exit, IL_IDX, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, NULL, NULL_IDX, OPND_IDX, TRACE, and TRUE.
Referenced by decl_semantics().
static void namelist_resolution | ( | int | namelist_idx | ) | [static] |
Definition at line 7121 of file s_dcls.c.
References ADD_ATTR_TO_LOCAL_LIST, AL_ATTR_IDX, AL_NEXT_IDX, AT_ATTR_LINK, AT_DCL_ERR, AT_NAMELIST_OBJ, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_PRIVATE, AT_REFERENCED, AT_USE_ASSOCIATED, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATN_FIRST_NAMELIST_IDX, ATN_NAMELIST_DESC, ATP_ALT_ENTRY, ATP_PGM_UNIT, ATP_PROC, ATP_RSLT_IDX, ATP_RSLT_NAME, ATT_POINTER_CPNT, ATT_PRIVATE_CPNT, cmd_line_flags, curr_scp_idx, Error, FALSE, fnd_semantic_err(), FOUND, Func_Entry, Func_Exit, Function, Intrin_Proc, Module, NULL, NULL_IDX, Obj_Namelist_Obj, Pgm_Unit, PRINTMSG(), Referenced, SB_AUXILIARY, SB_BLK_TYPE, SB_IS_COMMON, SB_NAME_PTR, SCP_ATTR_IDX, SCP_ENTRY_IDX, SCP_PARENT_IDX, SN_ATTR_IDX, SN_COLUMN_NUM, SN_LINE_NUM, SN_SIBLING_LINK, Structure, Task_Common, cmd_line_flags_entry::taskcommon, TRACE, TRUE, TYP_IDX, and TYP_TYPE.
Referenced by decl_semantics().
static int ntr_bnds_sh_tmp_list | ( | opnd_type * | opnd, |
int | no_entry_list, | ||
int | sh_idx, | ||
boolean | gen_tmp_eq_0, | ||
int | type_idx | ||
) | [static] |
Definition at line 7318 of file s_dcls.c.
References AL_ATTR_IDX, AL_NEXT_IDX, AT_REFERENCED, ATD_NO_ENTRY_LIST, ATD_TMP_GEN_ZERO, ATD_TMP_IDX, compare_opnds(), COPY_OPND, curr_scp_idx, curr_stmt_sh_idx, EXIT, find_opnd_line_and_column(), FREE_SH_NODE, Func_Entry, Func_Exit, GEN_COMPILER_TMP_ASG, gen_tmp_eq_zero_ir(), insert_sh_after_entries(), IR_COL_NUM_R, IR_FLD_R, IR_IDX_R, IR_LINE_NUM_R, IR_OPND_R, merge_entry_lists(), Not_Referenced, NTR_ATTR_LIST_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Priv, SCP_ENTRY_IDX, SCP_IS_INTERFACE, SCP_TMP_FW_IDX2, SH_IR_IDX, SH_NEXT_IDX, SH_PREV_IDX, TRACE, and TRUE.
Referenced by array_dim_resolution(), char_len_resolution(), gen_tmp_equal_max_zero(), and pe_array_dim_resolution().
void pe_array_dim_resolution | ( | int | attr_idx | ) |
Definition at line 2528 of file s_dcls.c.
References AL_ENTRY_COUNT, Assumed_Size, AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_ALLOCATABLE, ATD_CLASS, ATD_CONST_IDX, ATD_FLD, ATD_FUNC_IDX, ATD_NO_ENTRY_LIST, ATD_PE_ARRAY_IDX, ATD_SYMBOLIC_CONSTANT, ATD_TMP_IDX, ATD_TYPE_IDX, ATP_NO_ENTRY_LIST, ATP_PGM_UNIT, Automatic_Base_Size_Stmt, BD_ARRAY_CLASS, BD_ARRAY_SIZE, BD_COLUMN_NUM, BD_DCL_ERR, BD_LB_FLD, BD_LB_IDX, BD_LEN_FLD, BD_LEN_IDX, BD_LINE_NUM, BD_RANK, BD_RESOLVED, BD_SM_FLD, BD_SM_IDX, BD_UB_FLD, BD_UB_IDX, BD_XT_FLD, BD_XT_IDX, CG_INTEGER_DEFAULT_TYPE, CIF_No_Usage_Rec, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, compare_cn_and_value(), Constant, Constant_Size, curr_scp_idx, Deferred_Shape, Deferred_Shape1, Eq_Opr, Error, EXIT, expr_semantics(), FALSE, size_offset_entry::fld, fold_relationals(), free_attr_list(), FREE_SH_NODE, Func_Entry, Func_Exit, Function, Function_Result, gen_compiler_tmp(), gen_tmp_eq_zero_ir(), gen_tmp_equal_max_zero(), size_offset_entry::idx, INTEGER_DEFAULT_TYPE, 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_Tbl_Idx, IR_TYPE_IDX, Lt_Opr, merge_entry_list_count(), merge_entry_lists(), Minus_Opr, Mult_Opr, NO_Tbl_Idx, ntr_bnds_sh_tmp_list(), NTR_IR_TBL, ntr_sh_tbl(), NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, Plus_Opr, PRINTMSG(), Priv, expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, SCP_ALT_ENTRY_CNT, SCP_ATTR_IDX, SCP_IS_INTERFACE, SH_COL_NUM, SH_COMPILER_GEN, SH_GLB_LINE, SH_P2_SKIP_ME, SH_STMT_TYPE, stmt_start_col, stmt_start_line, stride, Subroutine, Symbolic_Constant_Size, Symbolic_Minus_Opr, Symbolic_Mult_Opr, Symbolic_Plus_Opr, target_t3e, TRACE, TRUE, Unknown_Size, Var_Len_Array, and xref_state.
Referenced by array_bounds_resolution(), and attr_semantics().
static void reshape_array_semantics | ( | void | ) | [static] |
Definition at line 12020 of file s_dcls.c.
References AL_ATTR_IDX, AL_NEXT_IDX, AT_DEF_COLUMN, AT_DEF_LINE, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, ATD_ARRAY_IDX, ATD_CLASS, ATD_DATA_INIT, ATD_RESHAPE_ARRAY_OPT, BD_ARRAY_CLASS, BD_RANK, Constant, CREATE_ID, CRI__Pointee, curr_scp_idx, Data_Obj, Error, Explicit_Shape, FP_NAME_LEN, FP_NAME_PTR, FP_NEXT_FILE_IDX, Func_Entry, Func_Exit, NTR_ATTR_LIST_TBL, NULL, NULL_IDX, opt_flags, PRINTMSG(), reshape_array_list, opt_flags_entry::reshape_idx, SCP_ATTR_IDX, srch_sym_tbl(), stmt_start_line, TOKEN_COLUMN, TOKEN_ID, TOKEN_LEN, TOKEN_LINE, TOKEN_STR, TRACE, TRUE, and Warning.
Referenced by decl_semantics().
static int set_up_bd_tmps | ( | int | rank, |
int | line, | ||
int | col, | ||
int | stor_blk_idx, | ||
boolean | assumed_size | ||
) | [static] |
Definition at line 12196 of file s_dcls.c.
References Assumed_Size, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, BD_ARRAY_CLASS, BD_ARRAY_SIZE, BD_COLUMN_NUM, BD_FLOW_DEPENDENT, BD_LB_FLD, BD_LB_IDX, BD_LEN_FLD, BD_LEN_IDX, BD_LINE_NUM, BD_RANK, BD_RESOLVED, BD_SM_FLD, BD_SM_IDX, BD_UB_FLD, BD_UB_IDX, BD_XT_FLD, BD_XT_IDX, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, Explicit_Shape, Func_Entry, Func_Exit, gen_compiler_tmp(), ntr_array_in_bd_tbl(), NULL, reserve_array_ntry(), SA_INTEGER_DEFAULT_TYPE, Shared, TRACE, TRUE, and Var_Len_Array.
Referenced by gen_allocatable_ptr_ptee().
static void tmp_il_resolution | ( | int | list_idx | ) | [static] |
Definition at line 8141 of file s_dcls.c.
References AT_Tbl_Idx, attr_semantics(), FALSE, Func_Entry, Func_Exit, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_Tbl_Idx, IR_Tbl_Idx, NULL, NULL_IDX, tmp_ir_resolution(), and TRACE.
Referenced by attr_semantics(), and tmp_ir_resolution().
static void tmp_ir_resolution | ( | int | ir_idx | ) | [static] |
Definition at line 8084 of file s_dcls.c.
References AT_Tbl_Idx, attr_semantics(), FALSE, Func_Entry, Func_Exit, IL_Tbl_Idx, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_Tbl_Idx, NULL, tmp_il_resolution(), and TRACE.
Referenced by attr_semantics(), and tmp_il_resolution().
static void verify_interface | ( | int | interface_idx | ) | [static] |
Definition at line 10745 of file s_dcls.c.
References Assumed_Size_Char, AT_ATTR_LINK, AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_IS_INTRIN, AT_MODULE_IDX, AT_NAME_IDX, AT_NAME_LEN, AT_OBJ_CLASS, AT_OBJ_NAME_LONG, AT_OBJ_NAME_PTR, AT_OPTIONAL, AT_PRIVATE, AT_USE_ASSOCIATED, ATD_ARRAY_IDX, ATD_INTENT, ATD_TYPE_IDX, ATI_DEFINED_OPR, ATI_FIRST_SPECIFIC_IDX, ATI_INTERFACE_CLASS, ATI_PROC_IDX, ATP_EXTRA_DARG, ATP_FIRST_IDX, ATP_INLINE_ALWAYS, ATP_INLINE_NEVER, ATP_MODULE_STR_IDX, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_PROC, ATP_RSLT_IDX, attr_semantics(), BD_RANK, Character, compare_dummy_arguments(), compare_names(), curr_scp_idx, Data_Obj, Defined_Assign_Interface, Defined_Binary_Interface, Defined_Interface, Defined_Unary_Interface, Defined_Unary_Or_Binary_Interface, Error, EXIT, FALSE, Func_Entry, Func_Exit, Function, Generic_Function_Interface, Generic_Subroutine_Interface, Generic_Unknown_Interface, idx, Intent_In, Intent_Unseen, Interface, Internal, Module, Module_Proc, NULL, NULL_IDX, operation_is_intrinsic(), Pgm_Unit, Pgm_Unknown, PRINTMSG(), SCP_ATTR_IDX, SN_ATTR_IDX, SN_COLUMN_NUM, SN_LINE_NUM, SN_MATCHED_DARG, SN_NAME_IDX, SN_SIBLING_LINK, srch_kwd_name(), Structure, Subroutine, TRACE, TRUE, TYP_CHAR_CLASS, TYP_IDX, TYP_TYPE, and TYPELESS_DEFAULT_TYPE.
Referenced by attr_semantics().
Definition at line 62 of file s_dcls.c.
Referenced by attr_semantics(), deallocate_local_allocatables(), and decl_semantics().
Definition at line 63 of file s_dcls.c.
Referenced by attr_semantics(), and decl_semantics().
Definition at line 64 of file s_dcls.c.
Referenced by attr_semantics(), and decl_semantics().
int init_sh_end_idx |
Definition at line 66 of file s_dcls.c.
Referenced by decl_semantics().
Definition at line 65 of file s_dcls.c.
Referenced by decl_semantics().
Definition at line 67 of file s_dcls.c.
Referenced by attr_semantics(), and decl_semantics().
Definition at line 68 of file s_dcls.c.
Referenced by attr_semantics(), deallocate_local_allocatables(), and decl_semantics().
Definition at line 69 of file s_dcls.c.
Referenced by attr_semantics(), decl_semantics(), and gen_allocatable_ptr_ptee().
Definition at line 70 of file s_dcls.c.
Referenced by attr_semantics(), decl_semantics(), and reshape_array_semantics().