Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
stab_attr.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef TYPE_ID MTYPE

Functions

BOOL Stab_Identical_Types (TY_IDX t1, TY_IDX t2, BOOL check_quals, BOOL check_scalars, BOOL ptrs_as_scalars)
BOOL Stab_Assignment_Compatible_Types (TY_IDX t1, TY_IDX t2, BOOL check_quals, BOOL check_scalars, BOOL ptrs_as_scalars)
BOOL Stab_Is_Element_Type_Of_Array (TY_IDX atype, TY_IDX etype)
BOOL Stab_Array_Has_Dynamic_Bounds (TY_IDX ty)
BOOL Stab_Is_Assumed_Sized_Array (TY_IDX ty)
BOOL Stab_Is_Equivalenced_Struct (TY_IDX ty)
TY_IDX Stab_Get_Mload_Ty (TY_IDX base, STAB_OFFSET offset, STAB_OFFSET size)
TY_IDX Stab_Mtype_To_Ty (TYPE_ID mtype)
BOOL TY_Is_Pointer (TY_IDX ty)
BOOL TY_Is_Array (TY_IDX ty)
BOOL TY_Is_Function (TY_IDX ty)
BOOL TY_Is_Struct (TY_IDX ty)
BOOL TY_Is_Union (TY_IDX ty)
BOOL TY_Is_Structured (TY_IDX ty)
BOOL TY_Is_String (TY_IDX ty)
BOOL TY_Is_Integral (TY_IDX ty)
BOOL TY_Is_Quad (TY_IDX ty)
BOOL TY_Is_Complex (TY_IDX ty)
BOOL TY_Is_Array_Or_Function (TY_IDX ty)
BOOL TY_Is_Scalar (TY_IDX ty)
BOOL TY_Is_Pointer_Or_Scalar (TY_IDX ty)
BOOL TY_Is_Array_Of_Chars (TY_IDX ty)
BOOL TY_Is_Array_Of_UChars (TY_IDX ty)
BOOL TY_Is_Preg_Type (TY_IDX ty)
BOOL FLD_Is_Bitfield (FLD_HANDLE fld, FLD_HANDLE next_fld, INT64 max_size)
BOOL Stab_Is_Valid_Base (const ST *st)
BOOL Stab_Is_Common_Block (const ST *st)
BOOL Stab_Is_Equivalence_Block (const ST *st)
BOOL Stab_Is_Based_At_Common_Or_Equivalence (const ST *st)
BOOL Stab_No_Linkage (const ST *st)
BOOL Stab_External_Linkage (const ST *st)
BOOL Stab_External_Def_Linkage (const ST *st)
BOOL Stab_Identical_Quals (TY_IDX t1, TY_IDX t2)
BOOL Stab_Assign_Compatible_Pointer_Quals (TY_IDX t1, TY_IDX t2)
BOOL Stab_Reserved_Ty (TY_IDX ty)
BOOL Stab_Reserved_St (const ST *st)
void Stab_Reset_Referenced_Flag (SYMTAB_IDX symtab)
TY_IDX Stab_Pointer_To (TY_IDX pointee)
TY_IDX Stab_Array_Of (TY_IDX etype, mINT64 num_elts)
void Stab_initialize (void)
void Stab_finalize (void)
void Stab_initialize_flags (void)
void Stab_finalize_flags (void)
void Stab_Free_Namebufs (void)
char * Get_Name_Buf_Slot (UINT size)
const char * Number_as_String (INT64 number, const char *fmt)
const char * Ptr_as_String (const void *ptr)
const char * Concat2_Strings (const char *name1, const char *name2)
const char * Concat3_Strings (const char *name1, const char *name2, const char *name3)
UINT64 Get_Hash_Value_For_Name (const char *name)
UINT32 Name_Hash_Idx (UINT64 hash_value, INT32 tbl_size)
STAB_OFFSET Stab_Full_Split_Offset (const ST *split_out_st)
void Stab_Free_Tmpvars (void)
void Stab_Unlock_All_Tmpvars (void)
UINT Stab_Lock_Tmpvar (TY_IDX ty, void(*declare_tmpvar)(TY_IDX, UINT))
void Stab_Unlock_Tmpvar (UINT idx)

Typedef Documentation

typedef TYPE_ID MTYPE

Definition at line 249 of file stab_attr.h.


Function Documentation

BOOL FLD_Is_Bitfield ( FLD_HANDLE  fld,
FLD_HANDLE  next_fld,
INT64  max_size 
) [inline]

Definition at line 367 of file stab_attr.h.

References FLD_equivalence(), FLD_is_bit_field(), FLD_ofst(), FLD_type(), FLD_HANDLE::Is_Null(), and TY_size().

Referenced by skip_till_next_field(), TY2C_get_field_info(), and TY2C_prepend_FLD_list().

Here is the call graph for this function:

UINT32 Name_Hash_Idx ( UINT64  hash_value,
INT32  tbl_size 
) [inline]
const char* Ptr_as_String ( const void *  ptr)

Definition at line 772 of file stab_attr.cxx.

References FALSE, Get_Name_Buf_Slot(), Is_True, and MAX_NUMSTRING_SIZE.

Referenced by WN2C_prefetch(), WN2C_Prefetch_Map(), WN2F_Append_Prefetch_Map(), and WN2F_prefetch().

Here is the call graph for this function:

Definition at line 389 of file stab_attr.cxx.

References TRUE, TY_AR_const_lbnd(), TY_AR_const_stride(), TY_AR_const_ubnd(), and TY_AR_ndims().

Referenced by TY2C_array(), and WN2C_array().

Here is the call graph for this function:

Definition at line 441 of file stab_attr.h.

References TRUE, TY_is_const(), TY_is_restrict(), and TY_is_volatile().

Referenced by Stab_Compare_Types().

Here is the call graph for this function:

BOOL Stab_Assignment_Compatible_Types ( TY_IDX  t1,
TY_IDX  t2,
BOOL  check_quals,
BOOL  check_scalars,
BOOL  ptrs_as_scalars 
)

Definition at line 373 of file stab_attr.cxx.

References FALSE, Stab_Compare_Types(), and TRUE.

Referenced by Stab_Is_Element_Type_Of_Array().

Here is the call graph for this function:

BOOL Stab_External_Def_Linkage ( const ST st) [inline]

Definition at line 429 of file stab_attr.h.

References SCLASS_EXTERN, ST_sclass(), and Stab_External_Linkage().

Referenced by ST2C_use_func(), ST2C_use_var(), and WN2C_Append_Symtab_Vars().

Here is the call graph for this function:

BOOL Stab_External_Linkage ( const ST st) [inline]

Definition at line 418 of file stab_attr.h.

References SCLASS_CPLINIT, SCLASS_DISTR_ARRAY, SCLASS_EH_REGION, SCLASS_EH_REGION_SUPP, SCLASS_FSTATIC, SCLASS_PSTATIC, ST_sclass(), and Stab_No_Linkage().

Referenced by Stab_External_Def_Linkage(), and W2CF_Get_Ftn_St_Name().

Here is the call graph for this function:

void Stab_finalize_flags ( void  )

Definition at line 592 of file stab_attr.cxx.

References CXX_DELETE, and Malloc_Mem_Pool.

Referenced by W2C_Fini(), and W2F_Fini().

Definition at line 850 of file stab_attr.cxx.

References name, and ST_name().

Referenced by WN2C_lvalue_st(), and WN2F_Offset_Symref().

Here is the call graph for this function:

TY_IDX Stab_Get_Mload_Ty ( TY_IDX  base,
STAB_OFFSET  offset,
STAB_OFFSET  size 
)

Definition at line 466 of file stab_attr.cxx.

References FLD_next(), FLD_ofst(), FLD_type(), FLD_HANDLE::Is_Null(), Is_True, size, Stab_Get_Mload_Ty(), TY_flist(), TY_Is_Structured(), TY_Is_Union(), TY_size(), and Ty_Table.

Referenced by Stab_Get_Mload_Ty(), and WN_Tree_Type().

Here is the call graph for this function:

BOOL Stab_Identical_Quals ( TY_IDX  t1,
TY_IDX  t2 
) [inline]

Definition at line 434 of file stab_attr.h.

References TY_is_const(), TY_is_restrict(), and TY_is_volatile().

Referenced by Stab_Compare_Types().

Here is the call graph for this function:

BOOL Stab_Identical_Types ( TY_IDX  t1,
TY_IDX  t2,
BOOL  check_quals,
BOOL  check_scalars,
BOOL  ptrs_as_scalars 
)

Definition at line 358 of file stab_attr.cxx.

References FALSE, and Stab_Compare_Types().

Referenced by Construct_Fld_Path(), INITV2C_symoff(), Select_Best_Fld_Path(), Stab_Lock_Tmpvar(), and TY2C_get_field_info().

Here is the call graph for this function:

void Stab_initialize ( void  )

Definition at line 598 of file stab_attr.cxx.

References ARB_Table_Size(), FLD_Table_Size(), TY_Table_Size(), and TYLIST_Table_Size().

Referenced by W2C_Push_PU(), and W2F_Push_PU().

Here is the call graph for this function:

void Stab_initialize_flags ( void  )

Definition at line 586 of file stab_attr.cxx.

References CXX_NEW, Malloc_Mem_Pool, and TY_Table_Size().

Referenced by W2C_Init(), and W2F_Init().

Here is the call graph for this function:

Definition at line 406 of file stab_attr.cxx.

References ARB_const_lbnd(), ARB_const_ubnd(), ARB_lbnd_val(), ARB_lbnd_var(), ARB_ubnd_val(), ARB_ubnd_var(), FALSE, TRUE, TY_arb(), and TY_Is_Array().

Referenced by TY2F_Translate_Purple_Array().

Here is the call graph for this function:

Definition at line 436 of file stab_attr.cxx.

References FALSE, Stab_Assignment_Compatible_Types(), Stab_Is_Element_Type_Of_Array(), TRUE, TY_AR_etype(), and TY_Is_Array().

Referenced by Stab_Is_Element_Type_Of_Array().

Here is the call graph for this function:

Definition at line 451 of file stab_attr.cxx.

References FALSE, FLD_equivalence(), FLD_last_field(), Make_fld_iter(), TY_flist(), and Ty_Table.

Referenced by TY2C_complete_struct(), TY2C_get_field_info(), and TY2C_struct().

Here is the call graph for this function:

BOOL Stab_Is_Valid_Base ( const ST st) [inline]

Definition at line 381 of file stab_attr.h.

References CLASS_BLOCK, NULL, ST_base(), and ST_sym_class().

Referenced by Stab_Is_Based_At_Common_Or_Equivalence().

Here is the call graph for this function:

BOOL Stab_No_Linkage ( const ST st) [inline]

Definition at line 411 of file stab_attr.h.

References SCLASS_AUTO, SCLASS_FORMAL, SCLASS_FORMAL_REF, and ST_sclass().

Referenced by write_st::operator()(), ST2C_basic_decl(), ST2C_decl_var(), ST2F_decl_var(), and Stab_External_Linkage().

Here is the call graph for this function:

Definition at line 72 of file stab_attr.cxx.

References Unparse_Target::Reserved_St_Name(), ST_name(), and W2X_Unparse_Target.

Referenced by WN2C_Append_Symtab_Vars().

Here is the call graph for this function:

Definition at line 64 of file stab_attr.cxx.

References Unparse_Target::Builtin_Type(), Unparse_Target::Reserved_Ty_Name(), TY_name(), and W2X_Unparse_Target.

Referenced by WN2C_Append_Symtab_Types().

Here is the call graph for this function:

void Stab_Unlock_All_Tmpvars ( void  )
BOOL TY_Is_Array_Of_Chars ( TY_IDX  ty) [inline]

Definition at line 342 of file stab_attr.h.

References TY_AR_etype(), TY_AR_ndims(), TY_Is_Array(), TY_Is_Integral(), and TY_size().

Referenced by INIT2F_array(), INIT2F_substring(), INITV2C_val(), and Stab_Compare_Types().

Here is the call graph for this function:

BOOL TY_Is_Array_Of_UChars ( TY_IDX  ty) [inline]

Definition at line 353 of file stab_attr.h.

References MTYPE_U1, TY_AR_etype(), TY_AR_ndims(), TY_Is_Array(), and TY_mtype().

Referenced by WN2F_String_Argument().

Here is the call graph for this function:

Definition at line 327 of file stab_attr.h.

References TY_Is_Array(), and TY_Is_Function().

Referenced by TY2C_array(), TY2C_pointer(), and WN2C_generate_cast().

Here is the call graph for this function:

BOOL TY_Is_Complex ( TY_IDX  ty) [inline]

Definition at line 320 of file stab_attr.h.

References KIND_SCALAR, MTYPE_C4, MTYPE_C8, MTYPE_CQ, TY_kind(), and TY_mtype().

Referenced by INITVKIND_val(), WN2C_const(), and WN2C_lda().

Here is the call graph for this function:

BOOL TY_Is_Function ( TY_IDX  ty) [inline]

Definition at line 285 of file stab_attr.h.

References KIND_FUNCTION, and TY_kind().

Referenced by ST2C_func_header(), Stab_Compare_Types(), and TY_Is_Array_Or_Function().

Here is the call graph for this function:

BOOL TY_Is_Integral ( TY_IDX  ty) [inline]

Definition at line 310 of file stab_attr.h.

References MTYPE_CLASS_INTEGER, MTYPE_type_class, and TY_mtype().

Referenced by PUinfo_Preg_Type(), TY_Is_Array_Of_Chars(), TY_Is_Character_String(), WN2F_istore(), WN2F_ldid(), WN2F_pstid(), WN2F_pstore(), and WN2F_stid().

Here is the call graph for this function:

Definition at line 337 of file stab_attr.h.

References TY_is_f90_pointer(), TY_Is_Pointer(), and TY_Is_Scalar().

Referenced by INIT2F_translate(), INITV2C_symoff(), INITV2C_val(), Stab_Compare_Types(), and TY_Is_Preg_Type().

Here is the call graph for this function:

BOOL TY_Is_Preg_Type ( TY_IDX  ty) [inline]

Definition at line 360 of file stab_attr.h.

References TY_Is_Pointer_Or_Scalar().

Referenced by WN2C_Function_Call_Lhs(), WN2C_Function_Return_Value(), WN2F_Function_Call_Lhs(), and WN2F_return().

Here is the call graph for this function:

BOOL TY_Is_Quad ( TY_IDX  ty) [inline]

Definition at line 315 of file stab_attr.h.

References KIND_SCALAR, MTYPE_FQ, TY_kind(), and TY_mtype().

Here is the call graph for this function:

BOOL TY_Is_Scalar ( TY_IDX  ty) [inline]

Definition at line 332 of file stab_attr.h.

References KIND_SCALAR, and TY_kind().

Referenced by Accumulate_Preg_Info(), INITVKIND_val(), Stab_Compare_Types(), and TY_Is_Pointer_Or_Scalar().

Here is the call graph for this function:

BOOL TY_Is_String ( TY_IDX  ty) [inline]

Definition at line 305 of file stab_attr.h.

References MTYPE_STRING, and TY_mtype().

Referenced by INIT2F_substring(), INITV2C_block_array(), INITVKIND_val(), Stab_Compare_Types(), and TY2C_scalar().

Here is the call graph for this function:

BOOL TY_Is_Struct ( TY_IDX  ty) [inline]

Definition at line 290 of file stab_attr.h.

References KIND_STRUCT, TY_is_union(), and TY_kind().

Referenced by INITV2C_symoff(), and INITV2C_translate().

Here is the call graph for this function:

BOOL TY_Is_Union ( TY_IDX  ty) [inline]

Definition at line 295 of file stab_attr.h.

References KIND_STRUCT, TY_is_union(), and TY_kind().

Referenced by INITV2C_translate(), and Stab_Get_Mload_Ty().

Here is the call graph for this function:

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines