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

Go to the source code of this file.

Functions

static int opr_to_str (operator_type, char *)
static int create_dv_type_code (int)
static long64 create_imp_do_loops (opnd_type *)
static void just_find_dope_and_rank (opnd_type *, int *, int *)
static void compute_char_element_len (opnd_type *, opnd_type *, opnd_type *)
static void gen_conform_check_call (opnd_type *, opnd_type *, int, int, int)
static void gen_bounds_check_call (char *, opnd_type *, opnd_type *, opnd_type *, int, int, int)
static void gen_rbounds_check_call (char *, opnd_type *, opnd_type *, opnd_type *, opnd_type *, opnd_type *, int, int, int)
static void gen_sbounds_check_call (char *, opnd_type *, opnd_type *, opnd_type *, int, int)
static void gen_ptr_chk_call (char *, int, opnd_type *, int, int)
static int put_file_name_in_cn (int)
static int put_c_str_in_cn (char *)
static void gen_dv_def_loops (opnd_type *)
static void gen_init_stmt (opnd_type *, int, sh_position_type)
static void reshape_reference_subscripts (opnd_type *)
static void gen_dv_stride_mult (opnd_type *, int, opnd_type *, expr_arg_type *, int, int, int)
boolean resolve_ext_opr (opnd_type *opnd, boolean issue_msg, boolean save_in_call_list, boolean err_res, boolean *semantically_correct, expr_arg_type *exp_desc_l, expr_arg_type *exp_desc_r)
int find_base_attr (opnd_type *root_opnd, int *line, int *col)
int find_left_attr (opnd_type *root_opnd)
boolean cmp_ref_trees (opnd_type *opnd1, opnd_type *opnd2)
void enlarge_call_list_tables (void)
void enlarge_info_list_table (void)
void dope_vector_setup (opnd_type *r_opnd, expr_arg_type *exp_desc, opnd_type *l_opnd, boolean ptr_assign)
void make_io_type_code (int type_idx, long_type *value)
void gen_common_dv_init (opnd_type *dv_opnd, int dv_attr_idx, sh_position_type position)
void gen_static_dv_whole_def (opnd_type *dv_opnd, int attr_idx, sh_position_type position)
void gen_entry_dope_code (int attr_idx)
void process_cpnt_inits (opnd_type *left_opnd, int type_idx, void(*func)(), int opr, sh_position_type position)
void gen_dv_whole_def (opnd_type *dv_opnd, opnd_type *r_opnd, expr_arg_type *exp_desc)
void gen_dv_whole_def_init (opnd_type *dv_opnd, int dv_attr_idx, sh_position_type position)
void make_base_subtree (opnd_type *old_opnd, opnd_type *new_opnd, int *rank_idx, int *dope_idx)
void process_deferred_functions (opnd_type *opnd)
void short_circuit_branch (void)
boolean tree_produces_dealloc (opnd_type *root)
void create_loop_stmts (int lcv_attr, opnd_type *start_opnd, opnd_type *end_opnd, opnd_type *inc_opnd, int body_start_sh_idx, int body_end_sh_idx)
int create_bd_ntry_for_const (expr_arg_type *exp_desc, int line, int col)
void fold_clen_opr (opnd_type *opnd, expr_arg_type *exp_desc)
void set_shape_for_deferred_funcs (expr_arg_type *exp_desc, int call_idx)
boolean gen_internal_dope_vector (int_dope_type *dope_vec, opnd_type *r_opnd, boolean just_init, expr_arg_type *exp_desc)
void transform_char_sequence_ref (opnd_type *top_opnd, int type_idx)
void get_concat_len (int concat_idx, opnd_type *len_opnd)
void get_char_len (opnd_type *ref_opnd, opnd_type *length_opnd)
int gen_sf_dv_whole_def (opnd_type *r_opnd, int type_idx, int bd_idx)
void get_shape_from_attr (expr_arg_type *exp_desc, int attr_idx, int rank, int line, int column)
void insert_init_stmt_for_tmp (int tmp_idx)
int gen_static_integer_array_tmp (int size, int line, int col)
int cast_typeless_constant (int cn_idx, int type_idx, int line, int col)
void cast_to_cg_default (opnd_type *opnd, expr_arg_type *exp_desc)
void cast_opnd_to_type_idx (opnd_type *opnd, int type_idx)
void cast_to_type_idx (opnd_type *opnd, expr_arg_type *exp_desc, int type_idx)
int set_up_logical_constant (long_type *the_constant, int type_idx, int value, boolean enter_con)
boolean validate_char_len (opnd_type *result_opnd, expr_arg_type *exp_desc)
void gen_runtime_checks (opnd_type *top_opnd)
void gen_runtime_conformance (opnd_type *l_opnd, expr_arg_type *l_exp_desc, opnd_type *r_opnd, expr_arg_type *r_exp_desc)
void gen_runtime_substring (int substring_idx)
void gen_runtime_ptr_chk (opnd_type *dv_opnd)
void gen_runtime_bounds (int sub_idx)
int gen_initialized_tmp (int cn_idx, int line, int col)
void gen_internal_call_stmt (char *name, opnd_type *opnd, sh_position_type position)
void gen_lb_array_ref (opnd_type *result_opnd, int attr_idx)
void set_up_exp_desc (opnd_type *top_opnd, expr_arg_type *exp_desc)
void dim_reshape_pass_driver (void)
boolean check_for_legal_define (opnd_type *top_opnd)
void check_dependence (boolean *dependant, opnd_type item, opnd_type exp)
void change_section_to_this_element (opnd_type *section_opnd, opnd_type *element_opnd, int which_one)
void gen_if_stmt (opnd_type *cond_opnd, int true_start_sh_idx, int true_end_sh_idx, int false_start_sh_idx, int false_end_sh_idx, int line, int col)
boolean needs_bounds_check (int sub_idx)
void gen_rbounds_condition (opnd_type *cond_opnd, opnd_type *start_opnd, opnd_type *end_opnd, opnd_type *inc_opnd, opnd_type *lb_opnd, opnd_type *ub_opnd, int line, int col)
void scan_for_ptr_chk (opnd_type *top_opnd)
void runtime_ptr_chk_driver (void)
void gen_copyin_bounds_stmt (int attr_idx)
void gen_dv_access_low_bound (opnd_type *result_opnd, opnd_type *dv_opnd, int dim)
long64 sm_unit_in_bits (int type_idx)
void gen_temp_init (int attr_idx, int cn_idx)

Variables

static char USMID [] = "\n@(#)5.0_pl/sources/s_utils.c 5.12 10/19/99 17:14:30\n"

Function Documentation

int cast_typeless_constant ( int  cn_idx,
int  type_idx,
int  line,
int  col 
)

Definition at line 8044 of file s_utils.c.

References Caution, Character, CN_BOOLEAN_CONSTANT, CN_BOZ_CONSTANT, CN_HOLLERITH_TYPE, CN_INT_TO_C, CN_POOL_IDX, CN_TYPE_IDX, CP_CONSTANT, CRI_Ch_Ptr, CRI_Parcel_Ptr, CRI_Ptr, Cvrt_Opr, FALSE, folder_driver(), Func_Entry, Func_Exit, H_Hollerith, Integer_1, on_off_flags_entry::integer_1_and_2, Integer_2, Integer_4, Integer_8, L_Hollerith, Logical_1, Logical_2, Logical_4, ntr_boolean_const_tbl(), ntr_boz_const_tbl(), ntr_const_tbl(), ntr_unshared_const_tbl(), NULL, NULL_IDX, on_off_flags, PRINTMSG(), R_Hollerith, Real, Real_4, storage_bit_size_tbl, TRACE, TRUE, TYP_BIT_LEN, TYP_IDX, TYP_LINEAR, TYP_TYPE, Typeless, and TYPELESS_DEFAULT_TYPE.

Referenced by alloc_obj_opr_handler(), and_opr_handler(), arith_if_stmt_semantics(), array_construct_semantics(), assignment_stmt_semantics(), bound_semantics(), buffer_stmt_semantics(), build_loop_tbl(), case_stmt_semantics(), case_value_range_semantics(), cast_to_type_idx(), check_target_and_value(), const_init_semantics(), convert_hex_literal(), convert_to_do_var_type(), create_loop_stmts(), csmg_intrinsic(), cvmgp_intrinsic(), cvrt_opr_handler(), data_repeat_semantics(), do_loop_expr_semantics(), eq_opr_handler(), final_arg_work(), iand_intrinsic(), interpret_constructor(), io_ctl_list_semantics(), lg_opr_handler(), lt_opr_handler(), minus_opr_handler(), mult_opr_handler(), not_intrinsic(), not_opr_handler(), outmoded_if_stmt_semantics(), parse_int_spec_expr(), plus_opr_handler(), power_opr_handler(), shift_intrinsic(), stmt_func_call_opr_handler(), struct_construct_opr_handler(), subscript_opr_handler(), substring_opr_handler(), triplet_opr_handler(), and uplus_opr_handler().

Here is the call graph for this function:

static int create_dv_type_code ( int  attr_idx) [static]

Definition at line 2121 of file s_utils.c.

References ATD_TYPE_IDX, FALSE, Func_Entry, Func_Exit, IO_TYPE_CODE_TYPE, make_io_type_code(), ntr_const_tbl(), NULL, NULL_IDX, and TRACE.

Referenced by gen_common_dv_init(), gen_dv_whole_def(), gen_dv_whole_def_init(), and gen_sf_dv_whole_def().

Here is the call graph for this function:

void dope_vector_setup ( opnd_type r_opnd,
expr_arg_type exp_desc,
opnd_type l_opnd,
boolean  ptr_assign 
)

Definition at line 1433 of file s_utils.c.

References ADD_TMP_TO_SHARED_LIST, Array_Ptr, Array_Tmp_Ptr, Assignment_Stmt, Assumed_Shape, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_IM_A_DOPE, ATT_CHAR_SEQ, BD_ARRAY_CLASS, BD_LB_FLD, BD_LB_IDX, Before, CG_INTEGER_DEFAULT_TYPE, Character, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, Contig_Section, COPY_OPND, CRI_Ch_Ptr_8, CRI_Ptr_8, curr_stmt_sh_idx, Dv_Access_A_Contig, Dv_Access_Low_Bound, Dv_Access_Orig_Base, Dv_Access_Orig_Size, Dv_Access_Ptr_Alloc, Dv_Contig_Section, Dv_Set_A_Contig, Dv_Set_Assoc, Dv_Set_Base_Addr, Dv_Set_Extent, Dv_Set_Low_Bound, Dv_Set_Orig_Base, Dv_Set_Orig_Size, Dv_Set_Ptr_Alloc, Dv_Set_Stride_Mult, FALSE, find_base_attr(), find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_dv_stride_mult(), gen_ir(), gen_sh(), get_act_arg_type(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, Internal, IR_COL_NUM, 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_R, IR_LIST_CNT_L, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, just_find_dope_and_rank(), Loc_Opr, make_base_subtree(), Max_Opr, Mult_Opr, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, expr_semantics_args::section, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, expr_semantics_args::shape, stmt_start_col, stmt_start_line, Struct_Opr, Structure, TRACE, transform_char_sequence_ref(), Triplet_Opr, TRUE, TYP_IDX, expr_semantics_args::type, expr_semantics_args::type_idx, Whole_Allocatable, Whole_Array_Constant, Whole_Ass_Shape, Whole_Sequence, Whole_Tmp_Allocatable, and Whole_Tmp_Sequence.

Referenced by create_struct_constructor_asg(), and lower_ptr_asg().

Here is the call graph for this function:

int find_base_attr ( opnd_type root_opnd,
int *  line,
int *  col 
)
void gen_dv_whole_def ( opnd_type dv_opnd,
opnd_type r_opnd,
expr_arg_type exp_desc 
)

Definition at line 3529 of file s_utils.c.

References ADD_TMP_TO_SHARED_LIST, Array_Ptr, Array_Tmp_Ptr, Assignment_Stmt, Assumed_Shape, AT_Tbl_Idx, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_IM_A_DOPE, ATD_POINTER, ATD_TYPE_IDX, ATT_CHAR_SEQ, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, BD_ARRAY_CLASS, BD_LB_FLD, BD_LB_IDX, BD_RANK, Before, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, expr_semantics_args::char_len, Character, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, compute_char_element_len(), Contig_Section, COPY_OPND, create_dv_type_code(), CRI_Ch_Ptr_8, CRI_Ptr_8, curr_stmt_sh_idx, Dv_Access_A_Contig, Dv_Access_Low_Bound, Dv_Access_Orig_Base, Dv_Access_Orig_Size, Dv_Access_Ptr_Alloc, Dv_Contig_Section, Dv_Def_Asg_Opr, Dv_Whole_Def_Opr, FALSE, find_base_attr(), find_opnd_line_and_column(), Func_Entry, Func_Exit, gen_dv_stride_mult(), gen_ir(), gen_sh(), get_act_arg_type(), 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_DV_DIM, 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, just_find_dope_and_rank(), Loc_Opr, make_base_subtree(), Max_Opr, Mult_Opr, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_COL_NUM, OPND_FLD, OPND_IDX, OPND_LINE_NUM, expr_semantics_args::rank, SA_INTEGER_DEFAULT_TYPE, expr_semantics_args::section, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, expr_semantics_args::shape, storage_bit_size_tbl, Structure, TRACE, transform_char_sequence_ref(), Triplet_Opr, TRUE, TYP_IDX, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, Whole_Allocatable, Whole_Array_Constant, Whole_Ass_Shape, Whole_Sequence, Whole_Tmp_Allocatable, and Whole_Tmp_Sequence.

Referenced by create_namelist_descriptor(), create_strct_tbl(), final_arg_work(), and process_cpnt_inits().

Here is the call graph for this function:

void gen_dv_whole_def_init ( opnd_type dv_opnd,
int  dv_attr_idx,
sh_position_type  position 
)
boolean gen_internal_dope_vector ( int_dope_type dope_vec,
opnd_type r_opnd,
boolean  just_init,
expr_arg_type exp_desc 
)

Definition at line 6447 of file s_utils.c.

References _cptofcd(), int_dope_entry::a_contig, int_dope_entry::assoc, ATD_ARRAY_IDX, ATD_CLASS, ATD_CONST_IDX, ATD_FLD, ATD_TMP_IDX, ATT_CHAR_SEQ, ATT_STRUCT_BIT_LEN_IDX, int_dope_entry::base_addr, BD_SM_IDX, BD_XT_IDX, CG_INTEGER_DEFAULT_TYPE, expr_semantics_args::char_len, char_len_in_bytes, Character, CN_CONST, CN_INT_TO_C, CN_POOL_IDX, CN_Tbl_Idx, CN_TYPE_IDX, compare_cn_and_value(), Complex_4, Constant, COPY_OPND, CP_CONSTANT, create_bd_ntry_for_const(), int_dope_entry::dim, int_dope_entry::el_len, Error, EXIT, int_dope_entry::extent, FALSE, find_opnd_line_and_column(), opnd_entry::fld, fold_aggragate_expression(), Func_Entry, Func_Exit, Ge_Opr, opnd_entry::idx, Integer_8, Internal, IR_OPND_L, IR_Tbl_Idx, expr_semantics_args::linear_type, int_dope_entry::low_bound, Lt_Opr, make_io_type_code(), ntr_const_tbl(), NULL, int_dope_entry::num_dims, OPND_FLD, OPND_IDX, int_dope_entry::orig_base, int_dope_entry::orig_size, int_dope_entry::p_or_a, PRINTMSG(), int_dope_entry::ptr_alloc, expr_semantics_args::rank, expr_semantics_args::reference, expr_semantics_args::section, stmt_start_col, stmt_start_line, storage_bit_size_tbl, int_dope_entry::stride_mult, Structure, expr_semantics_args::tmp_reference, TRACE, TRUE, TYP_IDX, TYP_LINEAR, expr_semantics_args::type, int_dope_entry::type_code, expr_semantics_args::type_idx, and int_dope_entry::unused_1.

Referenced by interpret_reshape_intrinsic(), interpret_transfer_intrinsic(), reshape_intrinsic(), and transfer_intrinsic().

Here is the call graph for this function:

int gen_sf_dv_whole_def ( opnd_type r_opnd,
int  type_idx,
int  bd_idx 
)

Definition at line 7250 of file s_utils.c.

References ADD_TMP_TO_SHARED_LIST, Assignment_Stmt, AT_OBJ_CLASS, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CLASS, ATD_IM_A_DOPE, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATT_CHAR_SEQ, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, BD_LB_FLD, BD_LB_IDX, BD_RANK, BD_SM_FLD, BD_SM_IDX, BD_XT_FLD, BD_XT_IDX, Before, C_INT_TO_CN, CG_INTEGER_DEFAULT_TYPE, char_len_in_bytes, Character, CN_INTEGER_CHAR_BIT_IDX, CN_INTEGER_ONE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, Compiler_Tmp, size_offset_entry::constant, COPY_OPND, create_dv_type_code(), CRI_Ch_Ptr, CRI_Ch_Ptr_8, CRI_Ptr, CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Dv_Access_Base_Addr, Dv_Def_Asg_Opr, Dv_Whole_Def_Opr, FALSE, find_opnd_line_and_column(), size_offset_entry::fld, Func_Entry, Func_Exit, gen_compiler_tmp(), gen_sh(), size_offset_entry::idx, 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_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_OPND_L, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, Loc_Opr, make_base_subtree(), Mult_Opr, NO_Tbl_Idx, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, Priv, result, SA_INTEGER_DEFAULT_TYPE, SCP_SB_STACK_IDX, SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, size_offset_binary_calc(), storage_bit_size_tbl, Structure, TRACE, transform_char_sequence_ref(), TRUE, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, and size_offset_entry::type_idx.

Referenced by process_cpnt_inits(), and process_variable_size_func().

Here is the call graph for this function:

static void just_find_dope_and_rank ( opnd_type old_opnd,
int *  rank_idx,
int *  dope_idx 
) [static]
static int opr_to_str ( operator_type  opr,
char *  str 
) [static]
void process_cpnt_inits ( opnd_type left_opnd,
int  type_idx,
void(*)()  func,
int  opr,
sh_position_type  position 
)

Definition at line 2960 of file s_utils.c.

References After, Asg_Opr, Assignment_Stmt, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_CPNT_INIT_IDX, ATD_FLD, ATD_POINTER, ATD_TMP_IDX, ATD_TYPE_IDX, ATT_DEFAULT_INITIALIZED, ATT_FIRST_CPNT_IDX, ATT_POINTER_CPNT, BD_LB_FLD, BD_LB_IDX, BD_RANK, Before, Character, CN_Tbl_Idx, CN_TYPE_IDX, expr_semantics_args::constant, COPY_OPND, curr_stmt_sh_idx, FALSE, find_left_attr(), find_opnd_line_and_column(), fold_aggragate_expression(), expr_semantics_args::foldable, FREE_SH_NODE, Func_Entry, Func_Exit, gen_dv_def_loops(), gen_dv_whole_def(), gen_dv_whole_def_init(), gen_init_stmt(), gen_opnd(), gen_sf_dv_whole_def(), gen_sh(), gen_whole_subscript(), gen_whole_substring(), IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_PREV_LIST_IDX, IL_Tbl_Idx, init_exp_desc, Init_Opr, 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_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, expr_semantics_args::linear_type, Mult_Opr, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, OPND_FLD, OPND_IDX, PRINTMSG(), process_cpnt_inits(), remove_sh(), SH_IR_IDX, SH_NEXT_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, SN_ATTR_IDX, SN_SIBLING_LINK, Struct_Opr, Structure, Subscript_Opr, target_array_idx, TRACE, TRUE, TYP_IDX, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, and expr_semantics_args::type_idx.

Referenced by allocate_stmt_semantics(), flatten_function_call(), gen_entry_dope_code(), and process_cpnt_inits().

Here is the call graph for this function:

static int put_file_name_in_cn ( int  line) [static]
boolean resolve_ext_opr ( opnd_type opnd,
boolean  issue_msg,
boolean  save_in_call_list,
boolean  err_res,
boolean semantically_correct,
expr_arg_type exp_desc_l,
expr_arg_type exp_desc_r 
)

Definition at line 107 of file s_utils.c.

References ADD_ATTR_TO_LOCAL_LIST, expr_semantics_args::allocatable, Aloc_Opr, Ansi, arg_info_list, arg_info_list_base, arg_info_list_size, arg_info_list_top, arg_list_size, Asg_Opr, Assumed_Shape, expr_semantics_args::assumed_shape, Assumed_Size, expr_semantics_args::assumed_size, AT_DCL_ERR, AT_MODULE_IDX, AT_NAME_LEN, AT_NOT_VISIBLE, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_REFERENCED, AT_Tbl_Idx, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_IGNORE_TKR, ATD_IM_A_DOPE, ATD_INTENT, ATD_POINTER, ATD_PURE, ATD_TARGET, ATD_TYPE_IDX, ATI_FIRST_SPECIFIC_IDX, ATI_NUM_SPECIFICS, ATP_ARGCHCK_CALL, ATP_ELEMENTAL, ATP_EXTRA_DARG, ATP_FIRST_IDX, 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_VFUNCTION, BD_ARRAY_CLASS, BD_RANK, Call_Opr, expr_semantics_args::char_len, Character, cif_call_site_rec(), cif_flags, CIF_No_Usage_Rec, cif_object_rec_for_func_result(), CIF_Symbol_Defined_Opr_Actual_Arg, CIF_Symbol_Reference, cif_usage_rec(), cmd_line_flags, Comment, compare_derived_types(), expr_semantics_args::contig_array, COPY_OPND, create_argchck_descriptor(), CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Data_Obj, Data_Stmt_Target_Expr, defer_stmt_expansion, Defined_Bin_Opr, Defined_Un_Opr, expr_semantics_args::dope_vector, Dummy_Proc, arg_strct::ed, enlarge_call_list_tables(), enlarge_info_list_table(), Error, EXIT, expr_mode, FALSE, False_Parm_Opr, final_arg_work(), find_base_attr(), find_left_attr(), find_opnd_line_and_column(), Func_Entry, Func_Exit, Function, get_basic_type_str(), get_char_len(), get_shape_from_attr(), idx, IL_ARG_DESC_IDX, IL_ARG_DESC_VARIANT, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, IL_Tbl_Idx, in_call_list, init_arg_info, init_exp_desc, Intent_Inout, Intent_Out, Interface, Intrin_Proc, 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_L, IR_OPND_R, IR_OPR, IR_RANK, IR_Tbl_Idx, IR_TYPE_IDX, len, expr_semantics_args::linear_type, Long_Typeless, max_call_list_size, arg_strct::maybe_modified, MISC_RECS, no_func_expansion, NO_Tbl_Idx, NTR_IR_LIST_TBL, NTR_IR_TBL, NULL, NULL_IDX, Null_Intrinsic_Opr, number_of_functions, on_off_flags, OPND_FLD, OPND_IDX, opr_to_str(), Pgm_Unit, expr_semantics_args::pointer, PRINTMSG(), expr_semantics_args::rank, on_off_flags_entry::recursive, expr_semantics_args::reference, Referenced, Restricted_Imp_Do_Expr, cmd_line_flags_entry::runtime_arg_call, cmd_line_flags_entry::runtime_argument, SCP_ATTR_IDX, SCP_HAS_CALLS, set_shape_for_deferred_funcs(), SN_ATTR_IDX, SN_SIBLING_LINK, Specification_Expr, srch_host_sym_tbl(), srch_sym_tbl(), stmt_expansion_control_end(), stmt_expansion_control_start(), Stmt_Func_Expr, strcpy, Struct_Opr, Structure, expr_semantics_args::target, expr_semantics_args::tmp_reference, TRACE, TRUE, TYP_LINEAR, TYP_TYPE, expr_semantics_args::type, expr_semantics_args::type_idx, TYPELESS_DEFAULT_TYPE, within_forall_construct, within_forall_mask_expr, XREF_RECS, and xref_state.

Referenced by and_opr_handler(), assignment_stmt_semantics(), concat_opr_handler(), defined_bin_opr_handler(), defined_un_opr_handler(), eq_opr_handler(), lg_opr_handler(), lt_opr_handler(), minus_opr_handler(), mult_opr_handler(), not_opr_handler(), plus_opr_handler(), power_opr_handler(), and uplus_opr_handler().

Here is the call graph for this function:

void runtime_ptr_chk_driver ( void  )

Definition at line 11306 of file s_utils.c.

References curr_scp_idx, curr_stmt_sh_idx, Func_Entry, Func_Exit, gen_opnd(), IR_Tbl_Idx, NULL, NULL_IDX, PRINT_IR_TBL4, scan_for_ptr_chk(), SCP_FIRST_SH_IDX, SH_COL_NUM, SH_GLB_LINE, SH_IR_IDX, SH_NEXT_IDX, and TRACE.

Referenced by cvrt_proc_to_pdg().

Here is the call graph for this function:

void set_shape_for_deferred_funcs ( expr_arg_type exp_desc,
int  call_idx 
)
int set_up_logical_constant ( long_type the_constant,
int  type_idx,
int  value,
boolean  enter_con 
)
void transform_char_sequence_ref ( opnd_type top_opnd,
int  type_idx 
)

Definition at line 6806 of file s_utils.c.

References add_substring_length(), ADD_TMP_TO_SHARED_LIST, AT_Tbl_Idx, ATD_ARRAY_IDX, ATD_TYPE_IDX, ATT_CHAR_SEQ, ATT_FIRST_CPNT_IDX, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, BD_LB_FLD, BD_LB_IDX, BD_RANK, Character, CHARACTER_DEFAULT_TYPE, CLEAR_TBL_NTRY, CN_INTEGER_CHAR_BIT_IDX, CN_INTEGER_ONE_IDX, CN_Tbl_Idx, Const_Len_Char, size_offset_entry::constant, COPY_OPND, Default_Typed, Div_Opr, Dv_Deref_Opr, EXIT, FALSE, find_opnd_line_and_column(), size_offset_entry::fld, Func_Entry, Func_Exit, size_offset_entry::idx, IL_COL_NUM, IL_FLD, IL_IDX, IL_LINE_NUM, IL_NEXT_LIST_IDX, IL_OPND, IL_PREV_LIST_IDX, IL_Tbl_Idx, Internal, IR_COL_NUM, IR_COL_NUM_R, IR_FLD_R, IR_IDX_R, IR_LINE_NUM, IR_LINE_NUM_R, IR_LIST_CNT_R, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, IR_TYPE_IDX, NO_Tbl_Idx, ntr_const_tbl(), NTR_IR_LIST_TBL, NTR_IR_TBL, ntr_type_tbl(), NULL, NULL_IDX, OPND_FLD, OPND_IDX, print_ir(), PRINTMSG(), Section_Subscript_Opr, SH_Tbl_Idx, size_offset_binary_calc(), SN_ATTR_IDX, Struct_Opr, Structure, Subscript_Opr, Substring_Opr, TRACE, transform_char_sequence_ref(), TYP_CHAR_CLASS, TYP_DESC, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYP_WORK_IDX, size_offset_entry::type_idx, type_tbl, and Whole_Subscript_Opr.

Referenced by assignment_stmt_semantics(), create_scalar_type_tbl(), create_strct_tbl(), create_tmp_asg(), dope_vector_setup(), final_arg_work(), flatten_function_call(), gen_dv_whole_def(), gen_sf_dv_whole_def(), namelist_static_dv_whole_def(), optimize_reshape(), and transform_char_sequence_ref().

Here is the call graph for this function:


Variable Documentation

char USMID[] = "\n@(#)5.0_pl/sources/s_utils.c 5.12 10/19/99 17:14:30\n" [static]

Definition at line 37 of file s_utils.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines