Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
s_dcls.c File Reference
#include "defines.h"
#include "host.m"
#include "host.h"
#include "target.m"
#include "target.h"
#include "globals.m"
#include "tokens.m"
#include "sytb.m"
#include "s_globals.m"
#include "debug.m"
#include "globals.h"
#include "tokens.h"
#include "sytb.h"
#include "s_globals.h"
Include dependency graph for s_dcls.c:

Go to the source code of this file.

Functions

static void assign_offsets_for_equiv_groups (void)
static void attr_semantics (int, boolean)
static void bound_resolution (int)
static boolean compare_darg_or_rslt_types (int, int)
static void compare_duplicate_interface_bodies (int)
static void compare_entry_to_func_rslt (int, int)
static boolean darg_in_entry_list (int, int)
static void deallocate_local_allocatables (void)
static void distribution_resolution (int)
static void equivalence_semantics (void)
static void gen_assumed_shape_copy (opnd_type *)
static int gen_auto_length (int, opnd_type *)
static void gen_branch_around_ir (int, int, int)
static int gen_darg_branch_test (int)
static boolean gen_ir_at_this_entry (int, int)
static void gen_present_ir (int, int, int)
static void gen_single_automatic_allocate (int)
static void gen_tmp_eq_zero_ir (int)
static void insert_argchck_calls (int, int)
static void insert_sh_after_entries (int, int, int, boolean, boolean)
static void linearize_list_for_equiv (int)
static int merge_entry_lists (int, int)
static int merge_entry_list_count (int, int)
static void merge_equivalence_groups1 (void)
static void merge_equivalence_groups2 (void)
static boolean must_reassign_XT_temp (opnd_type *)
static void namelist_resolution (int)
static int ntr_bnds_sh_tmp_list (opnd_type *, int, int, boolean, int)
static void reshape_array_semantics (void)
static void tmp_il_resolution (int)
static void tmp_ir_resolution (int)
static void verify_interface (int)
static void gen_allocatable_ptr_ptee (int)
static int set_up_bd_tmps (int, int, int, int, boolean)
void array_dim_resolution (int attr_idx, boolean need_const_array)
void pe_array_dim_resolution (int attr_idx)
int bound_semantics (int attr_idx, boolean insert_in_SH_stream)
void char_len_resolution (int attr_idx, boolean must_be_const_array)
boolean compare_dummy_arguments (int idx1, int idx2)
void decl_semantics (void)
int create_equiv_stor_blk (int attr_idx, sb_type_type sb_type)
int gen_tmp_equal_max_zero (opnd_type *opnd, int type_idx, int entry_idx, boolean is_symbolic_constant, boolean is_interface)

Variables

static char USMID [] = "\n@(#)5.0_pl/sources/s_dcls.c 5.7 09/29/99 17:38:13\n"
int allocatable_list_idx
int alt_entry_equiv_blk
int alt_entry_equiv_grp
int init_sh_start_idx
int init_sh_end_idx
int namelist_list_idx
int number_of_allocatables
int pointee_based_blk
int reshape_array_list

Function Documentation

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

static boolean compare_darg_or_rslt_types ( int  idx1,
int  idx2 
) [static]
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().

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

static int merge_entry_list_count ( int  merged_list,
int  new_list 
) [static]
static int merge_entry_lists ( int  merged_list,
int  new_list 
) [static]
static boolean must_reassign_XT_temp ( opnd_type top_opnd) [static]
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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:


Variable Documentation

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().

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 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().

char USMID[] = "\n@(#)5.0_pl/sources/s_dcls.c 5.7 09/29/99 17:38:13\n" [static]

Definition at line 37 of file s_dcls.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines