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 "s_call.m"
#include "globals.h"
#include "tokens.h"
#include "sytb.h"
#include "s_globals.h"
#include "s_call.h"
Go to the source code of this file.
boolean call_list_semantics | ( | opnd_type * | result_opnd, |
expr_arg_type * | res_exp_desc, | ||
boolean | is_function | ||
) |
Definition at line 127 of file s_call.c.
References ADD_ATTR_TO_LOCAL_LIST, AL_ATTR_IDX, AL_NEXT_IDX, expr_semantics_args::allocatable, Aloc_Opr, Alt_Return_Opr, Amax0_Intrinsic, Amax1_Intrinsic, Ansi, arg_info_list, arg_info_list_base, arg_info_list_size, arg_info_list_top, arg_list, arg_list_size, Assignment_Stmt, Assumed_Shape, expr_semantics_args::assumed_shape, Assumed_Size, expr_semantics_args::assumed_size, Assumed_Size_Char, AT_ALT_DARG, AT_ATTR_LINK, AT_CIF_SYMBOL_ID, AT_COMPILER_GEND, AT_DCL_ERR, AT_DEF_IN_CHILD, AT_DEFINED, AT_ELEMENTAL_INTRIN, AT_HOST_ASSOCIATED, AT_IGNORE_ATTR_LINK, AT_IS_DARG, AT_IS_INTRIN, AT_LOCKED_IN, AT_MODULE_IDX, AT_NAME_IDX, AT_NAME_LEN, AT_NOT_VISIBLE, AT_OBJ_CLASS, AT_OBJ_NAME, AT_OBJ_NAME_PTR, AT_OPTIONAL, AT_REF_IN_CHILD, AT_REFERENCED, AT_SEMANTICS_DONE, AT_Tbl_Idx, AT_USE_ASSOCIATED, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_FUNC_IDX, ATD_IM_A_DOPE, ATD_INTENT, ATD_POINTER, ATD_STOR_BLK_IDX, ATD_TARGET, ATD_TYPE_IDX, ATI_CIF_SEEN_IN_CALL, ATI_FIRST_SPECIFIC_IDX, ATI_INTERFACE_CLASS, ATI_NUM_SPECIFICS, ATI_USER_SPECIFIED, ATP_ARGCHCK_CALL, ATP_DCL_EXTERNAL, ATP_DUMMY_PROC_LINK, ATP_ELEMENTAL, ATP_EXPL_ITRFC, ATP_EXTERNAL_INTRIN, ATP_EXTRA_DARG, ATP_FIRST_IDX, ATP_HAS_ALT_RETURN, ATP_IN_INTERFACE_BLK, ATP_INTERFACE_IDX, ATP_INTRIN_ENUM, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_PROC, ATP_PURE, ATP_RECURSIVE, ATP_RSLT_IDX, ATP_RSLT_NAME, ATP_SCP_ALIVE, ATP_SCP_IDX, ATP_TASK_SHARED, ATP_VFUNCTION, cdir_switch_entry::autoscope, BD_ARRAY_CLASS, BD_RANK, Before, Bit_Size_Intrinsic, Blockdata, Br_Index_Opr, cdir_switches, CG_INTEGER_DEFAULT_TYPE, expr_semantics_args::char_len, Character, check_arg_for_co_array(), check_for_elementals(), check_for_legal_define(), cif_call_site_rec(), cif_flags, CIF_No_Usage_Rec, cif_object_rec_for_func_result(), CIF_Symbol_Reference, cif_usage_rec(), Clock_Intrinsic, cmd_line_flags, Cmplx_Intrinsic, CN_CONST, CN_INT_TO_C, CN_Tbl_Idx, CN_TYPE_IDX, cmd_line_flags_entry::co_array_fortran, arg_strct::col, Comment, compare_darg_to_actual_arg(), expr_semantics_args::contig_array, COPY_ATTR_NTRY, COPY_OPND, COPY_SHAPE, copy_subtree(), COPY_TBL_NTRY, create_argchck_descriptor(), CREATE_FUNC_RSLT, CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Date_Intrinsic, Dble_Intrinsic, defer_stmt_expansion, Digits_Intrinsic, Dmax1_Intrinsic, expr_semantics_args::dope_vector, Dummy_Proc, arg_strct::ed, enlarge_call_list_tables(), enlarge_info_list_table(), Error, EXIT, expr_mode, expr_semantics(), FALSE, False_Parm_Opr, final_arg_work(), find_base_attr(), find_left_attr(), find_opnd_line_and_column(), flatten_function_call(), fnd_semantic_err(), expr_semantics_args::foldable, Func_Entry, Func_Exit, Function, FUNCTION_MUST_BE_SUBROUTINE, gen_compiler_tmp(), gen_sh(), Generic_Function_Interface, Generic_Subroutine_Interface, Generic_Unknown_Interface, get_char_len(), get_shape_from_attr(), expr_semantics_args::has_symbolic, host_associated_attr_semantics(), Huge_Intrinsic, idx, IL_ARG_DESC_IDX, IL_ARG_DESC_VARIANT, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, IM_TYPE_IDX, IMPL_IDX, in_call_list, init_arg_info, init_exp_desc, Initialization_Expr, Integer, Intent_Inout, Intent_Out, Interface, Intern_Proc, Internal, Intrin_Proc, intrinsic_semantics, io_item_must_flatten, IR_ARRAY_SYNTAX, IR_COL_NUM, IR_COL_NUM_L, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_INLINE_STATE, IR_LINE_NUM, IR_LINE_NUM_L, IR_LIST_CNT_R, IR_OPND_R, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, Irtc_Intrinsic, Jdate_Intrinsic, Kind_Intrinsic, arg_strct::kwd, kwd, Kwd_Opr, Label, expr_semantics_args::label, label_allowed, Lbound_Intrinsic, Len_Intrinsic, arg_strct::line, expr_semantics_args::linear_type, Log2_Images_Intrinsic, Max0_Intrinsic, Max1_Intrinsic, max_call_list_size, Max_Intrinsic, Maxexponent_Intrinsic, arg_strct::maybe_modified, Merge_Intrinsic, Min0_Intrinsic, Min_Intrinsic, Minexponent_Intrinsic, MISC_RECS, Module, Module_Proc, msg_num_entry::msg_num, need_pure_function, no_func_expansion, cdir_switch_entry::no_internal_calls, NO_Tbl_Idx, Not_Referenced, Not_Specified_Sgi, NTR_ATTR_LIST_TBL, NTR_ATTR_TBL, NTR_IR_LIST_TBL, NTR_IR_TBL, NTR_SN_TBL, NULL, NULL_IDX, Null_Intrinsic, null_opnd, msg_num_entry::num_args, Num_Images_Intrinsic, Numarg_Intrinsic, Obj_Use_Extern_Func, Obj_Use_Extern_Subr, Obj_Use_Init_Expr, Obj_Use_Spec_Expr, on_off_flags, OPND_FLD, OPND_IDX, cdir_switch_entry::parallel_region, Pgm_Unit, arg_strct::pgm_unit, Pgm_Unknown, expr_semantics_args::pointer, Precision_Intrinsic, PRINTMSG(), Priv, Program, Radix_Intrinsic, Ranf_Intrinsic, Range_Intrinsic, expr_semantics_args::rank, Real, on_off_flags_entry::recursive, Referenced, Regular_Expr, Rem_Images_Intrinsic, Repeat_Intrinsic, Reshape_Intrinsic, Restricted_Imp_Do_Expr, Rtc_Intrinsic, cmd_line_flags_entry::runtime_arg_call, cmd_line_flags_entry::runtime_argument, SCP_ATTR_IDX, SCP_HAS_CALLS, SCP_SB_DARG_IDX, SCP_SB_STACK_IDX, SCP_TMP_LIST, sec_name_tbl, Section_Subscript_Opr, SET_IMPL_TYPE_IN_SCP, set_inline_state(), set_shape_for_deferred_funcs(), SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, expr_semantics_args::shape, Shape_Intrinsic, expr_semantics_args::shape_known, SIK_Intrinsic, Size_Intrinsic, SN_ATTR_IDX, SN_NAME_IDX, SN_NAME_LEN, SN_SIBLING_LINK, SOURCE_TO_SOURCE, Specification_Expr, srch_kwd_name(), srch_sym_tbl(), SRK_Intrinsic, stmt_expansion_control_end(), stmt_expansion_control_start(), Stmt_Expansion_Opr, Stmt_Func_Expr, storage_bit_size_tbl, Struct_Opr, Structure, Subroutine, Subscript_Opr, Substring_Opr, expr_semantics_args::target, expr_semantics_args::tmp_reference, TRACE, Transfer_Intrinsic, Trim_Intrinsic, Triplet_Opr, TRUE, TYP_CHAR_CLASS, TYP_IDX, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, TYPELESS_DEFAULT_TYPE, Ubound_Intrinsic, Unknown_Intrinsic, Warning, where_ir_idx, Whole_Subscript_Opr, Whole_Substring_Opr, expr_semantics_args::will_fold_later, within_forall_construct, within_forall_mask_expr, XREF_RECS, and xref_state.
Referenced by call_stmt_semantics(), gen_bounds_check_call(), gen_conform_check_call(), gen_ptr_chk_call(), gen_rbounds_check_call(), and gen_sbounds_check_call().
void change_asg_to_where | ( | int | asg_idx | ) |
Definition at line 2177 of file s_call.c.
References Call_Opr, COPY_OPND, Func_Entry, Func_Exit, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, IR_FLD_L, IR_IDX_L, IR_IDX_R, IR_LIST_CNT_L, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NTR_IR_LIST_TBL, NULL, null_opnd, TRACE, where_ir_idx, and Where_Opr.
Referenced by assignment_stmt_semantics(), check_for_elementals(), and flatten_function_call().
static boolean check_arg_for_co_array | ( | opnd_type * | top_opnd | ) | [static] |
Definition at line 12476 of file s_call.c.
References COPY_OPND, Dv_Deref_Opr, Error, FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, IL_NEXT_LIST_IDX, IL_OPND, IL_PE_SUBSCRIPT, IR_IDX_L, IR_IDX_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, NULL, OPND_FLD, OPND_IDX, PRINTMSG(), Section_Subscript_Opr, Struct_Opr, Subscript_Opr, Substring_Opr, TRACE, Triplet_Opr, TRUE, Whole_Subscript_Opr, and Whole_Substring_Opr.
Referenced by call_list_semantics().
static void check_bd_typ_for_dargs | ( | int | bd_idx, |
int | type_idx, | ||
opnd_type * | list_opnd | ||
) | [static] |
Definition at line 8582 of file s_call.c.
References Assumed_Shape, AT_Tbl_Idx, ATD_TMP_IDX, BD_ARRAY_CLASS, BD_ARRAY_SIZE, BD_LB_FLD, BD_LB_IDX, BD_RANK, BD_UB_FLD, BD_UB_IDX, Character, COPY_OPND, Func_Entry, Func_Exit, IR_OPND_R, NULL, NULL_IDX, search_expr_for_dargs(), TRACE, TYP_CHAR_CLASS, TYP_ORIG_LEN_IDX, TYP_TYPE, Var_Len_Array, and Var_Len_Char.
Referenced by process_variable_size_func(), and search_expr_for_dargs().
static void check_call_for_global_def | ( | int | list_idx, |
int | spec_idx, | ||
int | num_dargs | ||
) | [static] |
Definition at line 11217 of file s_call.c.
References AT_NAME_LEN, AT_OBJ_NAME_PTR, ATP_NAME_IN_STONE, ATP_PROC, Dummy_Proc, Error, Func_Entry, Func_Exit, GA_DEF_LINE, GA_DEFINED, GA_OBJ_CLASS, GAC_PGM_UNIT_IDX, GAP_NEEDS_EXPL_ITRFC, GAP_NEXT_PGM_UNIT_IDX, GL_FILE_NAME_PTR, GLOBAL_LINE_TO_FILE_LINE, GN_ATTR_IDX, Internal, ntr_global_attr_tbl(), ntr_ref_in_global_tbl(), NULL, NULL_IDX, Pgm_Unit, PRINTMSG(), srch_global_name_tbl(), stmt_start_col, stmt_start_line, and TRACE.
Referenced by final_arg_work().
static boolean check_elemental_conformance | ( | int | start_il_idx, |
expr_arg_type * | res_exp_desc | ||
) | [static] |
Definition at line 11605 of file s_call.c.
References arg_info_list, CN_Tbl_Idx, COPY_OPND, COPY_SHAPE, arg_strct::ed, Error, FALSE, find_opnd_line_and_column(), fold_relationals(), Func_Entry, Func_Exit, IL_ARG_DESC_IDX, IL_NEXT_LIST_IDX, IL_OPND, Internal, Ne_Opr, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, expr_semantics_args::shape, SHAPE_FOLDABLE, stmt_start_col, stmt_start_line, TRACE, and TRUE.
Referenced by final_arg_work().
static void check_expr_for_elementals | ( | opnd_type * | top_opnd | ) | [static] |
Definition at line 2110 of file s_call.c.
References AT_OBJ_CLASS, AT_Tbl_Idx, ATD_CLASS, ATD_ELEMENTAL_CALL_TMP, check_for_elementals(), CN_Tbl_Idx, Compiler_Tmp, COPY_OPND, Data_Obj, Func_Entry, Func_Exit, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, IR_OPND_L, IR_OPND_R, IR_Tbl_Idx, NO_Tbl_Idx, NULL, OPND_FLD, OPND_IDX, SH_Tbl_Idx, and TRACE.
Referenced by check_for_elementals().
static void check_for_constructors | ( | opnd_type * | top_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 11792 of file s_call.c.
References arg_info_list, Array_Construct_Opr, Call_Opr, COPY_OPND, COPY_SHAPE, create_runtime_array_constructor(), arg_strct::ed, Func_Entry, Func_Exit, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, IR_IDX_L, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NULL, OPND_FLD, OPND_IDX, expr_semantics_args::rank, expr_semantics_args::shape, Stmt_Expansion_Opr, and TRACE.
Referenced by final_arg_work().
static void check_for_elementals | ( | int | attr_idx | ) | [static] |
Definition at line 2006 of file s_call.c.
References Asg_Opr, AT_DEF_COLUMN, AT_DEF_LINE, AT_OBJ_CLASS, ATD_ARRAY_IDX, ATD_ASG_TMP, ATD_CLASS, ATD_ELEMENTAL_CALL_TMP, ATD_FLD, ATD_TMP_IDX, ATP_ELEMENTAL, Call_Opr, change_asg_to_where(), check_expr_for_elementals(), Compiler_Tmp, COPY_OPND, Data_Obj, find_left_attr(), Func_Entry, Func_Exit, IL_NEXT_LIST_IDX, IL_OPND, Internal, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NULL, NULL_IDX, PRINTMSG(), and TRACE.
Referenced by call_list_semantics(), and check_expr_for_elementals().
static boolean compare_darg_to_actual_arg | ( | int | gen_idx, |
int | spec_idx, | ||
int | arg_attr, | ||
opnd_type | list_opnd, | ||
int | info_idx, | ||
int | spec_count | ||
) | [static] |
Definition at line 11870 of file s_call.c.
References Ansi, arg_info_list, Assumed_Shape, AT_ELEMENTAL_INTRIN, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_IGNORE_TKR, ATD_INTRIN_DARG_TYPE, ATD_POINTER, ATD_TYPE_IDX, ATP_ELEMENTAL, ATP_EXPL_ITRFC, ATP_EXTRA_DARG, ATP_FIRST_IDX, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_PROC, ATP_RSLT_IDX, BD_ARRAY_CLASS, BD_RANK, cast_to_type_idx(), Caution, Character, CN_HOLLERITH_TYPE, CN_Tbl_Idx, compare_derived_types(), compare_func_result(), Complex, COPY_OPND, Data_Obj, arg_strct::ed, Error, FALSE, find_opnd_line_and_column(), fold_relationals(), Func_Entry, Func_Exit, Function, get_basic_type_str(), H_Hollerith, idx, Integer, Internal, Intrin_Proc, IR_OPR, IR_Tbl_Idx, L_Hollerith, expr_semantics_args::linear_type, Lt_Opr, NULL, NULL_IDX, Null_Intrinsic_Opr, num_host_wds, OPND_FLD, OPND_IDX, Pgm_Unit, arg_strct::pgm_unit, Pgm_Unknown, expr_semantics_args::pointer, print_at_all(), PRINTMSG(), expr_semantics_args::rank, Real, Short_Typeless_Const, SN_ATTR_IDX, stmt_start_col, stmt_start_line, storage_bit_kind_tbl, Structure, Subroutine, TRACE, TRUE, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, and validate_char_len().
Referenced by call_list_semantics().
static boolean compare_func_result | ( | int | darg_attr, |
int | a_type_idx, | ||
int | a_type, | ||
int | a_linear_type, | ||
int | a_rank, | ||
int | spec_count, | ||
int | line, | ||
int | column | ||
) | [static] |
Definition at line 12385 of file s_call.c.
References ATD_ARRAY_IDX, ATD_TYPE_IDX, ATP_RSLT_IDX, BD_RANK, Character, compare_derived_types(), Error, FALSE, Func_Entry, Func_Exit, get_basic_type_str(), NULL, NULL_IDX, PRINTMSG(), storage_bit_kind_tbl, Structure, TRACE, TRUE, TYP_LINEAR, and TYP_TYPE.
Referenced by compare_darg_to_actual_arg().
static int copy_and_replace_tmps | ( | int | attr_idx | ) | [static] |
Definition at line 7594 of file s_call.c.
References Assignment_Stmt, AT_ATTR_LINK, AT_DEFINED, AT_REFERENCED, AT_SEMANTICS_DONE, AT_TYPED, ATD_CLASS, ATD_CONST_IDX, ATD_FLD, ATD_TMP_IDX, ATD_TYPE_IDX, Before, CIF_No_Usage_Rec, CN_Tbl_Idx, Constant, COPY_OPND, copy_subtree(), curr_stmt_sh_idx, expr_semantics(), FALSE, Func_Entry, Func_Exit, gen_compiler_tmp(), GEN_COMPILER_TMP_ASG, gen_sh(), IR_OPND_R, Not_Referenced, NULL, OPND_FLD, OPND_IDX, Priv, expr_semantics_args::rank, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, stmt_start_col, stmt_start_line, TRACE, TRUE, expr_semantics_args::type_idx, and xref_state.
Referenced by make_new_bd_entries().
int create_argchck_descriptor | ( | opnd_type * | call_opnd | ) |
Definition at line 8762 of file s_call.c.
References argchck_suppress_msg, Asg_Opr, Assignment_Stmt, AT_DEF_COLUMN, AT_DEF_LINE, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATP_EXTRA_DARG, ATP_FIRST_IDX, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_RSLT_IDX, Before, Bor_Opr, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, cmd_line_flags, CN_INTEGER_ONE_IDX, CN_INTEGER_TWO_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, COPY_OPND, CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, FALSE, find_left_attr(), Func_Entry, Func_Exit, Function, gen_arg_type_descriptor(), gen_call_type_descriptor(), gen_compiler_tmp(), gen_sh(), gen_static_integer_array_tmp(), gen_whole_subscript(), IL_ARG_DESC_IDX, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, Init_Opr, Init_Reloc_Opr, 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_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Loc_Opr, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, num_argchck_suppress_msg, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, Priv, cmd_line_flags_entry::runtime_arg_count_only, SB_FIRST_ATTR_IDX, SCP_SB_STACK_IDX, set_sb_first_attr_idx(), SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, Shiftl_Opr, Subscript_Opr, TRACE, TRUE, and TYPELESS_DEFAULT_TYPE.
Referenced by call_list_semantics(), insert_argchck_calls(), and resolve_ext_opr().
static int create_struct_argchck_tbl | ( | int | dt_idx | ) | [static] |
Definition at line 10685 of file s_call.c.
References Assignment_Stmt, AT_Tbl_Idx, Before, CG_INTEGER_DEFAULT_TYPE, CLEAR_TBL_NTRY, cmd_line_flags, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_POOL_IDX, CN_Tbl_Idx, CP_CONSTANT, curr_stmt_sh_idx, cmd_line_flags_entry::dalign, determine_struct_tbl_size(), FALSE, fill_in_struct_argchck_const(), Func_Entry, Func_Exit, gen_sh(), gen_static_integer_array_tmp(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, Init_Opr, Internal, 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_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, ntr_type_tbl(), NULL, PRINTMSG(), SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, stmt_start_col, stmt_start_line, Subscript_Opr, TRACE, TRUE, TYP_BIT_LEN, TYP_TYPE, TYP_WORK_IDX, type_tbl, Typeless, and TYPELESS_DEFAULT_TYPE.
Referenced by gen_arg_type_descriptor(), and gen_call_type_descriptor().
int create_tmp_asg | ( | opnd_type * | r_opnd, |
expr_arg_type * | exp_desc, | ||
opnd_type * | left_opnd, | ||
int | intent, | ||
boolean | stmt_tmp, | ||
boolean | save_where_dealloc_stmt | ||
) |
Definition at line 4851 of file s_call.c.
References After, alloc_block_end_idx, alloc_block_start_idx, Alloc_Opr, Asg_Opr, Assignment_Stmt, AT_DEFINED, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_ASG_TMP, ATD_AUTO_BASE_IDX, ATD_AUTOMATIC, ATD_FLD, ATD_STOR_BLK_IDX, ATD_TMP_IDX, ATT_CHAR_SEQ, BD_LEN_FLD, BD_LEN_IDX, Before, Character, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, expr_semantics_args::constant, expr_semantics_args::contig_array, contig_test_ir_idx, COPY_OPND, copy_subtree(), curr_scp_idx, curr_stmt_sh_idx, Dealloc_Opr, defer_stmt_expansion, determine_tmp_size(), FALSE, find_opnd_line_and_column(), expr_semantics_args::foldable, Func_Entry, Func_Exit, gen_bd_entry(), GEN_COMPILER_TMP_ASG, gen_if_stmt(), gen_opnd(), gen_sh(), gen_whole_subscript(), gen_whole_substring(), get_stmt_tmp(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, Intent_In, Intent_Inout, Intent_Out, Internal, 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_OPND_L, IR_OPND_R, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, Max_Opr, Ne_Opr, NTR_IR_LIST_TBL, NTR_IR_TBL, ntr_sh_tbl(), NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, orig_sh_idx, PRINTMSG(), Priv, expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, SCP_SB_BASED_IDX, expr_semantics_args::section, 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, stmt_expansion_control_end(), stmt_expansion_control_start(), stmt_start_col, stmt_start_line, Structure, expr_semantics_args::tmp_reference, TRACE, transform_char_sequence_ref(), TRUE, TYP_FLD, TYP_IDX, expr_semantics_args::type, expr_semantics_args::type_idx, TYPELESS_DEFAULT_TYPE, validate_char_len(), where_dealloc_stmt_idx, and expr_semantics_args::will_fold_later.
Referenced by adjustl_intrinsic(), create_runtime_array_constructor(), directive_stmt_semantics(), doall_cmic_semantics(), doparallel_cmic_semantics(), else_stmt_semantics(), encode_decode_stmt_semantics(), expand_io_list(), final_arg_work(), forall_semantics(), gen_assumed_shape_copy(), goto_stmt_semantics(), io_ctl_list_semantics(), make_logical_array_tmp(), mp_directive_semantics(), open_mp_directive_semantics(), optimize_reshape(), parallel_cmic_semantics(), random_seed_intrinsic(), ranget_intrinsic(), select_stmt_semantics(), stmt_func_call_opr_handler(), and where_stmt_semantics().
static int create_tmp_DV_asg | ( | int | list_idx, |
int | info_idx | ||
) | [static] |
Definition at line 5783 of file s_call.c.
References arg_info_list, Assignment_Stmt, ATD_ARRAY_IDX, Before, COPY_OPND, curr_stmt_sh_idx, Dv_Deref_Opr, Dv_Whole_Copy_Opr, arg_strct::ed, FALSE, find_base_attr(), find_opnd_line_and_column(), Func_Entry, Func_Exit, GEN_COMPILER_TMP_ASG, gen_sh(), IL_FLD, IL_IDX, IL_OPND, Internal, IR_DV_DIM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NULL, NULL_IDX, PRINTMSG(), Priv, expr_semantics_args::rank, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, stmt_start_col, stmt_start_line, TRACE, TRUE, Whole_Subscript_Opr, and Whole_Substring_Opr.
Referenced by final_arg_work().
static int create_tmp_from_stmt_func | ( | int | sf_idx | ) | [static] |
Definition at line 7206 of file s_call.c.
References Assignment_Stmt, ATS_SF_FLD, ATS_SF_IDX, Before, CIF_No_Usage_Rec, COPY_OPND, copy_subtree(), curr_stmt_sh_idx, expr_semantics(), FALSE, Func_Entry, Func_Exit, GEN_COMPILER_TMP_ASG, gen_opnd(), gen_sh(), IR_OPND_R, NULL, Priv, expr_semantics_args::rank, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, stmt_start_col, stmt_start_line, TRACE, TRUE, expr_semantics_args::type_idx, update_components(), and xref_state.
Referenced by expand_user_bound().
static void determine_num_elements | ( | opnd_type * | opnd, |
expr_arg_type * | exp_desc, | ||
int | line, | ||
int | col | ||
) | [static] |
Definition at line 6398 of file s_call.c.
References CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, COPY_OPND, Func_Entry, Func_Exit, 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_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_L, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Max_Opr, Mult_Opr, NO_Tbl_Idx, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, null_opnd, OPND_FLD, OPND_IDX, expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, expr_semantics_args::shape, and TRACE.
Referenced by gen_bd_entry().
static int determine_struct_tbl_size | ( | int | dt_idx | ) | [static] |
Definition at line 10832 of file s_call.c.
References AT_NAME_LEN, ATD_ARRAY_IDX, ATD_POINTER, ATD_TYPE_IDX, ATT_FIRST_CPNT_IDX, ATT_NUM_CPNTS, BD_ARRAY_CLASS, BD_RANK, Character, Explicit_Shape, Func_Entry, Func_Exit, NULL, NULL_IDX, size, SN_ATTR_IDX, SN_SIBLING_LINK, Structure, TRACE, TYP_IDX, and TYP_TYPE.
Referenced by create_struct_argchck_tbl().
void determine_tmp_size | ( | opnd_type * | opnd, |
int | type_idx | ||
) |
Definition at line 5924 of file s_call.c.
References AT_OBJ_NAME_PTR, ATT_CHAR_SEQ, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, BITS_TO_WORDS, C_INT_TO_CN, C_TO_F_INT, CG_INTEGER_DEFAULT_TYPE, Character, CIF_No_Usage_Rec, CN_INTEGER_CHAR_BIT_IDX, CN_Tbl_Idx, size_offset_entry::constant, COPY_OPND, Div_Opr, expr_semantics(), FALSE, find_opnd_line_and_column(), size_offset_entry::fld, Func_Entry, Func_Exit, size_offset_entry::idx, Internal, IR_COL_NUM, IR_COL_NUM_R, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Mult_Opr, NO_Tbl_Idx, ntr_const_tbl(), NTR_IR_TBL, NULL, OPND_FLD, OPND_IDX, Plus_Opr, PRINTMSG(), expr_semantics_args::rank, result, SA_INTEGER_DEFAULT_TYPE, size_offset_binary_calc(), storage_bit_size_tbl, Structure, TRACE, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, size_offset_entry::type_idx, and xref_state.
Referenced by create_runtime_array_constructor(), create_tmp_asg(), flatten_function_call(), and gen_forall_tmp().
static int expand_user_bound | ( | int | tmp_idx | ) | [static] |
Definition at line 7677 of file s_call.c.
References AT_ATTR_LINK, AT_COMPILER_GEND, AT_DEFINED, AT_OBJ_CLASS, AT_REFERENCED, AT_Tbl_Idx, AT_TYPED, ATD_CLASS, ATD_CONST_IDX, ATD_FLD, ATD_SYMBOLIC_CONSTANT, ATD_TMP_IDX, ATD_TYPE_IDX, ATS_SF_FLD, ATS_SF_IDX, CG_INTEGER_DEFAULT_TYPE, CLEAR_VARIANT_ATTR_INFO, CN_Tbl_Idx, CN_TYPE_IDX, Constant, create_tmp_from_stmt_func(), curr_stmt_sh_idx, Data_Obj, expr_is_symbolic_constant(), FALSE, find_attrs_in_il(), find_attrs_in_ir(), find_attrs_used_in_bound(), FREE_IR_NODE, FREE_SH_NODE, Func_Exit, IL_Tbl_Idx, IR_FLD_R, IR_IDX_R, IR_Tbl_Idx, Not_Referenced, NTR_ATTR_TBL, NULL, OPND_FLD, OPND_IDX, Referenced, remove_sh(), SH_IR_IDX, SH_PREV_IDX, Stmt_Func, TRACE, and TRUE.
Referenced by make_new_bd_entries().
static void fill_in_struct_argchck_const | ( | int | dt_idx, |
int | cn_idx, | ||
int * | idx | ||
) | [static] |
Definition at line 10905 of file s_call.c.
References AT_NAME_LEN, AT_OBJ_NAME_PTR, ATD_ARRAY_IDX, ATD_POINTER, ATD_TYPE_IDX, ATT_FIRST_CPNT_IDX, ATT_NUM_CPNTS, BD_ARRAY_CLASS, BD_LB_IDX, BD_RANK, BD_XT_IDX, C_TO_F_INT, CG_INTEGER_DEFAULT_TYPE, Character, CN_CONST, CN_POOL_IDX, CP_CONSTANT, Explicit_Shape, FALSE, Func_Entry, Func_Exit, get_arg_type(), idx, linear_to_kind_type, NULL, NULL_IDX, SN_ATTR_IDX, SN_SIBLING_LINK, Structure, TRACE, TYP_IDX, TYP_LINEAR, and TYP_TYPE.
Referenced by create_struct_argchck_tbl().
boolean final_arg_work | ( | opnd_type * | list_opnd, |
int | spec_idx, | ||
int | num_args, | ||
expr_arg_type * | elemental_exp_desc | ||
) |
Definition at line 2276 of file s_call.c.
References After, Aloc_Opr, arg_assoc_tbl, arg_info_list, Array_Tmp_Ptr, Asg_Opr, Assignment_Stmt, arg_strct::association, Assumed_Shape, Assumed_Size, AT_COMPILER_GEND, AT_IS_INTRIN, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_OPTIONAL, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_AUTO_BASE_IDX, ATD_AUTOMATIC, ATD_AUXILIARY, ATD_CLASS, ATD_FLD, ATD_IGNORE_TKR, ATD_IM_A_DOPE, ATD_INTENT, ATD_INTRIN_DARG_TYPE, ATD_LIVE_DO_VAR, ATD_NOT_PT_UNIQUE_MEM, ATD_PE_ARRAY_IDX, ATD_POINTER, ATD_STOR_BLK_IDX, ATD_TARGET, ATD_TMP_IDX, ATD_TYPE_IDX, ATP_ELEMENTAL, ATP_EXPL_ITRFC, ATP_EXTRA_DARG, ATP_FIRST_IDX, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_PROC, ATP_RSLT_IDX, ATP_VFUNCTION, ATT_CHAR_SEQ, Backspace_Attr_Idx, BD_ARRAY_CLASS, BD_LEN_FLD, BD_LEN_IDX, BD_RANK, Before, Buffer_In_Attr_Idx, Buffer_Out_Attr_Idx, C_INT_TO_CN, Call_Opr, Call_Stmt, cast_typeless_constant(), Caution, CG_INTEGER_DEFAULT_TYPE, expr_semantics_args::char_len, Character, Character_1, CHARACTER_DEFAULT_TYPE, check_call_for_global_def(), CHECK_CONTIG_FLAG, check_elemental_conformance(), check_for_constructors(), CIF_No_Usage_Rec, CLEAR_TBL_NTRY, Close_Attr_Idx, cmd_line_flags, CN_CONST, CN_HOLLERITH_TYPE, CN_INT_TO_C, CN_INTEGER_NEG_ONE_IDX, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_POOL_IDX, CN_Tbl_Idx, CN_TYPE_IDX, compare_cn_and_value(), Compiler_Tmp, Complex, Complex_4, Const_Len_Char, Const_Tmp_Loc_Opr, contig_test_ir_idx, COPY_IN, COPY_IN_COPY_OUT, COPY_IN_MAKE_DV, COPY_OPND, COPY_SHAPE, CP_CONSTANT, create_tmp_asg(), create_tmp_DV_asg(), CRI_Ch_Ptr_8, CRI_Parcel_Ptr_8, CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, defer_stmt_expansion, expr_semantics_args::dope_vector, dummy, Dummy_Argument, Dv_Access_A_Contig, Dv_Access_Base_Addr, Dv_Deref_Opr, arg_strct::ed, Endfile_Attr_Idx, Eq_Opr, Error, ERROR_ASSOC, EXIT, Explicit_Shape, expr_mode, expr_semantics(), FALSE, False_Parm_Opr, Fcd_Opr, find_left_attr(), find_opnd_line_and_column(), opnd_entry::fld, fold_relationals(), Func_Entry, Func_Exit, Function, gen_compiler_tmp(), GEN_COMPILER_TMP_ASG, gen_dv_whole_def(), gen_dv_whole_def_init(), gen_if_stmt(), gen_internal_call_stmt(), gen_ir(), gen_opnd(), gen_runtime_ptr_chk(), gen_sh(), gen_whole_subscript(), gen_whole_substring(), GENERATE_WHIRL, get_act_arg_type(), get_dummy_arg_type(), glb_tbl_idx, Gt_Opr, H_Hollerith, opnd_entry::idx, ir_list_tbl_entry::il, IL_ARG_MULTI_FLAGS, IL_COL_NUM, IL_FLD, IL_IDX, IL_INTRIN_PLACE_HOLDER, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, init_exp_desc, Inquire_Attr_Idx, Integer, Integer_1, Integer_2, Integer_4, INTEGER_DEFAULT_TYPE, Intent_In, Intent_Inout, Intent_Out, Internal, Intrin_Proc, IR_COL_NUM, IR_COL_NUM_L, IR_COL_NUM_R, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LINE_NUM_R, IR_LIST_CNT_L, IR_LIST_CNT_R, ir_list_tbl, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, IR_WHOLE_ARRAY, Kwd_Opr, L_Hollerith, expr_semantics_args::linear_type, ir_list_tbl_entry::link, Loc_Opr, Logical_1, Logical_2, Logical_4, LOGICAL_DEFAULT_TYPE, Lt_Opr, make_base_assumed_size(), make_base_subtree(), MAKE_DV, arg_strct::maybe_modified, Mult_Opr, Ne_Opr, NO_Tbl_Idx, Not_Hollerith, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, ntr_type_tbl(), NULL, NULL_IDX, Null_Intrinsic_Opr, msg_num_entry::num_args, on_off_flags, Open_Attr_Idx, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, on_off_flags_entry::pad_char_literals, PASS_ADDRESS, PASS_ADDRESS_FROM_DV, PASS_DV, PASS_DV_COPY, PASS_SECTION_ADDRESS, Pgm_Unit, expr_semantics_args::pointer, Present_Opr, ir_list_link_entry::prev_idx, PRINTMSG(), Priv, expr_semantics_args::rank, Real, Real_4, expr_semantics_args::reference, Regular_Expr, Rewind_Attr_Idx, cmd_line_flags_entry::runtime_ptr_chk, SA_INTEGER_DEFAULT_TYPE, save_array_syntax_subscripts(), SCP_SB_STACK_IDX, Section_Subscript_Opr, set_at_actual_arg(), SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, expr_semantics_args::shape, Short_Char_Const, Short_Typeless_Const, SN_ATTR_IDX, stmt_expansion_control_end(), stmt_expansion_control_start(), stmt_start_col, stmt_start_line, stmt_type, storage_bit_size_tbl, Struct_Opr, Structure, Subscript_Opr, Substring_Opr, THIS_IS_TRUE, expr_semantics_args::tmp_reference, TRACE, transform_char_sequence_ref(), TRUE, TYP_CHAR_CLASS, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYP_WORK_IDX, expr_semantics_args::type, expr_semantics_args::type_idx, type_tbl, TYPELESS_DEFAULT_TYPE, Unknown_Dummy, validate_char_len(), expr_semantics_args::vector_subscript, Warning, Whole_Allocatable, Whole_Sequence, Whole_Subscript_Opr, Whole_Substring_Opr, and xref_state.
Referenced by adjustl_intrinsic(), backspace_stmt_semantics(), buffer_stmt_semantics(), call_list_semantics(), close_stmt_semantics(), endfile_stmt_semantics(), flatten_function_call(), inquire_stmt_semantics(), length_intrinsic(), open_stmt_semantics(), resolve_ext_opr(), rewind_stmt_semantics(), stop_pause_stmt_semantics(), and unit_intrinsic().
static void find_attrs_in_il | ( | int | list_idx | ) | [static] |
Definition at line 7997 of file s_call.c.
References AT_Tbl_Idx, find_attrs_in_ir(), find_attrs_used_in_bound(), Func_Entry, Func_Exit, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_Tbl_Idx, IR_Tbl_Idx, NULL, NULL_IDX, and TRACE.
Referenced by expand_user_bound(), find_attrs_in_ir(), and find_attrs_used_in_bound().
static void find_attrs_in_ir | ( | int | ir_idx | ) | [static] |
Definition at line 7944 of file s_call.c.
References AT_Tbl_Idx, find_attrs_in_il(), find_attrs_used_in_bound(), Func_Entry, Func_Exit, IL_Tbl_Idx, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_Tbl_Idx, NULL, and TRACE.
Referenced by expand_user_bound(), find_attrs_in_il(), and find_attrs_used_in_bound().
static void find_attrs_used_in_bound | ( | int | attr_idx | ) | [static] |
Definition at line 7789 of file s_call.c.
References Assignment_Stmt, AT_DEF_COLUMN, AT_DEF_LINE, AT_DEFINED, AT_NAME_LEN, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_REFERENCED, AT_Tbl_Idx, ATD_CLASS, ATD_FLD, ATD_FUNC_IDX, ATD_STOR_BLK_IDX, ATD_TMP_IDX, ATI_PROC_IDX, Before, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, Compiler_Tmp, curr_stmt_sh_idx, Data_Obj, FALSE, find_attrs_in_il(), find_attrs_in_ir(), Func_Entry, Func_Exit, Function_Result, gen_sh(), host_associated_attr_semantics(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, Init_Opr, Interface, 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_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, Referenced, SB_ORIG_SCP_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, srch_sym_tbl(), Struct_Component, TRACE, TRUE, and TYPELESS_DEFAULT_TYPE.
Referenced by expand_user_bound(), find_attrs_in_il(), and find_attrs_in_ir().
void flatten_function_call | ( | opnd_type * | result | ) |
Definition at line 6485 of file s_call.c.
References ADD_ATTR_TO_LOCAL_LIST, After, Alloc_Opr, Aloc_Opr, Asg_Opr, Assignment_Stmt, Assumed_Size_Char, AT_ACTUAL_ARG, AT_DEFINED, AT_IS_INTRIN, AT_OBJ_NAME_PTR, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_AUTO_BASE_IDX, ATD_AUTOMATIC, ATD_ELEMENTAL_CALL_TMP, ATD_FLD, ATD_IM_A_DOPE, ATD_NOT_PT_UNIQUE_MEM, ATD_POINTER, ATD_STOR_BLK_IDX, ATD_TMP_IDX, ATD_TYPE_IDX, ATP_ELEMENTAL, ATP_EXTRA_DARG, ATP_FIRST_IDX, ATP_INTRIN_ENUM, ATP_NUM_DARGS, ATP_PROC, ATP_RSLT_IDX, ATT_CHAR_SEQ, ATT_DEFAULT_INITIALIZED, ATT_POINTER_CPNT, BD_ARRAY_SIZE, BD_LEN_FLD, BD_LEN_IDX, BD_RANK, Before, C_INT_TO_CN, Call_Opr, Call_Stmt, CG_INTEGER_DEFAULT_TYPE, change_asg_to_where(), Character, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, COPY_OPND, create_alloc_descriptor(), create_lib_entry_attr(), CRI_Ch_Ptr_8, CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Dealloc_Attr_Idx, DEALLOC_LIB_ENTRY, DEALLOC_NAME_LEN, Dealloc_Opr, Deallocate_Opr, defer_stmt_expansion, determine_tmp_size(), Dummy_Proc, Dv_Deref_Opr, Error, EXIT, FALSE, final_arg_work(), Func_Entry, Func_Exit, FUNCTION_MUST_BE_SUBROUTINE, gen_alloc_header_const(), gen_bd_entry(), gen_compiler_tmp(), GEN_COMPILER_TMP_ASG, gen_dv_whole_def_init(), gen_sh(), gen_whole_subscript(), gen_whole_substring(), get_stmt_tmp(), glb_tbl_idx, IL_ARG_DESC_VARIANT, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, init_exp_desc, Integer_4, Integer_8, IR_COL_NUM, IR_COL_NUM_L, IR_CONTIG_ARRAY, 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_OPND_L, IR_OPND_R, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, keep_orig_sh, L, expr_semantics_args::linear_type, Loc_Opr, make_base_subtree(), no_func_expansion, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, msg_num_entry::num_args, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, orig_sh_idx, PRINTMSG(), Priv, process_cpnt_inits(), process_variable_size_func(), expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, SCP_ATTR_IDX, SCP_SB_BASED_IDX, SCP_SB_STACK_IDX, SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, Spread_Intrinsic, stmt_expansion_control_end(), stmt_expansion_control_start(), stmt_start_col, stmt_start_line, Structure, Subscript_Opr, TRACE, transform_char_sequence_ref(), TRUE, TYP_CHAR_CLASS, TYP_IDX, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, TYPELESS_DEFAULT_TYPE, Var_Len_Array, Var_Len_Char, where_ir_idx, and Whole_Subscript_Opr.
Referenced by call_list_semantics().
static int gen_arg_type_descriptor | ( | int | idx, |
boolean | this_is_call, | ||
int | line, | ||
int | col | ||
) | [static] |
Definition at line 9874 of file s_call.c.
References Aloc_Opr, arg_info_list, ARGCHCK_CHAR_LEN_IDX, ARGCHCK_SIZE_IDX, ARGCHCK_STRUCT_TBL_IDX, expr_semantics_args::array_elt, Asg_Opr, Assignment_Stmt, Assumed_Shape, Assumed_Size, Assumed_Size_Char, AT_OBJ_CLASS, AT_OPTIONAL, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_IGNORE_TKR, ATD_IM_A_DOPE, ATD_INTENT, ATD_POINTER, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATP_PGM_UNIT, ATP_RSLT_IDX, BD_ARRAY_CLASS, BD_LEN_FLD, BD_LEN_IDX, BD_RANK, Before, C_INT_TO_CN, C_TO_F_INT, CG_INTEGER_DEFAULT_TYPE, Character, CHECK_CONTIG_FLAG, CIF_No_Usage_Rec, CLEAR_TBL_NTRY, CN_CONST, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, CN_TYPE_IDX, Const_Tmp_Loc_Opr, COPY_OPND, create_struct_argchck_tbl(), CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Default_Typed, Deferred_Shape, expr_semantics_args::dope_vector, arg_strct::ed, expr_mode, expr_semantics(), FALSE, find_base_attr(), folder_driver(), Func_Entry, Func_Exit, Function, gen_compiler_tmp(), gen_sh(), gen_static_integer_array_tmp(), gen_whole_subscript(), get_arg_type(), IL_ARG_DESC_IDX, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, Init_Opr, Init_Reloc_Opr, Integer_8, 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_LIST_CNT_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, linear_to_kind_type, Loc_Opr, Mult_Opr, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, ntr_type_tbl(), NULL, NULL_IDX, null_opnd, NUM_TARGET_ARGCHCK_DESC_WORDS, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, PASS_ADDRESS_FROM_DV, PASS_SECTION_ADDRESS, Pgm_Unit, arg_strct::pgm_unit, Pgm_Unknown, expr_semantics_args::pointer, PRINTMSG(), Priv, expr_semantics_args::rank, expr_semantics_args::reference, Regular_Expr, SCP_SB_STACK_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, SN_ATTR_IDX, stmt_start_col, stmt_start_line, Structure, Subroutine, Subroutine_Arg, Subscript_Opr, Substring_Opr, TRACE, TRUE, TYP_BIT_LEN, TYP_CHAR_CLASS, TYP_DESC, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYP_WORK_IDX, expr_semantics_args::type_idx, type_tbl, Typeless, TYPELESS_DEFAULT_TYPE, Whole_Substring_Opr, and xref_state.
Referenced by create_argchck_descriptor().
boolean gen_bd_entry | ( | opnd_type * | r_opnd, |
expr_arg_type * | exp_desc, | ||
int * | res_bd_idx, | ||
int | line, | ||
int | col | ||
) |
Definition at line 5229 of file s_call.c.
References Asg_Opr, Assignment_Stmt, AT_DEFINED, AT_OBJ_CLASS, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CLASS, ATD_TASK_PRIVATE, ATD_TYPE_IDX, ATL_DEF_STMT_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, Before, Br_True_Opr, CG_INTEGER_DEFAULT_TYPE, Character, CIF_No_Usage_Rec, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, compare_cn_and_value(), Compiler_Tmp, expr_semantics_args::constant, Constant_Size, Continue_Stmt, COPY_OPND, curr_stmt_sh_idx, Data_Obj, determine_num_elements(), Eq_Opr, Explicit_Shape, expr_mode, expr_semantics(), FALSE, find_left_attr(), size_offset_entry::fld, Func_Entry, Func_Exit, Ge_Opr, GEN_COMPILER_TMP_ASG, gen_copyin_bounds_stmt(), gen_internal_lbl(), gen_sh(), gen_temp_init(), size_offset_entry::idx, If_Stmt, 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_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, L, Label_Opr, LOGICAL_DEFAULT_TYPE, Minus_Opr, Mult_Opr, ntr_array_in_bd_tbl(), NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Plus_Opr, PRINTMSG(), Priv, expr_semantics_args::rank, reassign_XT_temps, Regular_Expr, reserve_array_ntry(), SA_INTEGER_DEFAULT_TYPE, set_stride_for_first_dim(), SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, expr_semantics_args::shape, SHAPE_FOLDABLE, SHAPE_WILL_FOLD_LATER, shared_bd_idx, stride, TRACE, TRUE, TYP_FLD, expr_semantics_args::type, expr_semantics_args::type_idx, TYPELESS_DEFAULT_TYPE, validate_char_len(), Var_Len_Array, and xref_state.
Referenced by create_tmp_asg(), flatten_function_call(), and optimize_reshape().
static int gen_call_type_descriptor | ( | int | attr_idx, |
int | rslt_idx, | ||
boolean | this_is_call, | ||
int | line, | ||
int | col | ||
) | [static] |
Definition at line 9459 of file s_call.c.
References ARGCHCK_CHAR_LEN_IDX, ARGCHCK_SIZE_IDX, ARGCHCK_STRUCT_TBL_IDX, Asg_Opr, Assignment_Stmt, Assumed_Size_Char, AT_OBJ_NAME_PTR, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_POINTER, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATP_PGM_UNIT, BD_LEN_FLD, BD_LEN_IDX, BD_RANK, Before, C_INT_TO_CN, C_TO_F_INT, CG_INTEGER_DEFAULT_TYPE, Character, CLEAR_TBL_NTRY, CN_CONST, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, COPY_OPND, create_struct_argchck_tbl(), CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, FALSE, Func_Entry, Func_Exit, Function, gen_compiler_tmp(), gen_sh(), gen_static_integer_array_tmp(), gen_whole_subscript(), get_arg_type(), GLOBAL_LINE_TO_FILE_LINE, idx, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, Init_Opr, Init_Reloc_Opr, 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_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, linear_to_kind_type, Loc_Opr, name, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, ntr_type_tbl(), NULL, NULL_IDX, NUM_TARGET_ARGCHCK_DESC_WORDS, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, Priv, SCP_ATTR_IDX, SCP_SB_STACK_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, strcpy, Structure, Subprogram_Arg, Subroutine, Subroutine_Arg, Subscript_Opr, TRACE, TRUE, TYP_BIT_LEN, TYP_CHAR_CLASS, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYP_WORK_IDX, type_tbl, Typeless, and TYPELESS_DEFAULT_TYPE.
Referenced by create_argchck_descriptor().
void gen_dbg_write_stmt | ( | opnd_type * | opnd, |
sh_position_type | position | ||
) |
Definition at line 11026 of file s_call.c.
References After, Assignment_Stmt, CN_INTEGER_THREE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, COPY_OPND, curr_stmt_sh_idx, FALSE, Func_Entry, Func_Exit, gen_sh(), 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_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_L, IR_LIST_CNT_R, IR_OPND_R, IR_OPR, IR_TYPE_IDX, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, OPND_FLD, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, stmt_start_col, stmt_start_line, TRACE, TRUE, TYPELESS_DEFAULT_TYPE, and Write_Formatted_Opr.
act_arg_type get_act_arg_type | ( | expr_arg_type * | exp_desc | ) |
Definition at line 4679 of file s_call.c.
References expr_semantics_args::allocatable, Array_Elt, expr_semantics_args::array_elt, Array_Expr, Array_Ptr, Array_Tmp_Elt, Array_Tmp_Ptr, expr_semantics_args::assumed_shape, expr_semantics_args::constant, Constant_Array_Section, expr_semantics_args::contig_array, Contig_Section, expr_semantics_args::dope_vector, Dv_Array_Section, Dv_Contig_Section, Func_Entry, Func_Exit, expr_semantics_args::has_symbolic, NULL, expr_semantics_args::pointer, expr_semantics_args::rank, expr_semantics_args::reference, Scalar_Constant, Scalar_Expression, Scalar_Ptr, Scalar_Tmp_Ptr, Scalar_Tmp_Var, Scalar_Var, expr_semantics_args::section, Sequence_Array_Section, expr_semantics_args::tmp_reference, TRACE, expr_semantics_args::vector_subscript, Vector_Subscript_Section, Whole_Allocatable, Whole_Array_Constant, Whole_Ass_Shape, Whole_Sequence, Whole_Tmp_Allocatable, and Whole_Tmp_Sequence.
Referenced by dope_vector_setup(), final_arg_work(), and gen_dv_whole_def().
static long_type get_arg_type | ( | int | type_idx, |
boolean | is_pgm_unit | ||
) | [static] |
Definition at line 10564 of file s_call.c.
References Character_1, Character_2, Character_4, Character_Arg, Character_Function_Arg, Character_Pointer_Arg, Character_Pointer_Function_Arg, Complex_16, Complex_4, Complex_8, Complex_Arg, Complex_Function_Arg, CRI_Ch_Ptr_8, CRI_Parcel_Ptr_8, CRI_Ptr_8, Derived_Type_Arg, Derived_Type_Function_Arg, Double_Arg, Double_Function_Arg, Func_Entry, Func_Exit, Integer_1, Integer_2, Integer_4, Integer_8, Internal, Logical_1, Logical_2, Logical_4, Logical_8, Logical_Arg, Logical_Function_Arg, Long_Integer_Arg, Long_Integer_Function_Arg, Long_Typeless, NULL, Pointer_Arg, Pointer_Function_Arg, PRINTMSG(), Real_16, Real_4, Real_8, Real_Arg, Real_Function_Arg, Short_Char_Const, Short_Integer_Arg, Short_Integer_Function_Arg, Short_Typeless_Const, stmt_start_line, Structure_Type, TRACE, TYP_LINEAR, Typeless_4, Typeless_8, Typeless_Arg, and Typeless_Function_Arg.
Referenced by fill_in_struct_argchck_const(), gen_arg_type_descriptor(), and gen_call_type_descriptor().
static dummy_arg_type get_dummy_arg_type | ( | int | darg_idx | ) | [static] |
Definition at line 4593 of file s_call.c.
References Array_Ptr_Dummy, Array_Target_Dummy, Assumed_Shape, Assumed_Shape_Dummy, AT_OBJ_CLASS, ATD_ARRAY_IDX, ATD_IM_A_DOPE, ATD_INTRIN_DARG, ATD_POINTER, ATD_TARGET, BD_ARRAY_CLASS, Data_Obj, Func_Entry, Func_Exit, Internal, Intrin_Dope_Dummy, NULL, NULL_IDX, PRINTMSG(), Scalar_Dummy, Scalar_Ptr_Dummy, Scalar_Target_Dummy, Sequence_Array_Dummy, stmt_start_col, stmt_start_line, TRACE, and Unknown_Dummy.
Referenced by final_arg_work().
int get_stmt_tmp | ( | int | type_idx, |
boolean | dope_vector, | ||
int | rank | ||
) |
Definition at line 8050 of file s_call.c.
References AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_ASG_TMP, ATD_ELEMENTAL_CALL_TMP, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, cdir_switches, comp_phase, curr_scp_idx, curr_stmt_sh_idx, stmt_tmp_entry::dope_vector_tmps_head, stmt_tmp_entry::dope_vector_tmps_tail, dump_flags, EXIT, FALSE, Func_Entry, Func_Exit, gen_compiler_tmp(), gen_entry_dope_code(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, dump_flags_entry::mp, NTR_IR_LIST_TBL, NULL, NULL_IDX, cdir_switch_entry::parallel_region, Pass2_Semantics, Priv, stmt_tmp_entry::scalar_tmps_head, stmt_tmp_entry::scalar_tmps_tail, SCP_SB_STACK_IDX, SH_PREV_IDX, stmt_start_col, stmt_start_line, stmt_tmp_tbl, TRACE, TRUE, and TYP_LINEAR.
Referenced by create_tmp_asg(), and flatten_function_call().
static void make_base_assumed_size | ( | opnd_type * | old_opnd, |
opnd_type * | new_opnd | ||
) | [static] |
Definition at line 11126 of file s_call.c.
References Assumed_Size, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_TYPE_IDX, BD_ARRAY_CLASS, BD_LB_FLD, BD_LB_IDX, BD_RANK, find_opnd_line_and_column(), Func_Entry, Func_Exit, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, Internal, 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_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), Subscript_Opr, and TRACE.
Referenced by final_arg_work().
static void make_new_bd_entries | ( | int | rslt_idx, |
int * | new_type_idx, | ||
int * | new_bd_idx | ||
) | [static] |
Definition at line 7275 of file s_call.c.
References Assumed_Size_Char, AT_ATTR_LINK, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CLASS, ATD_CONST_IDX, ATD_FLD, ATD_IM_A_DOPE, ATD_SYMBOLIC_CONSTANT, ATD_TMP_IDX, ATD_TYPE_IDX, 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, Character, CHARACTER_DEFAULT_TYPE, CLEAR_TBL_NTRY, CN_Tbl_Idx, Const_Len_Char, Constant, Constant_Size, copy_and_replace_tmps(), COPY_BD_NTRY, expand_user_bound(), FALSE, Func_Entry, Func_Exit, gen_copyin_bounds_stmt(), IL_FLD, IL_IDX, Internal, IR_IDX_L, IR_IDX_R, IR_OPR, IR_Tbl_Idx, Max_Opr, ntr_array_in_bd_tbl(), ntr_type_tbl(), NULL, NULL_IDX, PRINTMSG(), reserve_array_ntry(), stmt_start_col, stmt_start_line, TRACE, TRUE, TYP_CHAR_CLASS, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_ORIG_LEN_IDX, TYP_TYPE, TYP_WORK_IDX, type_tbl, Var_Len_Array, and Var_Len_Char.
Referenced by process_variable_size_func().
static void ntr_ref_in_global_tbl | ( | int | list_idx, |
int | spec_idx, | ||
int | num_dargs, | ||
int * | ga_idx, | ||
int | name_idx | ||
) | [static] |
Definition at line 11383 of file s_call.c.
References arg_info_list, expr_semantics_args::array_elt, AT_DEF_COLUMN, AT_DEF_LINE, AT_OBJ_CLASS, AT_Tbl_Idx, ATD_CLASS, ATP_RSLT_IDX, Character, CLEAR_TBL_NTRY, CN_CONST, CN_HOLLERITH_TYPE, CN_INT_TO_C, CN_Tbl_Idx, CN_TYPE_IDX, Constant, CREATE_ID, Data_Obj, Dummy_Argument, arg_strct::ed, EXTRA_WORD, FALSE, fill_in_global_attr_ntry(), Func_Entry, Func_Exit, FUNCTION_MUST_BE_SUBROUTINE, GA_DEF_COLUMN, GA_DEF_LINE, GA_NAME_IDX, GA_NAME_LEN, GA_OBJ_CLASS, GA_ORIG_NAME_IDX, GA_ORIG_NAME_LEN, GA_REFERENCED, GAD_ARRAY_ELEMENT_REF, GAD_CLASS, GAD_HOLLERITH, GAD_RANK, GAD_TYPE_IDX, GAP_FIRST_IDX, GAP_NUM_DARGS, global_attr_tbl, global_attr_tbl_idx, GN_ATTR_IDX, GN_NAME_LEN, IL_ARG_DESC_IDX, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, Internal, arg_strct::kwd, kwd, kwd_idx, expr_semantics_args::linear_type, name_pool_entry::name_long, ntr_global_name_tbl(), ntr_global_type_tbl(), NULL, NULL_IDX, OPND_FLD, OPND_IDX, Pgm_Unit, PRINTMSG(), expr_semantics_args::rank, stmt_start_col, stmt_start_line, str_pool, str_pool_idx, TBL_REALLOC_CK, TRACE, TRUE, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYP_WORK_IDX, expr_semantics_args::type, type_tbl, WORD_LEN, and id_str_entry::words.
Referenced by check_call_for_global_def().
static void process_variable_size_func | ( | int | rslt_idx, |
int | arg_list_idx, | ||
int | sf_darg_idx, | ||
int | sf_num_dargs, | ||
int * | new_type_idx, | ||
int * | new_bd_idx | ||
) | [static] |
Definition at line 8299 of file s_call.c.
References Aloc_Opr, arg_info_list, arg_info_list_base, arg_info_list_size, arg_info_list_top, arg_strct::association, Assumed_Shape, Assumed_Size_Char, AT_OBJ_CLASS, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CLASS, ATD_FLD, ATD_IM_A_DOPE, ATD_RESHAPE_ARRAY_IDX, ATD_SF_ARG_IDX, ATD_SF_DARG, ATD_SF_LINK, ATD_TMP_IDX, ATD_TYPE_IDX, ATP_DUMMY_PROC_LINK, ATP_PROC, BD_ARRAY_CLASS, BD_ARRAY_SIZE, BD_RANK, BD_XT_FLD, BD_XT_IDX, Character, check_bd_typ_for_dargs(), CHECK_CONTIG_FLAG, Compiler_Tmp, Const_Tmp_Loc_Opr, COPY_IN, COPY_IN_COPY_OUT, COPY_IN_MAKE_DV, COPY_OPND, Data_Obj, expr_semantics_args::dope_vector, Dummy_Proc, Dv_Deref_Opr, arg_strct::ed, enlarge_info_list_table(), FALSE, find_opnd_line_and_column(), opnd_entry::fld, FOUND, Func_Entry, Func_Exit, gen_sf_dv_whole_def(), opnd_entry::idx, IL_ARG_DESC_IDX, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, init_arg_info, Internal, IR_COL_NUM, IR_COL_NUM_L, IR_FLD_L, IR_IDX_L, IR_LINE_NUM, IR_LINE_NUM_L, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Loc_Opr, MAKE_DV, make_new_bd_entries(), NTR_IR_TBL, NULL, NULL_IDX, null_opnd, OPND_FLD, OPND_IDX, OPND_LIST_CNT, PASS_ADDRESS, PASS_ADDRESS_FROM_DV, PASS_DV, PASS_DV_COPY, PASS_SECTION_ADDRESS, Pgm_Unit, print_at(), PRINTMSG(), expr_semantics_args::rank, expr_semantics_args::shape, SN_ATTR_IDX, stmt_start_col, stmt_start_line, TRACE, TRUE, TYP_CHAR_CLASS, TYP_TYPE, Var_Len_Array, Var_Len_Char, and variable_size_func_expr.
Referenced by flatten_function_call().
static void save_array_syntax_subscripts | ( | int | list_idx | ) | [static] |
Definition at line 6270 of file s_call.c.
References Assignment_Stmt, AT_Tbl_Idx, Before, CG_INTEGER_DEFAULT_TYPE, COPY_OPND, curr_stmt_sh_idx, FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, GEN_COMPILER_TMP_ASG, gen_sh(), IL_COL_NUM, IL_CONSTANT_SUBSCRIPT, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IR_FLD_L, IR_IDX_L, IR_IDX_R, IR_LIST_CNT_R, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NULL, Priv, Section_Subscript_Opr, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, stmt_start_col, stmt_start_line, Subscript_Opr, Substring_Opr, TRACE, Triplet_Opr, and TRUE.
Referenced by final_arg_work().
static void search_expr_for_dargs | ( | opnd_type * | opnd, |
opnd_type * | list_opnd | ||
) | [static] |
Definition at line 8650 of file s_call.c.
References AT_OBJ_CLASS, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CLASS, ATD_SF_DARG, ATD_TYPE_IDX, Character, check_bd_typ_for_dargs(), COPY_OPND, Data_Obj, Dummy_Argument, Func_Entry, Func_Exit, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, IR_OPND_L, IR_OPND_R, IR_Tbl_Idx, NO_Tbl_Idx, NTR_IR_LIST_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, OPND_LIST_CNT, stmt_start_col, stmt_start_line, TRACE, and TYP_TYPE.
Referenced by check_bd_typ_for_dargs().
static void set_at_actual_arg | ( | int | list_idx | ) | [static] |
Definition at line 5876 of file s_call.c.
References AT_ACTUAL_ARG, AT_Tbl_Idx, COPY_OPND, EXIT, Func_Entry, Func_Exit, IL_OPND, IR_OPND_L, IR_Tbl_Idx, NULL, OPND_FLD, OPND_IDX, TRACE, and TRUE.
Referenced by final_arg_work().
static void set_inline_state | ( | int | ir_idx, |
int | attr_idx | ||
) | [static] |
Definition at line 11701 of file s_call.c.
References AT_NAME_LEN, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, ATP_SGI_GLOBAL_INLINE, ATP_SGI_GLOBAL_NOINLINE, ATP_SGI_LOCAL_INLINE, ATP_SGI_LOCAL_NOINLINE, ATP_SGI_ROUTINE_INLINE, ATP_SGI_ROUTINE_NOINLINE, cdir_switches, curr_scp_idx, Func_Entry, Func_Exit, GA_OBJ_CLASS, GAP_INLINE_STATE, GN_ATTR_IDX, inline_global_sgi, cdir_switch_entry::inline_here_sgi, Inline_Sgi, IR_INLINE_STATE, noinline_global_sgi, cdir_switch_entry::noinline_here_sgi, Noinline_Sgi, Not_Specified_Sgi, NULL, NULL_IDX, Pgm_Unit, SCP_INLINE_SGI, SCP_NOINLINE_SGI, srch_global_name_tbl(), and TRACE.
Referenced by call_list_semantics().
static void update_components | ( | opnd_type * | opnd | ) | [static] |
Definition at line 12563 of file s_call.c.
References AT_NAME_LEN, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_DERIVED_TYPE_IDX, ATT_FIRST_CPNT_IDX, CN_Tbl_Idx, Derived_Type, Func_Entry, Func_Exit, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, Internal, IR_COL_NUM, IR_FLD_L, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NO_Tbl_Idx, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), SB_Tbl_Idx, SH_Tbl_Idx, srch_linked_sn(), Struct_Opr, Structure, TRACE, TYP_IDX, and TYP_TYPE.
Referenced by create_tmp_from_stmt_func().
char USMID[] = "\n@(#)5.0_pl/sources/s_call.c 5.15 10/19/99 17:14:30\n" [static] |
Definition at line 59 of file s_call.c.
Referenced by gen_dv_access_low_bound(), and process_variable_size_func().