Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
s_rcnstrct.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_asg_expr.m"
#include "s_cnstrct.m"
#include "globals.h"
#include "tokens.h"
#include "sytb.h"
#include "s_globals.h"
#include "s_rcnstrct.h"
Include dependency graph for s_rcnstrct.c:

Go to the source code of this file.

Functions

static void check_for_dependencies (opnd_type *, size_level_type *)
static void create_array_constructor_asg (opnd_type *, opnd_type *, int, int)
static void do_slice_asg (int, opnd_type *, int, int)
static void determine_slice_size (int, opnd_type *, size_level_type *)
static void create_interp_stmts (int, int)
static void do_single_asg (opnd_type *, expr_arg_type *, opnd_type *, int, int)
static void create_struct_constructor_asg (opnd_type *, opnd_type *)
static void increment_subscript (int)
static void test_size_stmts (int, int, int)
static void expand_stmts (opnd_type *, expr_arg_type *)
static void check_for_constructors (opnd_type *, expr_arg_type *)
boolean create_runtime_array_constructor (opnd_type *top_opnd, expr_arg_type *exp_desc)
boolean create_runtime_struct_constructor (opnd_type *top_opnd)
void analyse_loops (opnd_type *top_opnd, opnd_type *size_opnd, size_level_type *constructor_size_level)
void process_char_len (opnd_type *top_opnd)

Variables

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

Function Documentation

Definition at line 114 of file s_rcnstrct.c.

References ADD_ATTR_TO_LOCAL_LIST, After, Alloc_Opr, expr_semantics_args::allocatable, Allocate_Attr_Idx, ALLOCATE_LIB_ENTRY, ALLOCATE_NAME_LEN, Aloc_Opr, Asg_Opr, assign_storage_blk(), Assignment_Stmt, AT_SEMANTICS_DONE, AT_Tbl_Idx, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_AUTO_BASE_IDX, ATD_AUTOMATIC, ATD_STOR_BLK_IDX, ATD_TYPE_IDX, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, BD_ARRAY_SIZE, BD_COLUMN_NUM, BD_DEFERRED_1_IDX, BD_FLOW_DEPENDENT, BD_LB_FLD, BD_LB_IDX, BD_LEN_FLD, BD_LEN_IDX, BD_LINE_NUM, BD_RANK, BD_RESOLVED, BD_SM_FLD, BD_SM_IDX, BD_UB_FLD, BD_UB_IDX, BD_XT_FLD, BD_XT_IDX, Before, BITS_TO_WORDS, C_INT_TO_CN, Call_Opr, Call_Stmt, CG_INTEGER_DEFAULT_TYPE, expr_semantics_args::char_len, char_len_in_bytes, Character, CHARACTER_DEFAULT_TYPE, CLEAR_TBL_NTRY, CN_INTEGER_ONE_IDX, CN_INTEGER_THREE_IDX, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, Complex, Const_Len_Char, size_offset_entry::constant, CONSTRUCTOR_GUESS_SIZE, expr_semantics_args::constructor_size_level, expr_semantics_args::contig_array, COPY_OPND, copy_subtree(), create_alloc_descriptor(), create_array_constructor_asg(), create_bd_ntry_for_const(), create_interp_stmts(), create_lib_entry_attr(), create_tmp_asg(), CRI_Ch_Ptr, CRI_Ptr, CRI_Ptr_8, curr_scp_idx, curr_stmt_sh_idx, Dealloc_Attr_Idx, DEALLOC_LIB_ENTRY, DEALLOC_NAME_LEN, Dealloc_Opr, Deallocate_Opr, defer_stmt_expansion, determine_tmp_size(), Dv_Access_El_Len, Dv_Deref_Opr, Dv_Set_Extent, Dv_Set_Low_Bound, Dv_Set_Stride_Mult, expand_stmts(), expr_semantics(), FALSE, size_offset_entry::fld, opnd_entry::fld, Func_Entry, Func_Exit, gen_alloc_header_const(), gen_compiler_tmp(), GEN_COMPILER_TMP_ASG, gen_copyin_bounds_stmt(), gen_entry_dope_code(), gen_sh(), gen_whole_subscript(), gen_whole_substring(), glb_tbl_idx, size_offset_entry::idx, opnd_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, in_constructor, init_exp_desc, Integer, Integer_4, Integer_8, Intent_In, Internal, Interp_Loop_Size, 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_Tbl_Idx, IR_TYPE_IDX, L, expr_semantics_args::linear_type, Loc_Opr, Logical, Max_Opr, Minus_Opr, Mult_Opr, NO_Tbl_Idx, ntr_array_in_bd_tbl(), 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, PRINTMSG(), Priv, process_char_len(), expr_semantics_args::rank, Real, Realloc_Attr_Idx, REALLOC_LIB_ENTRY, REALLOC_NAME_LEN, expr_semantics_args::reference, reserve_array_ntry(), SA_INTEGER_DEFAULT_TYPE, SCP_SB_BASED_IDX, SCP_SB_STACK_IDX, Section_Subscript_Opr, set_stride_for_first_dim(), SH_IR_IDX, SH_P2_SKIP_ME, SH_PREV_IDX, expr_semantics_args::shape, Shiftl_Opr, Simple_Expr_Size, size, stmt_expansion_control_end(), stmt_expansion_control_start(), stmt_start_col, stmt_start_line, storage_bit_size_tbl, STORAGE_WORD_SIZE, stride, Struct_Opr, Structure, Subscript_Opr, Substring_Opr, expr_semantics_args::tmp_reference, TRACE, Triplet_Opr, TRUE, TYP_BIT_LEN, TYP_CHAR_CLASS, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_ORIG_LEN_IDX, TYP_TYPE, TYP_WORK_IDX, expr_semantics_args::type, size_offset_entry::type_idx, expr_semantics_args::type_idx, type_tbl, Typeless, TYPELESS_DEFAULT_TYPE, Var_Len_Array, Var_Len_Char, Whole_Subscript_Opr, and Whole_Substring_Opr.

Referenced by check_for_constructors().

Here is the call graph for this function:

static void do_slice_asg ( int  list_idx,
opnd_type target_base_opnd,
int  target_sub_idx,
int  size_limit_attr 
) [static]
static void expand_stmts ( opnd_type top_opnd,
expr_arg_type exp_desc 
) [static]

Variable Documentation

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

Definition at line 37 of file s_rcnstrct.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines