Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include "whirl2c_common.h"
#include "st2c.h"
#include "ty2c.h"
#include "tcon2c.h"
#include "init2c.h"
Go to the source code of this file.
#define INITV_repeat | ( | x | ) |
((INITV_kind(Initv_Table[x]) == INITVKIND_ZERO || \ INITV_kind(Initv_Table[x]) == INITVKIND_ONE || \ INITV_kind(Initv_Table[x]) == INITVKIND_VAL) ? \ INITV_repeat2(Initv_Table[x]) : INITV_repeat1(Initv_Table[x]))
Definition at line 66 of file init2c.cxx.
Referenced by INIT2C_Next_Initv(), INITV2C_array_dimension(), and INITV2C_block_struct().
static void INIT2C_Next_Initv | ( | INITV_IDX * | inv, |
INT * | inv_repeat | ||
) | [static] |
Definition at line 96 of file init2c.cxx.
References INITV_next(), and INITV_repeat.
Referenced by INITV2C_block_struct(), and INITV2C_struct_fill().
void INITO2C_translate | ( | TOKEN_BUFFER | tokens, |
INITO_IDX | inito | ||
) |
Definition at line 812 of file init2c.cxx.
References Append_Token_Special(), INITO_st(), INITO_val(), INITV2C_translate(), ST_type(), Stab_Is_Common_Block(), Stab_Is_Equivalence_Block(), and TY_Is_Structured().
Referenced by ST2C_decl_var(), and ST2C_Get_Common_Ty2c_List().
static void INITV2C_array_dimension | ( | TOKEN_BUFFER | tokens, |
TY_IDX | etype, | ||
INITV_IDX | next_initv, | ||
INT | this_dim, | ||
INT | num_dims | ||
) | [static] |
Definition at line 384 of file init2c.cxx.
References Append_Token_Special(), INITV2C_translate(), INITV_blk(), INITV_kind(), INITV_next(), INITV_repeat, Initv_Table, INITVKIND_BLOCK, and INITVKIND_PAD.
Referenced by INITV2C_block_array().
static void INITV2C_block_array | ( | TOKEN_BUFFER | tokens, |
TY_IDX | ty, | ||
INITV_IDX | initv | ||
) | [static] |
Definition at line 428 of file init2c.cxx.
References Append_Token_Special(), Append_Token_String(), INITV2C_array_dimension(), INITV2C_translate(), INITV_blk(), INITV_kind(), INITV_next(), Initv_Table, INITV_tc_val(), INITVKIND_PAD, INITVKIND_VAL, Is_True, MTYPE_STRING, Targ_String_Length(), TCON_ty, TY_AR_etype(), TY_AR_ndims(), TY_Is_Array(), TY_Is_String(), and TY_size().
Referenced by INITV2C_translate().
static void INITV2C_block_struct | ( | TOKEN_BUFFER | tokens, |
TY_IDX | ty, | ||
INITV_IDX | initv | ||
) | [static] |
Definition at line 597 of file init2c.cxx.
References Append_Token_Special(), Append_Token_String(), CURRENT_SYMTAB, FALSE, FLD_next(), FLD_ofst(), FLD_type(), TY2C_Fld_Info::found_fld, INIT2C_Next_Initv(), INITV2C_struct_fill(), INITV2C_translate(), INITV_blk(), INITV_kind(), INITV_next(), INITV_repeat, Initv_Table, INITVKIND_ONE, INITVKIND_PAD, INITVKIND_VAL, INITVKIND_ZERO, FLD_HANDLE::Is_Null(), MTYPE_V, PU_F77_LANG, PU_src_lang(), Reclaim_Token_Buffer(), TY2C_Fld_Info::select_tokens, Stab_Mtype_To_Ty(), TCON_For_Initv(), TCON_ty, TRUE, TY2C_get_field_info(), TY_flist(), TY_Is_Array(), TY_Is_Structured(), TY_size(), and Ty_Table.
Referenced by INITV2C_translate().
static void INITV2C_block_union | ( | TOKEN_BUFFER | tokens, |
TY_IDX | ty, | ||
INITV_IDX | initv | ||
) | [static] |
Definition at line 736 of file init2c.cxx.
References Append_Token_Special(), FLD_type(), INITV2C_translate(), INITV_blk(), INITV_kind(), INITV_next(), Initv_Table, INITVKIND_PAD, Is_True, TY_flist(), and Ty_Table.
Referenced by INITV2C_translate().
static void INITV2C_struct_fill | ( | TOKEN_BUFFER | tokens, |
INITV_IDX * | current_inv, | ||
INT * | inv_repeat, | ||
INT64 * | current_offset, | ||
INT64 | desired_offset | ||
) | [static] |
Definition at line 472 of file init2c.cxx.
References Append_Token_Special(), Append_Token_String(), TCON::cmplxval, FALSE, INIT2C_Next_Initv(), INITV_kind(), INITV_pad(), Initv_Table, INITVKIND_BLOCK, INITVKIND_ONE, INITVKIND_PAD, INITVKIND_SYMOFF, INITVKIND_UNK, INITVKIND_VAL, INITVKIND_ZERO, Is_True, TCON::ival, Number_as_String(), Stab_Mtype_To_Ty(), TCON_For_Initv(), TCON_ty, TY_size(), TCON::uval, val, and TCON::vals.
Referenced by INITV2C_block_struct().
static void INITV2C_symoff | ( | TOKEN_BUFFER | tokens, |
TY_IDX | ty, | ||
INITV_IDX | initv | ||
) | [static] |
Definition at line 115 of file init2c.cxx.
References Append_And_Reclaim_Token_List(), Append_Token_Special(), Append_Token_String(), CLASS_CONST, CLASS_FUNC, CLASS_PREG, CONTEXT_reset, FALSE, TY2C_Fld_Info::found_fld, INITV_ofst(), INITV_st(), Initv_Table, FLD_HANDLE::Is_Null(), Is_True, MTYPE_V, New_Token_Buffer(), NULL, Number_as_String(), Prepend_Token_Special(), Prepend_Token_String(), TY2C_Fld_Info::select_tokens, ST2C_use_translate(), ST_class(), ST_pu_type(), ST_sym_class(), St_Table, ST_type(), Stab_Identical_Types(), STC_val(), TCON2C_translate(), TRUE, TY2C_get_field_info(), TY2C_translate_unqualified(), TY_AR_etype(), TY_Is_Array(), TY_Is_Pointer(), TY_Is_Pointer_Or_Scalar(), TY_Is_Struct(), TY_pointed(), TY_size(), and WHIRL2C_parenthesize().
Referenced by INITV2C_symoff_help().
static void INITV2C_symoff_help | ( | TOKEN_BUFFER | tokens, |
TY_IDX | ty, | ||
INITV_IDX | initv | ||
) | [static] |
Definition at line 254 of file init2c.cxx.
References Append_Token_Special(), INITV2C_symoff(), INITV_kind(), INITV_next(), INITVKIND_SYMOFF, INITVKIND_VAL, TCON2C_translate(), TCON_For_Initv(), TY_Is_Array(), and TY_Is_Structured().
Referenced by INITV2C_translate().
static void INITV2C_translate | ( | TOKEN_BUFFER | tokens, |
TY_IDX | ty, | ||
INITV_IDX | initv | ||
) | [static] |
Definition at line 763 of file init2c.cxx.
References FALSE, INITV2C_block_array(), INITV2C_block_struct(), INITV2C_block_union(), INITV2C_symoff_help(), INITV2C_val(), INITV_kind(), Initv_Table, INITVKIND_BLOCK, INITVKIND_ONE, INITVKIND_PAD, INITVKIND_SYMOFF, INITVKIND_UNK, INITVKIND_VAL, INITVKIND_ZERO, Is_True, TY_Is_Array(), TY_Is_Struct(), and TY_Is_Union().
Referenced by INITO2C_translate(), INITV2C_array_dimension(), INITV2C_block_array(), INITV2C_block_struct(), and INITV2C_block_union().
static void INITV2C_val | ( | TOKEN_BUFFER | tokens, |
TY_IDX | ty, | ||
INITV_IDX | initv | ||
) | [static] |
Definition at line 311 of file init2c.cxx.
References Append_And_Reclaim_Token_List(), Append_Token_Special(), INITV_kind(), INITV_next(), INITVKIND_VAL, Is_True, New_Token_Buffer(), Targ_To_Host(), TCON2C_translate(), TCON_For_Initv(), TY2C_translate_unqualified(), TY_Is_Array(), TY_Is_Array_Of_Chars(), TY_Is_Pointer(), TY_Is_Pointer_Or_Scalar(), TY_Is_Structured(), and WHIRL2C_parenthesize().
Referenced by INITV2C_translate().
TCON TCON_For_Initv | ( | INITV_IDX | initv | ) | [inline] |
Definition at line 73 of file init2c.cxx.
References FALSE, Host_To_Targ(), INITV_kind(), INITV_mtype(), Initv_Table, INITV_tc_val(), INITVKIND_ONE, INITVKIND_VAL, INITVKIND_ZERO, and Is_True.
Referenced by INITV2C_block_struct(), INITV2C_struct_fill(), INITV2C_symoff_help(), and INITV2C_val().