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_asg_expr.m"
#include "globals.h"
#include "tokens.h"
#include "sytb.h"
#include "s_globals.h"
#include "s_asg_expr.h"
Go to the source code of this file.
#define BIAS_SIZE 128 |
Referenced by set_up_pe_offset_attr().
void add_substring_length | ( | int | sub_idx | ) |
Definition at line 3669 of file s_asg_expr.c.
References CG_INTEGER_DEFAULT_TYPE, CIF_No_Usage_Rec, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, COPY_OPND, copy_subtree(), EXIT, expr_mode, expr_semantics(), 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_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, Max_Opr, Minus_Opr, NO_Tbl_Idx, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, Plus_Opr, expr_semantics_args::rank, Regular_Expr, TRACE, and xref_state.
Referenced by gen_whole_substring(), substring_opr_handler(), and transform_char_sequence_ref().
static boolean alloc_obj_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc, | ||
int | rank_in | ||
) | [static] |
Definition at line 11116 of file s_asg_expr.c.
References AT_OBJ_CLASS, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_PE_ARRAY_IDX, ATD_POINTER, BD_RANK, cast_typeless_constant(), CIF_No_Usage_Rec, CIF_Symbol_Reference, expr_semantics_args::component, expr_semantics_args::constant, COPY_OPND, Data_Obj, Error, expr_sem(), FALSE, find_base_attr(), find_opnd_line_and_column(), expr_semantics_args::foldable, Func_Entry, Func_Exit, expr_semantics_args::has_symbolic, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, in_call_list, in_component_ref, insert_subs_ok, Integer, INTEGER_DEFAULT_TYPE, Internal, IR_COL_NUM, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_R, IR_OPND_L, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, Long_Typeless, NO_Tbl_Idx, NULL, NULL_IDX, OPND_IDX, pgm_unit_illegal, PRINTMSG(), expr_semantics_args::rank, expr_semantics_args::reference, Short_Typeless_Const, TRACE, Triplet_Opr, TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, and xref_state.
static boolean and_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 7489 of file s_asg_expr.c.
References And_Opr, AND_OR_EXTN, AND_OR_TYPE, Ansi, Band_Opr, Beqv_Opr, bin_array_syntax_check(), Bneqv_Opr, Bor_Opr, cast_typeless_constant(), Character, CN_CONST, CN_Tbl_Idx, comp_gen_expr, Complex, expr_semantics_args::constant, COPY_OPND, Eqv_Opr, Err_Res, Error, EXIT, expr_sem(), FALSE, find_opnd_line_and_column(), expr_semantics_args::foldable, folder_driver(), Func_Entry, Func_Exit, expr_semantics_args::has_constructor, has_present_opr, expr_semantics_args::has_symbolic, opt_flags_entry::ieeeconform, in_branch_true, in_call_list, INTEGER_DEFAULT_TYPE, IR_ARRAY_SYNTAX, IR_COL_NUM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_RANK, IR_SHORT_CIRCUIT_L, IR_SHORT_CIRCUIT_R, IR_TYPE_IDX, expr_semantics_args::linear_type, Neqv_Opr, ntr_const_tbl(), NULL, num_host_wds, number_of_functions, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, opt_flags, Or_Opr, PRINTMSG(), expr_semantics_args::rank, Real, resolve_ext_opr(), Short_Circuit_Functions, opt_flags_entry::short_circuit_lvl, Short_Circuit_Present, Short_Typeless_Const, TRACE, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, and expr_semantics_args::will_fold_later.
static boolean array_construct_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 8846 of file s_asg_expr.c.
References Allocate_Stmt, analyse_loops(), arg_info_list, arg_info_list_base, arg_info_list_size, arg_info_list_top, Arith_If_Stmt, Array_Construct_Opr, array_construct_semantics(), Assignment_Stmt, AT_Tbl_Idx, Backspace_Stmt, Buffer_Stmt, Call_Stmt, Case_Stmt, Close_Stmt, CN_Tbl_Idx, compare_cn_and_value(), Constant_Array_Construct_Opr, constructor_level, expr_semantics_args::constructor_size_level, COPY_OPND, create_constructor_constant(), Deallocate_Stmt, Decode_Stmt, defer_stmt_expansion, Do_Infinite_Stmt, Do_Iterative_Stmt, Do_While_Stmt, arg_strct::ed, Else_If_Stmt, Else_Where_Stmt, Encode_Stmt, Endfile_Stmt, enlarge_info_list_table(), expr_mode, expr_semantics(), FALSE, expr_semantics_args::foldable, Func_Entry, Func_Exit, Gt_Opr, expr_semantics_args::has_constructor, If_Cstrct_Stmt, If_Stmt, implied_do_depth(), in_call_list, in_constructor, init_arg_info, Initialization_Expr, Inquire_Stmt, Interp_Loop_Size, io_item_must_flatten, IR_IDX_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, no_func_expansion, NULL, Nullify_Stmt, Open_Stmt, OPND_FLD, OPND_IDX, outer_imp_do_count(), Outmoded_If_Stmt, print_at_all(), print_cn(), print_ir(), Print_Stmt, expr_semantics_args::rank, Read_Stmt, Rewind_Stmt, Select_Stmt, expr_semantics_args::shape, Simple_Expr_Size, stmt_type, TRACE, TRUE, expr_semantics_args::type_idx, Where_Cstrct_Stmt, Where_Stmt, expr_semantics_args::will_fold_later, and Write_Stmt.
static boolean array_construct_semantics | ( | opnd_type * | top_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 3812 of file s_asg_expr.c.
References Ansi, arg_info_list, arg_info_list_base, arg_info_list_size, arg_info_list_top, AT_ATTR_LINK, AT_IGNORE_ATTR_LINK, AT_NAME_IDX, AT_NAME_LEN, AT_OBJ_NAME_PTR, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_FLD, ATD_IMP_DO_LCV, ATD_LCV_IS_CONST, ATD_STOR_BLK_IDX, ATD_TMP_IDX, ATD_TMP_NEEDS_CIF, ATD_TYPE_IDX, cast_typeless_constant(), CG_INTEGER_DEFAULT_TYPE, expr_semantics_args::char_len, Character, cif_flags, CIF_No_Usage_Rec, CIF_Symbol_Modification, CIF_Symbol_Reference, cif_usage_rec(), CN_CONST, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, compare_derived_types(), expr_semantics_args::constant, constructor_level, COPY_OPND, curr_scp_idx, Dv_Deref_Opr, arg_strct::ed, enlarge_info_list_table(), Eq_Opr, Error, EXIT, expr_mode, expr_sem(), FALSE, find_opnd_line_and_column(), opnd_entry::fld, fold_relationals(), expr_semantics_args::foldable, folder_driver(), Func_Entry, Func_Exit, gen_compiler_tmp(), Gt_Opr, expr_semantics_args::has_symbolic, opnd_entry::idx, IL_ARG_DESC_IDX, IL_ARG_DESC_VARIANT, IL_COL_NUM, IL_FLD, IL_HAS_FUNCTIONS, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, Implied_Do_Opr, in_implied_do, init_arg_info, Integer, INTEGER_DEFAULT_TYPE, Internal, IR_IDX_R, IR_LIST_CNT_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, Long_Typeless, Ne_Opr, NO_Tbl_Idx, NTR_IR_LIST_TBL, NULL, NULL_IDX, number_of_functions, OPND_FLD, OPND_IDX, PRINTMSG(), Priv, expr_semantics_args::rank, expr_semantics_args::reference, Regular_Expr, SCP_SB_STACK_IDX, Short_Typeless_Const, stmt_start_col, stmt_start_line, Structure, THIS_IS_TRUE, TRACE, TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, Typeless_4, Typeless_8, Whole_Subscript_Opr, expr_semantics_args::will_fold_later, and xref_state.
Referenced by array_construct_opr_handler().
void assignment_stmt_semantics | ( | void | ) |
Definition at line 198 of file s_asg_expr.c.
References active_forall_sh_idx, Ansi, ASG_EXTN, Asg_Opr, ASG_TYPE, Assignment_Stmt, AT_DEFINED, AT_IS_INTRIN, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_REFERENCED, AT_Tbl_Idx, ATD_CLASS, ATD_PE_ARRAY_IDX, ATD_POINTER, ATD_PTR_ASSIGNED, ATD_PURE, ATD_SYMBOLIC_CONSTANT, ATD_TARGET, ATD_TYPE_IDX, ATL_DEF_STMT_IDX, ATL_INFORM_ONLY, ATL_TOP_OF_LOOP, ATP_ELEMENTAL, ATP_PURE, ATP_RSLT_IDX, ATT_CHAR_SEQ, Before, Call_Opr, Call_Stmt, cast_typeless_constant(), change_asg_to_where(), expr_semantics_args::char_len, Character, check_dependence(), check_for_legal_define(), check_where_conformance(), CIF_Array_Assignment_Stmt, CIF_Assignment_Stmt, cif_flags, cif_stmt_type_rec(), CIF_Symbol_Modification, CIF_Symbol_Reference, CN_Tbl_Idx, compare_derived_types(), expr_semantics_args::constant, Continue_Stmt, COPY_OPND, copy_subtree(), CRI_Ch_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, defer_stmt_expansion, dump_flags, Dv_Deref_Opr, Err_Res, Error, EXIT, expr_semantics(), dump_flags_entry::f_minus_minus, FALSE, find_base_attr(), find_left_attr(), find_opnd_line_and_column(), opnd_entry::fld, fold_relationals(), Func_Entry, Func_Exit, gen_dv_whole_def_init(), gen_forall_if_mask(), gen_forall_loops(), gen_forall_tmp(), gen_internal_lbl(), gen_ir(), gen_opnd(), gen_sh(), get_basic_type_str(), idx, opnd_entry::idx, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_Tbl_Idx, Integer, 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_RANK, IR_Tbl_Idx, IR_TYPE_IDX, Label_Opr, expr_semantics_args::linear_type, look_for_real_div(), MISC_RECS, Ne_Opr, Not_Referenced, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, expr_semantics_args::pointer, PRINTMSG(), process_deferred_functions(), Ptr_Asg_Opr, expr_semantics_args::rank, Real, expr_semantics_args::reference, resolve_ext_opr(), SCP_ATTR_IDX, set_directives_on_label(), SH_COMPILER_GEN, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, SH_STMT_TYPE, expr_semantics_args::shape, Short_Typeless_Const, statement_number, Struct_Component, Structure, Structure_Type, expr_semantics_args::target, expr_semantics_args::tmp_reference, TRACE, transform_char_sequence_ref(), transform_cri_ch_ptr(), TRUE, TYP_FLD, TYP_IDX, TYP_LINEAR, expr_semantics_args::type, expr_semantics_args::type_idx, TYPELESS_DEFAULT_TYPE, expr_semantics_args::vector_subscript, where_ir_idx, Whole_Subscript_Opr, Whole_Substring_Opr, and xref_state.
static boolean bin_array_syntax_check | ( | expr_arg_type * | exp_desc_l, |
expr_arg_type * | exp_desc_r, | ||
expr_arg_type * | exp_desc, | ||
int | line, | ||
int | col | ||
) | [static] |
Definition at line 4552 of file s_asg_expr.c.
References CN_Tbl_Idx, COPY_OPND, COPY_SHAPE, Error, FALSE, fold_relationals(), Func_Entry, Func_Exit, Ne_Opr, NULL, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, expr_semantics_args::shape, SHAPE_FOLDABLE, SHAPE_WILL_FOLD_LATER, TRACE, and TRUE.
Referenced by and_opr_handler(), concat_opr_handler(), eq_opr_handler(), lg_opr_handler(), lt_opr_handler(), minus_opr_handler(), mult_opr_handler(), plus_opr_handler(), and power_opr_handler().
boolean check_array_bounds | ( | int | ir_idx | ) |
Definition at line 12285 of file s_asg_expr.c.
References Assumed_Size, ATD_ARRAY_IDX, ATD_PE_ARRAY_IDX, BD_ARRAY_CLASS, BD_LB_FLD, BD_LB_IDX, BD_RANK, BD_UB_FLD, BD_UB_IDX, CN_CONST, CN_Tbl_Idx, CN_TYPE_IDX, COPY_OPND, Error, EXIT, FALSE, find_base_attr(), find_opnd_line_and_column(), fold_relationals(), Func_Entry, Func_Exit, gen_opnd(), gen_rbounds_condition(), Gt_Opr, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, IL_PE_SUBSCRIPT, Internal, IR_IDX_L, IR_IDX_R, IR_OPND_L, IR_OPR, IR_Tbl_Idx, Logical, Lt_Opr, needs_bounds_check(), NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), THIS_IS_TRUE, TRACE, Triplet_Opr, TRUE, TYP_TYPE, and Warning.
Referenced by subscript_opr_handler().
boolean check_asg_semantics | ( | int | l_new_type_idx, |
int | r_new_type_idx, | ||
int | line, | ||
int | col | ||
) |
Definition at line 3491 of file s_asg_expr.c.
References Ansi, ASG_EXTN, ASG_TYPE, Character, compare_cn_and_value(), compare_derived_types(), Err_Res, FALSE, Func_Entry, Func_Exit, Le_Opr, NULL, PRINTMSG(), Short_Char_Const, Structure_Type, TRACE, TRUE, TYP_IDX, TYP_LINEAR, and TYP_TYPE.
Referenced by attr_init_semantics(), check_target_and_value(), const_init_semantics(), create_constructor_constant(), fold_aggragate_expression(), and merge_parameter().
boolean check_substring_bounds | ( | int | ir_idx | ) |
Definition at line 12201 of file s_asg_expr.c.
References ATD_TYPE_IDX, CN_Tbl_Idx, CN_TYPE_IDX, compare_cn_and_value(), Error, FALSE, find_base_attr(), find_opnd_line_and_column(), fold_relationals(), Func_Entry, Func_Exit, Gt_Opr, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, IR_FLD_L, IR_IDX_L, IR_IDX_R, IR_OPND_L, Le_Opr, Lt_Opr, NULL, PRINTMSG(), TRACE, TRUE, TYP_FLD, TYP_IDX, and Warning.
Referenced by substring_opr_handler().
static boolean concat_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 6251 of file s_asg_expr.c.
References bin_array_syntax_check(), CG_INTEGER_DEFAULT_TYPE, expr_semantics_args::char_len, Character, Character_1, CHARACTER_DEFAULT_TYPE, CLEAR_TBL_NTRY, CN_CONST, CN_INT_TO_C, CN_Tbl_Idx, CN_TYPE_IDX, compare_cn_and_value(), Concat_Opr, Const_Len_Char, expr_semantics_args::constant, COPY_OPND, EXIT, expr_sem(), expr_semantics(), FALSE, opnd_entry::fld, expr_semantics_args::foldable, folder_driver(), Func_Entry, Func_Exit, expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, opnd_entry::idx, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, in_call_list, io_item_must_flatten, IR_ARRAY_SYNTAX, 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_OPND_R, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, Le_Opr, expr_semantics_args::linear_type, NO_Tbl_Idx, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, ntr_type_tbl(), NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, Plus_Opr, expr_semantics_args::rank, resolve_ext_opr(), Short_Char_Const, TRACE, 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, and expr_semantics_args::will_fold_later.
static boolean cvrt_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 11420 of file s_asg_expr.c.
References cast_typeless_constant(), expr_semantics_args::char_len, CN_CONST, CN_Tbl_Idx, comp_gen_expr, Complex, expr_semantics_args::constant, COPY_OPND, COPY_SHAPE, Cvrt_Opr, expr_sem(), FALSE, expr_semantics_args::foldable, folder_driver(), Func_Entry, Func_Exit, expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, opt_flags_entry::ieeeconform, IR_COL_NUM, IR_FLD_L, IR_IDX_L, IR_LINE_NUM, IR_OPND_L, IR_TYPE_IDX, expr_semantics_args::linear_type, ntr_const_tbl(), NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, opt_flags, expr_semantics_args::rank, Real, expr_semantics_args::shape, TRACE, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, and expr_semantics_args::will_fold_later.
static boolean dealloc_obj_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc, | ||
int | rank_in | ||
) | [static] |
Definition at line 11014 of file s_asg_expr.c.
References AT_OBJ_CLASS, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_POINTER, expr_semantics_args::component, expr_semantics_args::constant, COPY_OPND, Data_Obj, Error, expr_sem(), FALSE, find_base_attr(), expr_semantics_args::foldable, Func_Entry, Func_Exit, expr_semantics_args::has_symbolic, in_call_list, insert_subs_ok, Internal, IR_COL_NUM, IR_FLD_R, IR_LINE_NUM, IR_OPND_L, IR_RANK, IR_TYPE_IDX, expr_semantics_args::linear_type, NO_Tbl_Idx, NULL, NULL_IDX, OPND_IDX, pgm_unit_illegal, PRINTMSG(), expr_semantics_args::rank, expr_semantics_args::reference, TRACE, TRUE, expr_semantics_args::type, and expr_semantics_args::type_idx.
static boolean defined_bin_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 7922 of file s_asg_expr.c.
References AT_ATTR_LINK, AT_IGNORE_ATTR_LINK, AT_LOCKED_IN, COPY_OPND, expr_sem(), FALSE, Func_Entry, Func_Exit, expr_semantics_args::has_symbolic, IL_NEXT_LIST_IDX, IL_OPND, in_call_list, IR_IDX_L, IR_IDX_R, NULL, OPND_IDX, expr_semantics_args::rank, resolve_ext_opr(), TRACE, and TRUE.
static boolean defined_un_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 7848 of file s_asg_expr.c.
References AT_ATTR_LINK, AT_IGNORE_ATTR_LINK, AT_LOCKED_IN, COPY_OPND, expr_sem(), FALSE, Func_Entry, Func_Exit, expr_semantics_args::has_symbolic, in_call_list, IR_IDX_L, IR_OPND_R, NULL, OPND_IDX, expr_semantics_args::rank, resolve_ext_opr(), TRACE, and TRUE.
static boolean eq_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 6525 of file s_asg_expr.c.
References Ansi, bin_array_syntax_check(), cast_typeless_constant(), expr_semantics_args::char_len, Character, CN_CONST, CN_INT_TO_C, CN_Tbl_Idx, comp_gen_expr, Complex, expr_semantics_args::constant, COPY_OPND, EQ_NE_EXTN, EQ_NE_TYPE, Eq_Opr, Err_Res, EXIT, expr_sem(), FALSE, FALSE_VALUE, find_opnd_line_and_column(), opnd_entry::fld, expr_semantics_args::foldable, folder_driver(), Func_Entry, Func_Exit, expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, opnd_entry::idx, opt_flags_entry::ieeeconform, in_call_list, INTEGER_DEFAULT_TYPE, IR_ARRAY_SYNTAX, IR_COL_NUM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_RANK, IR_TYPE_IDX, expr_semantics_args::linear_type, make_logical_array_tmp(), ntr_const_tbl(), NULL, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, opt_flags, PRINTMSG(), expr_semantics_args::rank, Real, resolve_ext_opr(), set_up_logical_constant(), Short_Typeless_Const, TRACE, TRUE, TRUE_VALUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, and expr_semantics_args::will_fold_later.
boolean expr_sem | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) |
Definition at line 1238 of file s_asg_expr.c.
References FALSE.
Referenced by alloc_obj_opr_handler(), and_opr_handler(), array_construct_semantics(), build_loop_tbl(), concat_opr_handler(), cvrt_opr_handler(), dealloc_obj_opr_handler(), defined_bin_opr_handler(), defined_un_opr_handler(), eq_opr_handler(), lg_opr_handler(), lt_opr_handler(), max_opr_handler(), minus_opr_handler(), mult_opr_handler(), not_opr_handler(), paren_opr_handler(), plus_opr_handler(), power_opr_handler(), process_char_len(), stmt_func_call_opr_handler(), struct_construct_opr_handler(), struct_opr_handler(), subscript_opr_handler(), substring_opr_handler(), triplet_opr_handler(), and uplus_opr_handler().
boolean expr_semantics | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) |
Definition at line 1035 of file s_asg_expr.c.
References FALSE.
Referenced by add_substring_length(), allocate_stmt_semantics(), arith_if_stmt_semantics(), array_construct_opr_handler(), array_dim_resolution(), assign_stmt_semantics(), assignment_stmt_semantics(), bound_semantics(), buffer_stmt_semantics(), build_loop_tbl(), calculate_iteration_count(), call_list_semantics(), case_stmt_semantics(), case_value_range_semantics(), change_section_to_this_element(), check_stat_variable(), compute_char_element_len(), concat_opr_handler(), constant_value_semantics(), copy_and_replace_tmps(), create_loop_stmts(), create_runtime_array_constructor(), create_tmp_from_stmt_func(), data_repeat_semantics(), deallocate_stmt_semantics(), default_init_semantics(), determine_tmp_size(), directive_stmt_semantics(), distribution_resolution(), do_loop_expr_semantics(), do_stmt_semantics(), doall_cmic_semantics(), doparallel_cmic_semantics(), else_stmt_semantics(), encode_decode_stmt_semantics(), equivalence_semantics(), final_arg_work(), fold_nested_substrings(), forall_semantics(), gen_arg_type_descriptor(), gen_assumed_shape_copy(), gen_auto_length(), gen_bd_entry(), gen_dv_access_low_bound(), gen_forall_max_expr(), gen_forall_tmp(), gen_forall_tmp_bd_entry(), gen_loop_end_ir(), gen_rbounds_condition(), gen_single_automatic_allocate(), generate_bounds_list(), goto_stmt_semantics(), if_stmt_semantics(), imp_do_metamorphed(), inquire_stmt_semantics(), io_ctl_list_semantics(), io_list_semantics(), make_triplet_extent_tree(), mp_directive_semantics(), nullify_stmt_semantics(), object_semantics(), open_mp_directive_semantics(), outer_imp_do_count(), outmoded_if_stmt_semantics(), parallel_cmic_semantics(), paren_grp_is_cplx_const(), parse_int_spec_expr(), parse_operand(), parse_parameter_stmt(), parse_type_dcl_stmt(), pe_array_dim_resolution(), prefetch_ref_semantics(), process_all_initialized_cpnts(), return_stmt_semantics(), select_stmt_semantics(), set_shape_for_deferred_funcs(), stmt_func_semantics(), stop_pause_stmt_semantics(), transfer_intrinsic(), translate_distant_ref1(), type_init_semantics(), validate_char_len(), and where_stmt_semantics().
static void fold_nested_substrings | ( | int | ir_idx | ) | [static] |
Definition at line 4805 of file s_asg_expr.c.
References CG_INTEGER_DEFAULT_TYPE, CIF_No_Usage_Rec, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, COPY_OPND, EXIT, expr_mode, expr_semantics(), find_opnd_line_and_column(), Func_Entry, Func_Exit, IL_NEXT_LIST_IDX, IL_OPND, 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_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Minus_Opr, NTR_IR_TBL, NULL, OPND_FLD, OPND_IDX, Plus_Opr, expr_semantics_args::rank, Regular_Expr, TRACE, Whole_Substring_Opr, and xref_state.
Referenced by substring_opr_handler().
boolean fold_relationals | ( | int | idx_1, |
int | idx_2, | ||
operator_type | opr | ||
) |
Definition at line 3265 of file s_asg_expr.c.
References CN_CONST, CN_TYPE_IDX, Eq_Opr, folder_driver(), Func_Entry, Func_Exit, Ge_Opr, Gt_Opr, Internal, Le_Opr, Lt_Opr, Ne_Opr, NULL, PRINTMSG(), stmt_start_col, stmt_start_line, THIS_IS_TRUE, and TRACE.
Referenced by array_construct_semantics(), array_dim_resolution(), assign_offset(), assign_offsets_for_equiv_groups(), assignment_stmt_semantics(), attr_init_semantics(), bin_array_syntax_check(), build_loop_tbl(), calculate_iteration_count(), case_stmt_semantics(), case_value_range_semantics(), cast_to_type_idx(), check_actual_and_dummy(), check_and_allocate_common_storage(), check_array_bounds(), check_elemental_conformance(), check_substring_bounds(), check_where_conformance(), compare_darg_to_actual_arg(), compare_derived_types(), compare_entry_to_func_rslt(), const_init_semantics(), determine_lb_ub(), directive_stmt_semantics(), do_stmt_semantics(), equivalence_semantics(), final_arg_work(), final_attr_semantics(), final_decl_semantics(), final_equivalence_semantics(), fold_all_subscripts(), gen_loop_end_ir(), imp_do_metamorphed(), interpret_binary_intrinsic_opr(), interpret_binary_opr(), interpret_concat_opr(), interpret_csmg_opr(), interpret_cvmgt_opr(), interpret_index_opr(), interpret_max_min_opr(), interpret_struct_construct_opr(), max_opr_handler(), merge_dimension(), merge_parameter(), mult_opr_handler(), parse_cpnt_dcl_stmt(), pe_array_dim_resolution(), power_opr_handler(), sin_intrinsic(), stmt_func_call_opr_handler(), storage_blk_resolution(), struct_construct_opr_handler(), subscript_opr_handler(), substring_opr_handler(), and wait_send_semantics().
static void gen_bias_ref | ( | opnd_type * | opnd | ) | [static] |
Definition at line 14557 of file s_asg_expr.c.
References AT_Tbl_Idx, ATD_TYPE_IDX, ATT_FIRST_CPNT_IDX, COPY_OPND, find_opnd_line_and_column(), Func_Entry, Func_Exit, glb_tbl_idx, IL_OPND, IL_Tbl_Idx, Integer_8, 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, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Pe_Offset_Attr_Idx, set_up_pe_offset_attr(), SN_ATTR_IDX, SN_SIBLING_LINK, Struct_Opr, Subscript_Opr, TRACE, and TYP_IDX.
Referenced by translate_distant_dv_ref(), translate_distant_ref1(), and translate_distant_ref2().
boolean gen_whole_subscript | ( | opnd_type * | opnd, |
expr_arg_type * | exp_desc | ||
) |
Definition at line 2528 of file s_asg_expr.c.
References ADD_TMP_TO_SHARED_LIST, Assignment_Stmt, Assumed_Size, AT_OBJ_CLASS, AT_Tbl_Idx, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_IM_A_DOPE, ATD_LCV_IS_CONST, ATD_PE_ARRAY_IDX, ATD_TYPE_IDX, BD_ARRAY_CLASS, BD_LB_FLD, BD_LB_IDX, BD_RANK, BD_UB_FLD, BD_UB_IDX, BD_XT_FLD, BD_XT_IDX, cast_to_cg_default(), CG_INTEGER_DEFAULT_TYPE, Character, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, CN_TYPE_IDX, COPY_OPND, copy_subtree(), curr_stmt_sh_idx, Data_Obj, Dv_Access_Extent, Dv_Deref_Opr, Error, EXIT, FALSE, find_base_attr(), FREE_IR_NODE, Func_Entry, Func_Exit, gen_dv_access_low_bound(), gen_whole_substring(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PE_SUBSCRIPT, IL_PREV_LIST_IDX, IL_Tbl_Idx, in_call_list, in_io_list, INTEGER_DEFAULT_TYPE, io_item_must_flatten, IR_ARRAY_SYNTAX, 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_LIST_CNT_L, IR_LIST_CNT_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, Minus_Opr, My_Pe_Opr, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, expr_semantics_args::pe_dim_ref, Plus_Opr, PRINTMSG(), expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, SH_IR_IDX, SH_STMT_TYPE, expr_semantics_args::shape, SHAPE_FOLDABLE, SHAPE_WILL_FOLD_LATER, Subscript_Opr, TRACE, Triplet_Opr, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, and Whole_Subscript_Opr.
Referenced by adjustl_intrinsic(), allocate_stmt_semantics(), create_argchck_descriptor(), create_constructor_constant(), create_namelist_descriptor(), create_runtime_array_constructor(), create_strct_tbl(), create_struct_constructor_asg(), create_tmp_asg(), discombobulate_structure_ref(), final_arg_work(), flatten_function_call(), fold_aggragate_expression(), gen_arg_type_descriptor(), gen_call_type_descriptor(), gen_default_init_code(), gen_entry_dope_code(), interpret_reshape_intrinsic(), interpret_transfer_intrinsic(), lbound_intrinsic(), null_intrinsic(), optimize_reshape(), process_all_initialized_cpnts(), process_cpnt_inits(), reshape_intrinsic(), shape_intrinsic(), struct_construct_opr_handler(), struct_opr_handler(), subscript_opr_handler(), transfer_intrinsic(), and ubound_intrinsic().
boolean gen_whole_substring | ( | opnd_type * | opnd, |
int | rank | ||
) |
Definition at line 2927 of file s_asg_expr.c.
References add_substring_length(), ADD_TMP_TO_SHARED_LIST, Assumed_Size_Char, AT_Tbl_Idx, ATD_CHAR_LEN_IN_DV, ATD_CLASS, ATD_TYPE_IDX, CG_INTEGER_DEFAULT_TYPE, char_len_in_bytes, Clen_Opr, CN_INTEGER_ONE_IDX, CN_INTEGER_THREE_IDX, CN_Tbl_Idx, COPY_OPND, CRI__Pointee, Dv_Access_El_Len, FALSE, find_base_attr(), 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, IR_ARRAY_SYNTAX, 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_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, OPND_FLD, OPND_IDX, SA_INTEGER_DEFAULT_TYPE, Shiftr_Opr, TRACE, TRUE, TYP_CHAR_CLASS, TYP_FLD, TYP_IDX, and Whole_Substring_Opr.
Referenced by const_init_semantics(), create_constructor_constant(), create_runtime_array_constructor(), create_scalar_type_tbl(), create_struct_constructor_asg(), create_tmp_asg(), cvrt_exp_to_pdg(), discombobulate_structure_ref(), do_single_asg(), final_arg_work(), finish_cdir_id(), flatten_function_call(), fold_aggragate_expression(), gen_forall_tmp(), gen_whole_subscript(), interpret_reshape_intrinsic(), interpret_transfer_intrinsic(), parse_id_directive(), process_cpnt_inits(), put_string_in_tmp(), reshape_intrinsic(), stmt_func_call_opr_handler(), struct_opr_handler(), subscript_opr_handler(), and transfer_intrinsic().
static int implied_do_depth | ( | opnd_type * | top_opnd | ) | [static] |
Definition at line 12466 of file s_asg_expr.c.
References COPY_OPND, Func_Entry, Func_Exit, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, Implied_Do_Opr, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NULL, OPND_FLD, OPND_IDX, and TRACE.
Referenced by array_construct_opr_handler().
static boolean lg_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 6789 of file s_asg_expr.c.
References Ansi, bin_array_syntax_check(), cast_typeless_constant(), Character, CN_CONST, CN_Tbl_Idx, comp_gen_expr, Complex, expr_semantics_args::constant, COPY_OPND, Err_Res, EXIT, expr_sem(), FALSE, find_opnd_line_and_column(), expr_semantics_args::foldable, folder_driver(), Func_Entry, Func_Exit, expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, opt_flags_entry::ieeeconform, in_call_list, INTEGER_DEFAULT_TYPE, IR_ARRAY_SYNTAX, IR_COL_NUM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_RANK, IR_TYPE_IDX, LG_EXTN, LG_TYPE, expr_semantics_args::linear_type, Ne_Opr, ntr_const_tbl(), NULL, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, opt_flags, PRINTMSG(), expr_semantics_args::rank, Real, resolve_ext_opr(), Short_Typeless_Const, target_ieee, TRACE, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, and expr_semantics_args::will_fold_later.
static void linearize_pe_dims | ( | int | pe_dim_list_idx, |
int | bd_idx, | ||
int | line, | ||
int | col, | ||
opnd_type * | result_opnd | ||
) | [static] |
Definition at line 13200 of file s_asg_expr.c.
References BD_LB_FLD, BD_LB_IDX, BD_RANK, BD_SM_FLD, BD_SM_IDX, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, COPY_OPND, Func_Entry, Func_Exit, IL_NEXT_LIST_IDX, IL_OPND, INTEGER_DEFAULT_TYPE, 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, Minus_Opr, Mult_Opr, NTR_IR_TBL, NULL, OPND_FLD, OPND_IDX, Plus_Opr, and TRACE.
Referenced by translate_distant_dv_ref(), translate_distant_ref1(), and translate_distant_ref2().
void look_for_real_div | ( | opnd_type * | opnd | ) |
Definition at line 4641 of file s_asg_expr.c.
References Caution, COPY_OPND, Div_Opr, Func_Entry, Func_Exit, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, IR_COL_NUM, IR_LINE_NUM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, look_for_real_div(), NULL, on_off_flags, OPND_FLD, OPND_IDX, PRINTMSG(), Real, Real_Div_To_Int_Opr, on_off_flags_entry::round_integer_divide, TRACE, and TYP_TYPE.
Referenced by assignment_stmt_semantics(), int_intrinsic(), and look_for_real_div().
static void lower_ptr_asg | ( | expr_arg_type * | exp_desc_r | ) | [static] |
Definition at line 924 of file s_asg_expr.c.
References expr_semantics_args::allocatable, Continue_Stmt, COPY_OPND, curr_stmt_sh_idx, dope_vector_setup(), Dv_Deref_Opr, Func_Entry, Func_Exit, Internal, IR_COL_NUM, IR_FLD_L, IR_IDX_L, IR_LINE_NUM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NULL, NULL_IDX, expr_semantics_args::pointer, print_ir(), PRINTMSG(), Ptr_Asg_Opr, ptr_assign_from_ptr(), remove_sh(), SH_COMPILER_GEN, SH_IR_IDX, SH_LABELED, SH_LOOP_END, SH_PARENT_BLK_IDX, SH_PREV_IDX, SH_STMT_TYPE, expr_semantics_args::target, TRACE, TRUE, Whole_Subscript_Opr, and Whole_Substring_Opr.
static boolean lt_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 7038 of file s_asg_expr.c.
References Ansi, bin_array_syntax_check(), cast_typeless_constant(), expr_semantics_args::char_len, Character, CN_CONST, CN_INT_TO_C, CN_Tbl_Idx, comp_gen_expr, Complex, expr_semantics_args::constant, COPY_OPND, Err_Res, EXIT, expr_sem(), FALSE, FALSE_VALUE, find_opnd_line_and_column(), opnd_entry::fld, expr_semantics_args::foldable, folder_driver(), Func_Entry, Func_Exit, Ge_Opr, GT_LT_EXTN, GT_LT_TYPE, expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, opnd_entry::idx, opt_flags_entry::ieeeconform, in_call_list, INTEGER_DEFAULT_TYPE, IR_ARRAY_SYNTAX, IR_COL_NUM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_RANK, IR_TYPE_IDX, Le_Opr, expr_semantics_args::linear_type, make_logical_array_tmp(), ntr_const_tbl(), NULL, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, opt_flags, PRINTMSG(), expr_semantics_args::rank, Real, resolve_ext_opr(), set_up_logical_constant(), Short_Typeless_Const, TRACE, TRUE, TRUE_VALUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, and expr_semantics_args::will_fold_later.
static void make_logical_array_tmp | ( | opnd_type * | top_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 4710 of file s_asg_expr.c.
References check_type_conversion, COPY_OPND, create_bd_ntry_for_const(), create_tmp_asg(), FALSE, find_opnd_line_and_column(), fold_aggragate_expression(), expr_semantics_args::foldable, Func_Entry, Func_Exit, init_target_opnd, Intent_In, expr_semantics_args::linear_type, NULL, null_opnd, expr_semantics_args::rank, expr_semantics_args::shape, SHAPE_FOLDABLE, target_array_idx, target_type_idx, expr_semantics_args::tmp_reference, TRACE, TRUE, expr_semantics_args::type, and expr_semantics_args::type_idx.
Referenced by eq_opr_handler(), and lt_opr_handler().
void make_triplet_extent_tree | ( | opnd_type * | opnd, |
int | list_idx | ||
) |
Definition at line 3329 of file s_asg_expr.c.
References CG_INTEGER_DEFAULT_TYPE, CIF_No_Usage_Rec, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, COPY_OPND, copy_subtree(), Div_Opr, expr_mode, expr_semantics(), find_opnd_line_and_column(), expr_semantics_args::foldable, 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_IDX_L, IR_LINE_NUM, IR_LIST_CNT_L, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Max_Opr, Minus_Opr, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, OPND_FLD, OPND_IDX, Plus_Opr, expr_semantics_args::rank, Regular_Expr, SHAPE_FOLDABLE, SHAPE_WILL_FOLD_LATER, TRACE, TRUE, expr_semantics_args::will_fold_later, and xref_state.
Referenced by subscript_opr_handler().
static boolean max_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 8002 of file s_asg_expr.c.
References CG_INTEGER_DEFAULT_TYPE, CN_Tbl_Idx, CN_TYPE_IDX, expr_semantics_args::constant, COPY_OPND, expr_sem(), FALSE, fold_relationals(), expr_semantics_args::foldable, Func_Entry, Func_Exit, Gt_Opr, expr_semantics_args::has_symbolic, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, in_call_list, Integer, IR_COL_NUM, IR_IDX_L, IR_LINE_NUM, IR_OPR, expr_semantics_args::linear_type, Lt_Opr, Max_Opr, NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, expr_semantics_args::rank, TRACE, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, and expr_semantics_args::will_fold_later.
static boolean minus_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 5736 of file s_asg_expr.c.
References Ansi, bin_array_syntax_check(), BIN_SUB_EXTN, BIN_SUB_TYPE, cast_typeless_constant(), Character, CN_CONST, CN_Tbl_Idx, comp_gen_expr, compare_cn_and_value(), Complex, expr_semantics_args::constant, COPY_OPND, Default_Typed, Eq_Opr, Err_Res, EXIT, expr_sem(), FALSE, find_opnd_line_and_column(), expr_semantics_args::foldable, folder_driver(), Func_Entry, Func_Exit, expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, opt_flags_entry::ieeeconform, in_call_list, Integer, Integer_8, IR_ARRAY_SYNTAX, IR_COL_NUM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_RANK, IR_TYPE_IDX, expr_semantics_args::linear_type, ntr_const_tbl(), NULL, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, opt_flags, PRINTMSG(), expr_semantics_args::rank, Real, resolve_ext_opr(), Short_Typeless_Const, TRACE, TRUE, TYP_DESC, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, and expr_semantics_args::will_fold_later.
static boolean mult_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 5419 of file s_asg_expr.c.
References Ansi, bin_array_syntax_check(), cast_typeless_constant(), Character, CN_CONST, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, comp_gen_expr, compare_cn_and_value(), Complex, expr_semantics_args::constant, COPY_OPND, Default_Typed, Div_Opr, Eq_Opr, Err_Res, Error, EXIT, expr_sem(), FALSE, find_opnd_line_and_column(), fold_relationals(), expr_semantics_args::foldable, folder_driver(), Func_Entry, Func_Exit, expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, opt_flags_entry::ieeeconform, in_call_list, Integer, Integer_8, IR_ARRAY_SYNTAX, 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_OPND_R, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, MULT_DIV_EXTN, MULT_DIV_TYPE, Mult_Opr, ntr_const_tbl(), NULL, on_off_flags, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, opt_flags, PRINTMSG(), expr_semantics_args::rank, Real, Real_Div_To_Int_Opr, resolve_ext_opr(), on_off_flags_entry::round_integer_divide, Short_Typeless_Const, target_ieee, TRACE, TRUE, TYP_DESC, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Warning, and expr_semantics_args::will_fold_later.
static boolean not_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 7309 of file s_asg_expr.c.
References Ansi, Bnot_Opr, cast_typeless_constant(), Character, CN_CONST, CN_Tbl_Idx, comp_gen_expr, Complex, expr_semantics_args::constant, COPY_OPND, COPY_SHAPE, Err_Res, EXIT, expr_sem(), FALSE, find_opnd_line_and_column(), expr_semantics_args::foldable, folder_driver(), Func_Entry, Func_Exit, expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, opt_flags_entry::ieeeconform, in_call_list, IR_ARRAY_SYNTAX, IR_COL_NUM, IR_FLD_L, IR_IDX_L, IR_LINE_NUM, IR_OPND_L, IR_OPR, IR_RANK, IR_TYPE_IDX, expr_semantics_args::linear_type, NOT_EXTN, NOT_TYPE, ntr_const_tbl(), NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, opt_flags, PRINTMSG(), expr_semantics_args::rank, Real, resolve_ext_opr(), expr_semantics_args::shape, Short_Typeless_Const, TRACE, TRUE, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, and expr_semantics_args::will_fold_later.
boolean operation_is_intrinsic | ( | operator_type | opr, |
int | type_idx_l, | ||
int | rank_l, | ||
int | type_idx_r, | ||
int | rank_r | ||
) |
Definition at line 3077 of file s_asg_expr.c.
References And_Opr, AND_OR_EXTN, AND_OR_TYPE, ASG_EXTN, Asg_Opr, ASG_TYPE, BIN_ADD_EXTN, BIN_ADD_TYPE, BIN_SUB_EXTN, BIN_SUB_TYPE, Character, Concat_Opr, Div_Opr, EQ_NE_EXTN, EQ_NE_TYPE, Eq_Opr, Eqv_Opr, Err_Res, EXIT, FALSE, Func_Entry, Func_Exit, Ge_Opr, GT_LT_EXTN, GT_LT_TYPE, Gt_Opr, Le_Opr, Lt_Opr, Minus_Opr, MULT_DIV_EXTN, MULT_DIV_TYPE, Mult_Opr, Ne_Opr, Neqv_Opr, NOT_EXTN, Not_Opr, NOT_TYPE, NULL, Null_Opr, Or_Opr, Plus_Opr, POWER_EXTN, Power_Opr, POWER_TYPE, Structure_Type, TRACE, TRUE, TYP_LINEAR, TYP_TYPE, Typeless, UN_PLUS_EXTN, and UN_PLUS_TYPE.
Referenced by verify_interface().
static long64 outer_imp_do_count | ( | opnd_type * | size_opnd | ) | [static] |
Definition at line 12529 of file s_asg_expr.c.
References CIF_No_Usage_Rec, CN_INT_TO_C, CN_Tbl_Idx, COPY_OPND, Div_Opr, EXIT, expr_semantics(), Func_Entry, Func_Exit, gen_ir(), gen_opnd(), IL_NEXT_LIST_IDX, IL_OPND, Implied_Do_Opr, init_exp_desc, IR_COL_NUM, IR_IDX_R, IR_LINE_NUM, IR_OPND_R, IR_OPR, IR_Tbl_Idx, Minus_Opr, NULL, OPND_FLD, OPND_IDX, Plus_Opr, expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, TRACE, and xref_state.
Referenced by array_construct_opr_handler().
static boolean paren_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 11534 of file s_asg_expr.c.
References expr_semantics_args::char_len, Concat_Opr, expr_semantics_args::constant, COPY_OPND, COPY_SHAPE, expr_sem(), FALSE, expr_semantics_args::foldable, Func_Entry, Func_Exit, expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, in_call_list, IR_ARRAY_SYNTAX, IR_FLD_L, IR_IDX_L, IR_OPND_L, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, NULL, OPND_IDX, Paren_Opr, expr_semantics_args::rank, expr_semantics_args::shape, TRACE, TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, expr_semantics_args::vector_subscript, and expr_semantics_args::will_fold_later.
static boolean plus_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 5987 of file s_asg_expr.c.
References Ansi, BIN_ADD_EXTN, BIN_ADD_TYPE, bin_array_syntax_check(), cast_typeless_constant(), Character, CN_CONST, CN_Tbl_Idx, comp_gen_expr, compare_cn_and_value(), Complex, expr_semantics_args::constant, COPY_OPND, Default_Typed, Eq_Opr, Err_Res, EXIT, expr_sem(), FALSE, find_opnd_line_and_column(), expr_semantics_args::foldable, folder_driver(), Func_Entry, Func_Exit, expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, opt_flags_entry::ieeeconform, in_call_list, Integer, Integer_8, IR_ARRAY_SYNTAX, IR_COL_NUM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_OPND_L, IR_OPND_R, IR_OPR, IR_RANK, IR_TYPE_IDX, expr_semantics_args::linear_type, ntr_const_tbl(), NULL, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, opt_flags, PRINTMSG(), expr_semantics_args::rank, Real, resolve_ext_opr(), Short_Typeless_Const, TRACE, TRUE, TYP_DESC, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, and expr_semantics_args::will_fold_later.
static boolean power_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 5145 of file s_asg_expr.c.
References Ansi, bin_array_syntax_check(), cast_typeless_constant(), Character, CN_CONST, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, comp_gen_expr, Complex, expr_semantics_args::constant, COPY_OPND, Default_Typed, Err_Res, Error, EXIT, expr_mode, expr_sem(), FALSE, find_opnd_line_and_column(), fold_relationals(), expr_semantics_args::foldable, folder_driver(), Func_Entry, Func_Exit, expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, opt_flags_entry::ieeeconform, in_call_list, Initialization_Expr, Integer, Integer_8, io_item_must_flatten, IR_ARRAY_SYNTAX, 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_OPND_R, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, Lt_Opr, ntr_const_tbl(), NULL, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, opt_flags, POWER_EXTN, Power_Opr, POWER_TYPE, PRINTMSG(), expr_semantics_args::rank, Real, resolve_ext_opr(), Short_Typeless_Const, TRACE, TRUE, TYP_DESC, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, and expr_semantics_args::will_fold_later.
void ptr_assign_from_ptr | ( | opnd_type * | l_opnd, |
opnd_type * | r_opnd | ||
) |
Definition at line 3553 of file s_asg_expr.c.
References After, Assignment_Stmt, Before, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, COPY_OPND, curr_stmt_sh_idx, Dv_Deref_Opr, Dv_Set_P_Or_A, Dv_Whole_Copy_Opr, FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_sh(), Internal, IR_COL_NUM, IR_COL_NUM_R, IR_FLD_R, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NTR_IR_TBL, NULL, OPND_FLD, OPND_IDX, PRINTMSG(), SH_IR_IDX, SH_LABELED, SH_PREV_IDX, stmt_start_col, stmt_start_line, TRACE, TRUE, and TYPELESS_DEFAULT_TYPE.
Referenced by create_struct_constructor_asg(), and lower_ptr_asg().
static int set_up_pe_offset_attr | ( | void | ) | [static] |
Definition at line 14093 of file s_asg_expr.c.
References AT_DEF_COLUMN, AT_DEF_LINE, AT_LOCKED_IN, AT_NAME_IDX, AT_NAME_LEN, AT_OBJ_CLASS, AT_REFERENCED, AT_SEMANTICS_DONE, AT_TYPED, ATD_ARRAY_IDX, ATD_CLASS, ATD_CPNT_OFFSET_IDX, ATD_DERIVED_TYPE_IDX, ATD_IN_COMMON, ATD_OFFSET_ASSIGNED, ATD_OFFSET_FLD, ATD_OFFSET_IDX, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATT_DCL_NUMERIC_SEQ, ATT_FIRST_CPNT_IDX, ATT_NUM_CPNTS, ATT_NUMERIC_CPNT, ATT_SCP_IDX, ATT_SEQUENCE_SET, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, BIAS_SIZE, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, CLEAR_TBL_NTRY, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, Common, create_bd_ntry_for_const(), CREATE_ID, curr_scp_idx, Data_Obj, Derived_Type, FALSE, opnd_entry::fld, Func_Entry, Func_Exit, opnd_entry::idx, init_exp_desc, Integer, Integer_4, Integer_8, expr_semantics_args::linear_type, NTR_ATTR_TBL, NTR_NAME_POOL, NTR_SN_TBL, ntr_stor_blk_tbl(), ntr_sym_tbl(), ntr_type_tbl(), NULL, NULL_IDX, expr_semantics_args::rank, Referenced, SA_INTEGER_DEFAULT_TYPE, SB_BLANK_COMMON, SB_COMMON_NEEDS_OFFSET, SB_FIRST_ATTR_IDX, SB_LEN_FLD, SB_LEN_IDX, SB_NAME_IN_STONE, expr_semantics_args::shape, SN_ATTR_IDX, SN_NAME_IDX, SN_NAME_LEN, SN_SIBLING_LINK, srch_stor_blk_tbl(), srch_sym_tbl(), stmt_start_col, stmt_start_line, storage_bit_size_tbl, Struct_Component, Structure, Structure_Type, Task_Common, Tok_Id, token, TOKEN_COLUMN, TOKEN_ID, TOKEN_LEN, TOKEN_LINE, TOKEN_STR, TRACE, TRUE, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYP_WORK_IDX, expr_semantics_args::type, expr_semantics_args::type_idx, type_tbl, and Variable.
Referenced by gen_bias_ref().
static boolean stmt_func_call_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 11628 of file s_asg_expr.c.
References Ansi, arg_info_list, arg_info_list_base, arg_info_list_size, arg_info_list_top, arg_list_size, arg_strct::arg_opnd, ASG_EXTN, ASG_TYPE, Assignment_Stmt, AT_DCL_ERR, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_Tbl_Idx, ATD_FLD, ATD_SF_ARG_IDX, ATD_SF_LINK, ATD_TYPE_IDX, ATP_FIRST_IDX, ATP_NUM_DARGS, ATS_SF_ACTIVE, ATS_SF_FLD, ATS_SF_IDX, ATS_SF_SEMANTICS_DONE, Before, cast_to_type_idx(), cast_typeless_constant(), Caution, expr_semantics_args::char_len, Character, Character_1, check_type_conversion, CN_Tbl_Idx, compare_derived_types(), expr_semantics_args::constant, COPY_OPND, copy_subtree(), create_tmp_asg(), curr_stmt_sh_idx, Data_Obj, defer_stmt_expansion, Dv_Deref_Opr, arg_strct::ed, enlarge_call_list_tables(), enlarge_info_list_table(), Eq_Opr, Err_Res, Error, EXIT, expr_mode, expr_sem(), FALSE, find_opnd_line_and_column(), opnd_entry::fld, fnd_semantic_err(), fold_aggragate_expression(), fold_relationals(), expr_semantics_args::foldable, Func_Entry, Func_Exit, GEN_COMPILER_TMP_ASG, gen_sh(), gen_whole_substring(), get_basic_type_str(), expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, opnd_entry::idx, IL_ARG_DESC_IDX, IL_ARG_DESC_VARIANT, IL_FLD, IL_HAS_FUNCTIONS, IL_NEXT_LIST_IDX, IL_OPND, init_arg_info, Intent_In, io_item_must_flatten, IR_COL_NUM, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, Lt_Opr, max_call_list_size, no_func_expansion, NTR_IR_TBL, NULL, number_of_functions, Obj_Sf_Actual_Arg, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, Paren_Opr, PRINTMSG(), Priv, expr_semantics_args::rank, expr_semantics_args::reference, Section_Subscript_Opr, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, Short_Typeless_Const, SN_ATTR_IDX, stmt_expansion_control_end(), stmt_expansion_control_start(), Stmt_Func_Expr, stmt_func_semantics(), Struct_Opr, Structure, Subscript_Opr, Substring_Opr, target_char_len_idx, target_type_idx, expr_semantics_args::tmp_reference, TRACE, expr_semantics_args::tree_has_ranf, tree_has_ranf, TRUE, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless_4, Typeless_8, validate_char_len(), Whole_Subscript_Opr, Whole_Substring_Opr, and expr_semantics_args::will_fold_later.
boolean stmt_func_semantics | ( | int | stmt_func_idx | ) |
Definition at line 4433 of file s_asg_expr.c.
References ASG_TYPE, AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_OBJ_NAME_PTR, ATD_SF_DARG, ATD_TYPE_IDX, ATP_FIRST_IDX, ATP_NUM_DARGS, ATS_SF_ACTIVE, ATS_SF_FLD, ATS_SF_IDX, ATS_SF_SEMANTICS_DONE, cdir_switches, CIF_Symbol_Reference, compare_derived_types(), copy_subtree(), Err_Res, Error, expr_mode, expr_semantics(), FALSE, Func_Entry, Func_Exit, expr_semantics_args::linear_type, no_func_expansion, NULL, OPND_FLD, OPND_IDX, cdir_switch_entry::parallel_region, PRINTMSG(), expr_semantics_args::rank, SN_ATTR_IDX, Stmt_Func_Expr, Structure_Type, TRACE, TRUE, TYP_LINEAR, expr_semantics_args::type_idx, and xref_state.
Referenced by final_attr_semantics(), and stmt_func_call_opr_handler().
static boolean struct_construct_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 8348 of file s_asg_expr.c.
References Ansi, arg_info_list, arg_info_list_base, arg_info_list_size, arg_info_list_top, ASG_EXTN, ASG_TYPE, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_SEMANTICS_DONE, AT_Tbl_Idx, AT_USE_ASSOCIATED, ATD_ARRAY_IDX, ATD_POINTER, ATD_STOR_BLK_IDX, ATD_TARGET, ATD_TYPE_IDX, ATP_RSLT_IDX, ATT_FIRST_CPNT_IDX, ATT_NUM_CPNTS, ATT_PRIVATE_CPNT, BD_RANK, Before, Call_Opr, cast_typeless_constant(), expr_semantics_args::char_len, Character, CLEAR_TBL_NTRY, CN_Tbl_Idx, compare_derived_types(), Constant_Struct_Construct_Opr, constructor_level, COPY_OPND, create_constructor_constant(), create_runtime_struct_constructor(), curr_scp_idx, Data_Obj, defer_stmt_expansion, Derived_Type, Dv_Deref_Opr, arg_strct::ed, enlarge_info_list_table(), Err_Res, Error, EXIT, expr_mode, expr_sem(), FALSE, find_opnd_line_and_column(), opnd_entry::fld, fold_relationals(), expr_semantics_args::foldable, Func_Entry, Func_Exit, gen_compiler_tmp(), gen_ir(), gen_opnd(), gen_static_dv_whole_def(), gen_whole_subscript(), get_basic_type_str(), expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, opnd_entry::idx, IL_ARG_DESC_IDX, IL_ARG_DESC_VARIANT, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, in_call_list, in_constructor, init_arg_info, Initialization_Expr, Internal, io_item_must_flatten, IR_COL_NUM, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_R, IR_OPND_L, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, Ne_Opr, no_func_expansion, NO_Tbl_Idx, ntr_type_tbl(), NULL, NULL_IDX, Null_Intrinsic_Opr, OPND_FLD, OPND_IDX, Pgm_Unit, pgm_unit_illegal, expr_semantics_args::pointer, PRINTMSG(), Priv, expr_semantics_args::rank, expr_semantics_args::reference, Regular_Expr, SCP_SB_STATIC_INIT_IDX, Short_Typeless_Const, SN_ATTR_IDX, SN_SIBLING_LINK, Structure, Structure_Type, expr_semantics_args::target, expr_semantics_args::tmp_reference, TRACE, TRUE, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYP_WORK_IDX, expr_semantics_args::type, expr_semantics_args::type_idx, type_tbl, Typeless, expr_semantics_args::vector_subscript, and expr_semantics_args::will_fold_later.
static boolean struct_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc, | ||
int | rank_in | ||
) | [static] |
Definition at line 8115 of file s_asg_expr.c.
References expr_semantics_args::array_elt, expr_semantics_args::assumed_shape, expr_semantics_args::assumed_size, ATD_ARRAY_IDX, expr_semantics_args::bias_opnd, expr_semantics_args::char_len, Character, cif_flags, CIF_No_Usage_Rec, CIF_Symbol_Is_Actual_Arg, cif_usage_rec(), expr_semantics_args::component, expr_semantics_args::constant, expr_semantics_args::contig_array, COPY_OPND, COPY_SHAPE, expr_semantics_args::dist_reshape_ref, expr_semantics_args::dope_vector, Error, expr_sem(), FALSE, find_opnd_line_and_column(), expr_semantics_args::foldable, Func_Entry, Func_Exit, gen_whole_subscript(), gen_whole_substring(), expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, in_call_list, in_component_ref, insert_subs_ok, IR_COL_NUM, IR_COL_NUM_R, IR_FLD_L, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, no_sub_or_deref, NULL, OPND_FLD, OPND_IDX, expr_semantics_args::pe_dim_ref, expr_semantics_args::pointer, PRINTMSG(), expr_semantics_args::rank, expr_semantics_args::reference, expr_semantics_args::section, expr_semantics_args::shape, storage_bit_size_tbl, Substring_Opr, expr_semantics_args::target, TRACE, translate_dv_component(), TRUE, expr_semantics_args::type, expr_semantics_args::type_idx, expr_semantics_args::vector_subscript, Whole_Substring_Opr, expr_semantics_args::will_fold_later, and xref_state.
static boolean subscript_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc, | ||
int | rank_in | ||
) | [static] |
Definition at line 9082 of file s_asg_expr.c.
References ADD_TMP_TO_SHARED_LIST, Ansi, expr_semantics_args::array_elt, Assumed_Shape, expr_semantics_args::assumed_shape, Assumed_Size, AT_ATTR_LINK, AT_IGNORE_ATTR_LINK, AT_OBJ_CLASS, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ALLOCATABLE, 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, ATP_HAS_OVER_INDEXING, BD_ARRAY_CLASS, BD_LB_FLD, BD_LB_IDX, BD_RANK, BD_UB_FLD, BD_UB_IDX, expr_semantics_args::bias_opnd, Call_Opr, cast_to_cg_default(), cast_typeless_constant(), CG_INTEGER_DEFAULT_TYPE, expr_semantics_args::char_len, Character, check_array_bounds(), expr_semantics_args::cif_id, CIF_No_Usage_Rec, CIF_Symbol_Reference, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, CN_TYPE_IDX, compare_cn_and_value(), expr_semantics_args::component, expr_semantics_args::constant, expr_semantics_args::contig_array, COPY_OPND, COPY_SHAPE, copy_subtree(), CRI__Pointee, curr_scp_idx, Data_Obj, Data_Stmt_Target, Data_Stmt_Target_Expr, Deferred_Shape, expr_semantics_args::dist_reshape_ref, expr_semantics_args::dope_vector, dump_flags, Dv_Access_Extent, Dv_Deref_Opr, Eq_Opr, Error, Explicit_Shape, expr_mode, expr_sem(), FALSE, find_base_attr(), find_opnd_line_and_column(), fold_relationals(), expr_semantics_args::foldable, FREE_IR_LIST_NODE, FREE_IR_NODE, Func_Entry, Func_Exit, gen_compiler_tmp(), gen_dv_access_low_bound(), gen_ir(), gen_whole_subscript(), gen_whole_substring(), expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, IL_COL_NUM, IL_CONSTANT_SUBSCRIPT, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PE_SUBSCRIPT, IL_PREV_LIST_IDX, IL_VECTOR_SUBSCRIPT, in_call_list, in_component_ref, in_implied_do, in_io_list, insert_subs_ok, Integer, INTEGER_DEFAULT_TYPE, Internal, io_item_must_flatten, IR_COL_NUM, IR_COL_NUM_L, IR_DV_DIM, IR_FLD_L, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_LIST_CNT_R, IR_OPND_L, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, Local_Pe_Dim_Opr, Long_Typeless, make_triplet_extent_tree(), Minus_Opr, My_Pe_Opr, dump_flags_entry::no_dimension_padding, no_sub_or_deref, NO_Tbl_Idx, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, expr_semantics_args::pe_dim_ref, Pgm_Unit, pgm_unit_illegal, Plus_Opr, expr_semantics_args::pointer, PRINTMSG(), expr_semantics_args::rank, expr_semantics_args::reference, Restricted_Imp_Do_Expr, Restricted_Imp_Do_Target, SA_INTEGER_DEFAULT_TYPE, SCP_ATTR_IDX, SCP_SB_BASED_IDX, expr_semantics_args::section, Section_Subscript_Opr, expr_semantics_args::shape, SHAPE_FOLDABLE, SHAPE_WILL_FOLD_LATER, Shared, Short_Typeless_Const, Struct_Opr, Subscript_Opr, expr_semantics_args::target, TRACE, Triplet_Opr, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, Variable, expr_semantics_args::vector_subscript, Warning, Whole_Subscript_Opr, expr_semantics_args::will_fold_later, and xref_state.
static boolean substring_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc, | ||
int | rank_in | ||
) | [static] |
Definition at line 10353 of file s_asg_expr.c.
References add_substring_length(), ADD_TMP_TO_SHARED_LIST, expr_semantics_args::array_elt, Assumed_Size_Char, AT_Tbl_Idx, ATD_CLASS, ATD_TYPE_IDX, expr_semantics_args::bias_opnd, cast_typeless_constant(), CG_INTEGER_DEFAULT_TYPE, expr_semantics_args::char_len, Character, Character_1, CHARACTER_DEFAULT_TYPE, check_substring_bounds(), expr_semantics_args::cif_id, CIF_No_Usage_Rec, CIF_Symbol_Reference, CLEAR_TBL_NTRY, Clen_Opr, CN_CONST, CN_INT_TO_C, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, CN_TYPE_IDX, compare_cn_and_value(), expr_semantics_args::component, Const_Len_Char, expr_semantics_args::constant, expr_semantics_args::contig_array, COPY_OPND, COPY_SHAPE, CRI__Pointee, Data_Stmt_Target, Data_Stmt_Target_Expr, defer_stmt_expansion, expr_semantics_args::dist_reshape_ref, expr_semantics_args::dope_vector, Eq_Opr, Error, expr_mode, expr_sem(), FALSE, find_base_attr(), find_opnd_line_and_column(), fold_nested_substrings(), fold_relationals(), expr_semantics_args::foldable, Func_Entry, Func_Exit, gen_initialized_tmp(), expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, IL_COL_NUM, IL_CONSTANT_SUBSCRIPT, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, in_call_list, in_component_ref, insert_subs_ok, Integer, INTEGER_DEFAULT_TYPE, IR_COL_NUM, IR_COL_NUM_L, IR_FLD_L, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_L, IR_OPND_L, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, Le_Opr, expr_semantics_args::linear_type, Long_Typeless, NO_Tbl_Idx, ntr_const_tbl(), NTR_IR_TBL, ntr_type_tbl(), NULL, number_of_functions, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, expr_semantics_args::pe_dim_ref, expr_semantics_args::pointer, PRINTMSG(), expr_semantics_args::rank, expr_semantics_args::reference, Restricted_Imp_Do_Expr, Restricted_Imp_Do_Target, expr_semantics_args::section, expr_semantics_args::shape, Short_Char_Const, Short_Typeless_Const, stmt_expansion_control_end(), stmt_expansion_control_start(), Substring_Opr, expr_semantics_args::target, TRACE, 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, expr_semantics_args::vector_subscript, Whole_Substring_Opr, expr_semantics_args::will_fold_later, and xref_state.
void transform_cri_ch_ptr | ( | opnd_type * | result_opnd | ) |
Definition at line 14672 of file s_asg_expr.c.
References Asg_Opr, Assignment_Stmt, AT_DEFINED, AT_OBJ_CLASS, AT_REFERENCED, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_CLASS, ATD_EQUIV, ATD_FLD, ATD_OFFSET_ASSIGNED, ATD_OFFSET_FLD, ATD_OFFSET_IDX, ATD_PTR_IDX, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATD_VARIABLE_TMP_IDX, Before, COPY_TBL_NTRY, create_equiv_stor_blk(), CRI__Pointee, CRI_Ch_Ptr, CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, defer_stmt_expansion, Dummy_Argument, EQ_ATTR_IDX, EQ_NEXT_EQUIV_GRP, EQ_NEXT_EQUIV_OBJ, equiv_tbl, FALSE, find_left_attr(), find_opnd_line_and_column(), FOUND, Func_Entry, Func_Exit, gen_compiler_tmp(), gen_sh(), INTEGER_DEFAULT_TYPE, 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_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Loc_Opr, NTR_EQ_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), Referenced, SB_BLK_TYPE, SB_EQUIVALENCED, SB_HOSTED_STATIC, SB_IS_COMMON, SB_MODULE, SCP_FIRST_EQUIV_GRP, SCP_SB_BASED_IDX, SCP_SB_STACK_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, Shared, Stack, stmt_start_col, stmt_start_line, TRACE, TRUE, TYP_TYPE, and Variable.
Referenced by assignment_stmt_semantics(), and object_semantics().
static void translate_distant_dv_ref | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc, | ||
int | pe_dim_list_idx | ||
) | [static] |
Definition at line 12725 of file s_asg_expr.c.
References Assignment_Stmt, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_PE_ARRAY_IDX, ATD_POINTER, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, BD_RANK, Before, expr_semantics_args::bias_opnd, COPY_OPND, curr_scp_idx, curr_stmt_sh_idx, Dv_Access_Base_Addr, Dv_Deref_Opr, Dv_Set_Base_Addr, Dv_Whole_Copy_Opr, FALSE, find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_bias_ref(), gen_compiler_tmp(), gen_sh(), IL_NEXT_LIST_IDX, 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_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, linearize_pe_dims(), NTR_IR_TBL, NULL, NULL_IDX, OPND_IDX, Plus_Opr, PRINTMSG(), Priv, SA_INTEGER_DEFAULT_TYPE, SCP_SB_STACK_IDX, SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, TRACE, TRUE, and TYPELESS_DEFAULT_TYPE.
Referenced by translate_distant_ref().
void translate_distant_ref | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc, | ||
int | pe_dim_list_idx | ||
) |
Definition at line 12632 of file s_asg_expr.c.
References AT_Tbl_Idx, ATD_IM_A_DOPE, defer_stmt_expansion, dump_flags, Error, FALSE, find_opnd_line_and_column(), dump_flags_entry::fmm1, Func_Entry, Func_Exit, IL_FLD, IL_IDX, in_component_ref, io_item_must_flatten, IR_FLD_L, IR_IDX_L, IR_OPR, IR_Tbl_Idx, expr_semantics_args::linear_type, My_Pe_Opr, NULL, OPND_IDX, expr_semantics_args::pe_dim_ref, PRINTMSG(), stmt_expansion_control_end(), stmt_expansion_control_start(), storage_bit_size_tbl, Structure, TRACE, translate_distant_dv_ref(), translate_distant_ref1(), translate_distant_ref2(), TRUE, and expr_semantics_args::type.
static void translate_distant_ref1 | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc, | ||
int | pe_dim_list_idx | ||
) | [static] |
Definition at line 12993 of file s_asg_expr.c.
References Asg_Opr, Assignment_Stmt, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CLASS, ATD_PE_ARRAY_IDX, ATD_PTR_IDX, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, BD_RANK, Before, expr_semantics_args::bias_opnd, CIF_No_Usage_Rec, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, COPY_OPND, create_bd_ntry_for_const(), CRI__Pointee, CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, expr_semantics(), FALSE, find_opnd_line_and_column(), opnd_entry::fld, Func_Entry, Func_Exit, gen_bias_ref(), gen_compiler_tmp(), gen_sh(), opnd_entry::idx, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_Tbl_Idx, init_exp_desc, 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_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, linearize_pe_dims(), Loc_Opr, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, Plus_Opr, expr_semantics_args::rank, SCP_SB_BASED_IDX, SCP_SB_STACK_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, expr_semantics_args::shape, Shared, stmt_start_col, stmt_start_line, Structure, TRACE, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, and xref_state.
Referenced by translate_distant_ref().
static void translate_distant_ref2 | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc, | ||
int | pe_dim_list_idx | ||
) | [static] |
Definition at line 13919 of file s_asg_expr.c.
References AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_PE_ARRAY_IDX, ATD_TYPE_IDX, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, BD_RANK, expr_semantics_args::bias_opnd, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, Character, CN_CONST, CN_INTEGER_CHAR_BIT_IDX, CN_Tbl_Idx, CN_TYPE_IDX, COPY_OPND, copy_subtree(), Div_Opr, FALSE, find_opnd_line_and_column(), folder_driver(), Func_Entry, Func_Exit, gen_bias_ref(), gen_opnd(), IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, Integer_8, INTEGER_DEFAULT_TYPE, Internal, IR_COL_NUM, IR_FLD_L, IR_FLD_R, IR_IDX_L, IR_IDX_R, IR_LINE_NUM, IR_LIST_CNT_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, linearize_pe_dims(), ntr_const_tbl(), NTR_IR_TBL, NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, Plus_Opr, PRINTMSG(), storage_bit_size_tbl, Structure, TRACE, Triplet_Opr, TYP_FLD, TYP_IDX, TYP_LINEAR, and TYP_TYPE.
Referenced by translate_distant_ref().
void translate_dv_component | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) |
Definition at line 13315 of file s_asg_expr.c.
References Assignment_Stmt, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_POINTER, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, Before, expr_semantics_args::bias_opnd, COPY_OPND, copy_subtree(), curr_scp_idx, curr_stmt_sh_idx, defer_stmt_expansion, Dv_Access_Base_Addr, Dv_Deref_Opr, Dv_Set_Base_Addr, Dv_Whole_Copy_Opr, FALSE, find_left_attr(), find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_compiler_tmp(), gen_sh(), Internal, io_item_must_flatten, 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_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NTR_IR_TBL, NULL, OPND_FLD, OPND_IDX, Plus_Opr, PRINTMSG(), Priv, SA_INTEGER_DEFAULT_TYPE, SCP_SB_STACK_IDX, SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, stmt_expansion_control_end(), stmt_expansion_control_start(), Struct_Opr, TRACE, TRUE, and TYPELESS_DEFAULT_TYPE.
Referenced by struct_opr_handler().
static boolean triplet_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 10767 of file s_asg_expr.c.
References cast_to_cg_default(), cast_typeless_constant(), CG_INTEGER_DEFAULT_TYPE, expr_semantics_args::constant, COPY_OPND, Error, expr_sem(), FALSE, find_opnd_line_and_column(), expr_semantics_args::foldable, Func_Entry, Func_Exit, expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, IL_CONSTANT_SUBSCRIPT, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, in_call_list, in_io_list, Integer, INTEGER_DEFAULT_TYPE, IR_IDX_L, IR_RANK, IR_TYPE_IDX, expr_semantics_args::linear_type, Long_Typeless, NO_Tbl_Idx, NULL, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, SHAPE_FOLDABLE, SHAPE_WILL_FOLD_LATER, Short_Typeless_Const, TRACE, TRUE, TYP_LINEAR, expr_semantics_args::type, expr_semantics_args::type_idx, Typeless, and expr_semantics_args::will_fold_later.
static boolean uplus_opr_handler | ( | opnd_type * | result_opnd, |
expr_arg_type * | exp_desc | ||
) | [static] |
Definition at line 4954 of file s_asg_expr.c.
References Ansi, cast_typeless_constant(), Character, CN_BOZ_CONSTANT, CN_CONST, CN_Tbl_Idx, comp_gen_expr, Complex, expr_semantics_args::constant, COPY_OPND, COPY_SHAPE, Default_Typed, Err_Res, EXIT, expr_sem(), FALSE, find_opnd_line_and_column(), expr_semantics_args::foldable, folder_driver(), Func_Entry, Func_Exit, expr_semantics_args::has_constructor, expr_semantics_args::has_symbolic, opt_flags_entry::ieeeconform, in_call_list, Integer_8, IR_ARRAY_SYNTAX, IR_COL_NUM, IR_FLD_L, IR_IDX_L, IR_LINE_NUM, IR_OPND_L, IR_OPR, IR_RANK, IR_TYPE_IDX, expr_semantics_args::linear_type, ntr_boz_const_tbl(), ntr_const_tbl(), NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, opt_flags, PRINTMSG(), expr_semantics_args::rank, Real, resolve_ext_opr(), expr_semantics_args::shape, Short_Typeless_Const, TRACE, TRUE, TYP_DESC, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, UN_PLUS_EXTN, UN_PLUS_TYPE, Uplus_Opr, and expr_semantics_args::will_fold_later.
Definition at line 64 of file s_asg_expr.c.
Referenced by allocated_intrinsic(), and_opr_handler(), associated_intrinsic(), else_stmt_semantics(), if_stmt_semantics(), and present_intrinsic().
char USMID[] = "\n@(#)5.0_pl/sources/s_asg_expr.c 5.10 10/26/99 17:20:56\n" [static] |
Definition at line 37 of file s_asg_expr.c.