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

void cast_opnd_to_type_idx ( opnd_type opnd,
int  type_idx 
)
void cast_to_cg_default ( opnd_type opnd,
expr_arg_type exp_desc 
)
void cast_to_type_idx ( opnd_type opnd,
expr_arg_type exp_desc,
int  type_idx 
)
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, MAX_WORDS_FOR_INTEGER, MAX_WORDS_FOR_NUMERIC, 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, TARGET_BITS_PER_WORD, TARGET_BITS_TO_WORDS, TARGET_BYTES_TO_WORDS, TARGET_CHARS_PER_WORD, 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:

void change_section_to_this_element ( opnd_type section_opnd,
opnd_type element_opnd,
int  which_one 
)
void check_dependence ( boolean dependant,
opnd_type  item,
opnd_type  exp 
)
boolean check_for_legal_define ( opnd_type top_opnd  ) 
boolean cmp_ref_trees ( opnd_type opnd1,
opnd_type opnd2 
)
static void compute_char_element_len ( opnd_type char_len,
opnd_type char_opnd,
opnd_type result_opnd 
) [static]
int create_bd_ntry_for_const ( expr_arg_type exp_desc,
int  line,
int  col 
)
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:

static long64 create_imp_do_loops ( opnd_type top_opnd  )  [static]
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 
)
void dim_reshape_pass_driver ( void   ) 
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:

void enlarge_call_list_tables ( void   ) 
void enlarge_info_list_table ( void   ) 
int find_base_attr ( opnd_type root_opnd,
int *  line,
int *  col 
)
int find_left_attr ( opnd_type root_opnd  ) 
void fold_clen_opr ( opnd_type opnd,
expr_arg_type exp_desc 
)
static void gen_bounds_check_call ( char *  var,
opnd_type lb_opnd,
opnd_type ub_opnd,
opnd_type subscript,
int  dim,
int  line,
int  col 
) [static]
void gen_common_dv_init ( opnd_type dv_opnd,
int  dv_attr_idx,
sh_position_type  position 
)
static void gen_conform_check_call ( opnd_type l_shape,
opnd_type r_shape,
int  dim,
int  line,
int  col 
) [static]
void gen_copyin_bounds_stmt ( int  attr_idx  ) 
void gen_dv_access_low_bound ( opnd_type result_opnd,
opnd_type dv_opnd,
int  dim 
)
static void gen_dv_def_loops ( opnd_type dv_opnd  )  [static]
static void gen_dv_stride_mult ( opnd_type stride_opnd,
int  attr_idx,
opnd_type r_dv_opnd,
expr_arg_type exp_desc,
int  dim,
int  line,
int  col 
) [static]
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 
)
void gen_entry_dope_code ( int  attr_idx  ) 
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 
)
static void gen_init_stmt ( opnd_type left_opnd,
int  const_idx,
sh_position_type  position 
) [static]
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 
)
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(), MAX_DV_EL_LEN, 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, TARGET_BITS_PER_WORD, 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, int_dope_entry::unused_1, and int_dope_entry::unused_2.

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

Here is the call graph for this function:

void gen_lb_array_ref ( opnd_type result_opnd,
int  attr_idx 
)
static void gen_ptr_chk_call ( char *  var,
int  dv_desc,
opnd_type dv_opnd,
int  line,
int  col 
) [static]
static void gen_rbounds_check_call ( char *  var,
opnd_type lb_opnd,
opnd_type ub_opnd,
opnd_type start_opnd,
opnd_type end_opnd,
opnd_type inc_opnd,
int  dim,
int  line,
int  col 
) [static]
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 gen_runtime_bounds ( int  sub_idx  ) 
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_ptr_chk ( opnd_type dv_opnd  ) 
void gen_runtime_substring ( int  substring_idx  ) 
static void gen_sbounds_check_call ( char *  var,
opnd_type size_opnd,
opnd_type start_opnd,
opnd_type subln_opnd,
int  line,
int  col 
) [static]
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:

void gen_static_dv_whole_def ( opnd_type dv_opnd,
int  attr_idx,
sh_position_type  position 
)
int gen_static_integer_array_tmp ( int  size,
int  line,
int  col 
)
void gen_temp_init ( int  attr_idx,
int  cn_idx 
)
void get_char_len ( opnd_type ref_opnd,
opnd_type length_opnd 
)
void get_concat_len ( int  concat_idx,
opnd_type len_opnd 
)
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  ) 
static void just_find_dope_and_rank ( opnd_type old_opnd,
int *  rank_idx,
int *  dope_idx 
) [static]
void make_base_subtree ( opnd_type old_opnd,
opnd_type new_opnd,
int *  rank_idx,
int *  dope_idx 
)
void make_io_type_code ( int  type_idx,