Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
symtab.cxx File Reference
#include <stdio.h>
#include <alloca.h>
#include <algorithm>
#include <string>
#include <map>
#include "HashTable.h"
#include "defs.h"
#include "config.h"
#include "tracing.h"
#include "cxx_memory.h"
#include "symtab.h"
#include "irbdata.h"
#include "ir_a2b_util.h"
#include "const.h"
#include "ttype.h"
#include "targ_sim.h"
#include "upc_symtab_utils.h"
Include dependency graph for symtab.cxx:

Go to the source code of this file.

Classes

struct  hash_pointee_key
struct  update_pointer_map
class  Idx_Pair
struct  Pair_Cmp
struct  matches_pu_ty_and_name
struct  TY_hash
struct  TY_EQUIV
struct  EnumToStr_t
struct  FlagToStr_t
struct  print_op< T >

Defines

#define STATTR_ToStrTblENTRY(flg)   EnumToStr_t(flg, #flg)
#define LKIND_ToStrTblENTRY(flg)   EnumToStr_t(flg, #flg)
#define FIFLAGS_ToStrTblENTRY(flg)   FlagToStr_t(flg, #flg)
#define STFLAGS_ToStrTblENTRY(flg)   FlagToStr_t(flg, #flg)
#define STEXTFLAGS_ToStrTblENTRY(flg)   FlagToStr_t(flg, #flg)
#define FLDFLAGS_ToStrTblENTRY(flg)   FlagToStr_t(flg, #flg)
#define ARBFLAGS_ToStrTblENTRY(flg)   FlagToStr_t(flg, #flg)
#define LBLFLAGS_ToStrTblENTRY(flg)   FlagToStr_t(flg, #flg)
#define TYFLAGS_ToStrTblENTRY(flg)   FlagToStr_t(flg, #flg)
#define TYPUFLAGS_ToStrTblENTRY(flg)   FlagToStr_t(flg, #flg)
#define PUFLAGS_ToStrTblENTRY(flg)   FlagToStr_t(flg, #flg)
#define PUSRCLANGFLAGS_ToStrTblENTRY(flg)   FlagToStr_t(flg, #flg)
#define BLKFLAGS_ToStrTblENTRY(flg)   FlagToStr_t(flg, #flg)

Typedefs

typedef std::pair< TY_IDX, UINT32TY_POINTEE_KEY
typedef HashTable
< TY_POINTEE_KEY, TY_IDX,
hash_pointee_key
TY_IDX_POINTER_MAP
typedef TY_IDX HashKeyType
typedef HashTable< TY_IDX,
TY_IDX, TY_hash, TY_EQUIV
HASH_TY_TABLE
typedef SEGMENTED_ARRAY< UINT32TY_EQUIV_VISIT_ORDER

Functions

INT64 ST_size (const ST *st)
STCopy_ST (ST *st)
STCopy_ST (ST *st, SYMTAB_IDX scope)
STCopy_ST_No_Base (ST *st, SYMTAB_IDX scope)
BOOL ST_is_constant (const ST *st)
BOOL ST_is_private_local (const ST *st)
TY_IDX Copy_TY (TY_IDX ty)
UINT TY_log_base2 (UINT align)
FLD_HANDLE FLD_get_to_field (TY_IDX struct_ty_idx, UINT field_id, UINT &cur_field_id)
static BOOL Invalid_Pointer_Map_Entry (const TY_IDX_POINTER_MAP::value_type &entry)
static void Validate_Pointer_Map ()
static void Update_Pointer_Map ()
static TY_IDX Find_Ty_Pointer (TY_POINTEE_KEY key)
TY_IDX TY_pointer (TY_IDX pointee, BOOL f90_pointer)
static string utoa (UINT64 i)
string get_TY_string (TY_IDX idx)
TY_IDX Make_Shared_Type (TY_IDX ty_idx, int bsize, CONSISTENCY_class consistency)
TY_IDX make_ptr_type (TY_IDX ty_idx, BOOL f90_pointer)
TY_IDX Make_Pointer_Type (TY_IDX ty_idx, BOOL)
TY_IDX Make_F90_Pointer_Type (TY_IDX ty_idx)
TY_IDX Make_Function_Type (TY_IDX return_ty_idx)
static void INTRINSIC_LIST_add (ST *st)
static STINTRINSIC_LIST_lookup (TY_IDX ty, const char *function_name)
STGen_Intrinsic_Function (TY_IDX ty, const char *function_name)
TY_IDX Make_Array_Type (TYPE_ID element, INT32 ndim, INT64 len)
size_t TY_fun_hash (const TY &ty)
size_t TY_array_hash (const TY &ty)
size_t TY_struct_hash (const TY &ty)
size_t TY_hash_func (const TY_IDX ty_id)
static BOOL Push_Equiv_Visit_Order (UINT32 ty_index1, UINT32 ty_index2, BOOL &are_equiv)
static void Pop_Equiv_Visit_Order (UINT32 ty_index1, UINT32 ty_index2)
BOOL ARB_are_equivalent (ARB_HANDLE arb_id1, ARB_HANDLE arb_id2, UINT32 flags)
void ARB_swap (ARB_HANDLE arb1, ARB_HANDLE arb2)
BOOL FLD_are_equivalent (FLD_HANDLE fld1, FLD_HANDLE fld2, UINT32 flags)
static BOOL Struct_are_equivalent (FLD_HANDLE fld_id1, FLD_HANDLE fld_id2, UINT32 flags)
BOOL TYLIST_are_equivalent (TYLIST_IDX tylist_id1, TYLIST_IDX tylist_id2, UINT32 flags)
BOOL TY_are_equivalent (TY_IDX ty_id1, TY_IDX ty_id2, UINT32 flags)
static TY_IDX TY_is_unique_op (const TY_IDX ty_idx, HASH_TY_TABLE &hash_ty_table)
TY_IDX TY_is_unique (const TY_IDX ty_idx)
const char * Preg_Name (PREG_NUM i)
PREG_NUM Create_Preg_explicit (TYPE_ID mtype, const char *name, SCOPE *scope_tab, SYMTAB_IDX level)
PREG_NUM Create_Preg (TYPE_ID mtype, const char *name)
INT32 Preg_Increment (TYPE_ID mtype)
BLK_IDX Copy_BLK (BLK_IDX b)
void Base_Symbol_And_Offset (ST *st, ST **base_symbol, INT64 *offset_from_base)
const char * Class_Name (ST_CLASS cl)
ST_CLASS Name_To_Class (const char *nm)
const char * Sclass_Name (ST_SCLASS sc)
ST_SCLASS Name_To_Sclass (const char *nm)
const char * Export_Name (ST_EXPORT ex)
ST_EXPORT Name_To_Export (const char *nm)
const char * Kind_Name (TY_KIND k)
TY_KIND Name_To_Kind (const char *nm)
const char * LABEL_Kind_Name (LABEL_KIND k)
LABEL_KIND Name_To_LABEL_Kind (const char *nm)
const char * ST_ATTR_Kind_Name (ST_ATTR_KIND k)
ST_ATTR_KIND Name_To_ST_ATTR_Kind (const char *nm)
const char * FILE_INFO_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_FILE_INFO_FLAGS (const char *str)
const char * ST_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_ST_FLAGS (const char *str)
const char * ST_EXT_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_ST_EXT_FLAGS (const char *str)
const char * FLD_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_FLD_FLAGS (const char *str)
const char * ARB_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_ARB_FLAGS (const char *str)
const char * LABEL_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_LABEL_FLAGS (const char *str)
const char * TY_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_TY_FLAGS (const char *str)
const char * TY_PU_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_TY_PU_FLAGS (const char *str)
const char * PU_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_PU_FLAGS (const char *str)
const char * PU_SRC_LANG_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_PU_SRC_LANG_FLAGS (const char *str)
const char * BLK_FLAGS_To_Str (UINT64 flags)
UINT64 Str_To_BLK_FLAGS (const char *str)
static void Print_type_attributes (FILE *f, TY_IDX ty)
static void Print_TY_IDX_verbose (FILE *f, TY_IDX idx)
static const char * TY_kind_name (const TY &ty)
void Print_local_symtab (FILE *f, const SCOPE &scope)
void Print_global_symtab (FILE *f)
void dump_st (ST *st)
void dump_st (ST_IDX st_idx)
void dump_st_idx (ST_IDX st)
void dump_ty (TY_IDX ty_idx)
void dump_ty_idx (TY_IDX ty_idx)
void dump_ty (const TY &ty)
void dump_label (LABEL_IDX idx)
void dump_inito (INITO_IDX idx)
void dump_st_attr (ST_ATTR_IDX idx)
static STGen_Temp_Named_Symbol (TY_IDX ty, const char *rootname, ST_CLASS sym_class, ST_SCLASS storage_class)
STGen_Temp_Symbol (TY_IDX ty, const char *rootname)
STGen_Read_Only_Symbol (TY_IDX ty, const char *rootname)
TY_IDX Promoted_Parm_Type (const ST *formal_parm)
void New_Scope (SYMTAB_IDX level, MEM_POOL *pool, BOOL reserve_index_zero)
void Delete_Scope (SYMTAB_IDX level)
static void Setup_Preg_Pointers ()
static void Create_All_Preg_Symbols ()
static void Set_up_all_preg_symbols ()
static STR_IDX Gen_predef_type_name (const char *basename)
static void Create_Special_Global_Symbols ()
static BOOL Predefined_Void_Type (TY_IDX ty_idx)
void Initialize_Special_Global_Symbols ()
void Initialize_Symbol_Tables (BOOL reserve_index_zero)
TCON_IDX Enter_tcon (const TCON &tcon)
void Init_Constab ()
ST ST_from_IDX (ST_IDX x)
TY TY_from_IDX (TY_IDX x)
INITO INITO_from_IDX (INITO_IDX x)
INITV INITV_from_IDX (INITV_IDX x)
PU PU_from_IDX (PU_IDX x)
ARB ARB_from_IDX (ARB_IDX x)
TCON TCON_from_IDX (TCON_IDX x)
FLD FLD_from_IDX (FLD_IDX x)
LABEL LABEL_from_IDX (LABEL_IDX x)
TYLIST TYLIST_from_IDX (TYLIST_IDX x)

Variables

FILE_INFO File_info
SCOPEScope_tab
PU_TAB Pu_Table
SYMBOL_TABLE St_Table
TY_TAB Ty_tab
TYPE_TABLE Ty_Table
FLD_TAB Fld_Table
TYLIST_TAB Tylist_Table
ARB_TAB Arb_Table
TCON_TAB Tcon_Table
INITV_TAB Initv_Table
INITO_TABLE Inito_Table
PREG_TABLE Preg_Table
LABEL_TABLE Label_Table
BLK_TAB Blk_Table
ST_ATTR_TABLE St_Attr_Table
SYMTAB_IDX Current_scope
PUCurrent_pu
static TY_IDX_POINTER_MAP pointer_map
static std::pair
< TY_POINTEE_KEY, TY_IDX
last_valid_map_entry
map< string, TY_IDXty_map
static std::vector< ST * > intrinsic_list
HASH_TY_TABLE Hash_ty_scalar_table
HASH_TY_TABLE Hash_ty_array_table
HASH_TY_TABLE Hash_ty_struct_table
HASH_TY_TABLE Hash_ty_pointer_table
HASH_TY_TABLE Hash_ty_function_table
static TY_EQUIV_VISIT_ORDER Ty_Equiv_Visit1
static TY_EQUIV_VISIT_ORDER Ty_Equiv_Visit2
static UINT32 Ty_Equiv_Visit_Number = 0
EnumToStr_t STClassToNameTbl [CLASS_COUNT]
EnumToStr_t STSclassToNameTbl [SCLASS_COUNT]
EnumToStr_t STExportToNameTbl [EXPORT_COUNT]
EnumToStr_t TYKindToNameTbl [KIND_LAST]
EnumToStr_t STATTR_ToStrTbl []
EnumToStr_t LKIND_ToStrTbl []
FlagToStr_t FIFLAGS_ToStrTbl []
const UINT FIFLAGS_ToStrTblSZ
FlagToStr_t STFLAGS_ToStrTbl []
const UINT STFLAGS_ToStrTblSZ
FlagToStr_t STEXTFLAGS_ToStrTbl []
const UINT STEXTFLAGS_ToStrTblSZ
FlagToStr_t FLDFLAGS_ToStrTbl []
const UINT FLDFLAGS_ToStrTblSZ
FlagToStr_t ARBFLAGS_ToStrTbl []
const UINT ARBFLAGS_ToStrTblSZ
FlagToStr_t LBLFLAGS_ToStrTbl []
const UINT LBLFLAGS_ToStrTblSZ
FlagToStr_t TYFLAGS_ToStrTbl []
const UINT TYFLAGS_ToStrTblSZ
FlagToStr_t TYPUFLAGS_ToStrTbl []
const UINT TYPUFLAGS_ToStrTblSZ
FlagToStr_t PUFLAGS_ToStrTbl []
const UINT PUFLAGS_ToStrTblSZ
FlagToStr_t PUSRCLANGFLAGS_ToStrTbl []
const UINT PUSRCLANGFLAGS_ToStrTblSZ
FlagToStr_t BLKFLAGS_ToStrTbl []
const UINT BLKFLAGS_ToStrTblSZ
STMTYPE_TO_PREG_array [MTYPE_LAST+1]
STInt_Preg
STFloat_Preg
STReturn_Val_Preg
TY_IDX MTYPE_TO_TY_array [MTYPE_LAST+1]
TY_IDX Quad_Type
TY_IDX Void_Type
TY_IDX FE_int_Type
TY_IDX FE_double_Type
TY_IDX Spill_Int_Type
TY_IDX Spill_Float_Type
static INT Max_scope = 8

Define Documentation

#define ARBFLAGS_ToStrTblENTRY (   flg)    FlagToStr_t(flg, #flg)

Definition at line 1853 of file symtab.cxx.

#define BLKFLAGS_ToStrTblENTRY (   flg)    FlagToStr_t(flg, #flg)

Definition at line 2004 of file symtab.cxx.

#define FIFLAGS_ToStrTblENTRY (   flg)    FlagToStr_t(flg, #flg)

Definition at line 1744 of file symtab.cxx.

#define FLDFLAGS_ToStrTblENTRY (   flg)    FlagToStr_t(flg, #flg)

Definition at line 1834 of file symtab.cxx.

#define LBLFLAGS_ToStrTblENTRY (   flg)    FlagToStr_t(flg, #flg)

Definition at line 1873 of file symtab.cxx.

#define LKIND_ToStrTblENTRY (   flg)    EnumToStr_t(flg, #flg)

Definition at line 1595 of file symtab.cxx.

#define PUFLAGS_ToStrTblENTRY (   flg)    FlagToStr_t(flg, #flg)

Definition at line 1934 of file symtab.cxx.

#define PUSRCLANGFLAGS_ToStrTblENTRY (   flg)    FlagToStr_t(flg, #flg)

Definition at line 1986 of file symtab.cxx.

#define STATTR_ToStrTblENTRY (   flg)    EnumToStr_t(flg, #flg)

Definition at line 1585 of file symtab.cxx.

#define STEXTFLAGS_ToStrTblENTRY (   flg)    FlagToStr_t(flg, #flg)

Definition at line 1802 of file symtab.cxx.

#define STFLAGS_ToStrTblENTRY (   flg)    FlagToStr_t(flg, #flg)

Definition at line 1759 of file symtab.cxx.

#define TYFLAGS_ToStrTblENTRY (   flg)    FlagToStr_t(flg, #flg)

Definition at line 1887 of file symtab.cxx.

#define TYPUFLAGS_ToStrTblENTRY (   flg)    FlagToStr_t(flg, #flg)

Definition at line 1920 of file symtab.cxx.


Typedef Documentation

Definition at line 926 of file symtab.cxx.

Definition at line 825 of file symtab.cxx.

Definition at line 945 of file symtab.cxx.

typedef std::pair<TY_IDX, UINT32> TY_POINTEE_KEY

Definition at line 304 of file symtab.cxx.


Function Documentation

const char* ARB_FLAGS_To_Str ( UINT64  flags)

Definition at line 2091 of file symtab.cxx.

References ARBFLAGS_ToStrTbl, and ir_a2b::MapFlagsToStr().

Here is the call graph for this function:

Definition at line 3263 of file symtab.cxx.

References Arb_Table.

void ARB_swap ( ARB_HANDLE  arb1,
ARB_HANDLE  arb2 
)

Definition at line 1061 of file symtab.cxx.

References ARB_HANDLE::Entry().

Referenced by cwh_types_mk_array_TY().

Here is the call graph for this function:

void Base_Symbol_And_Offset ( ST st,
ST **  base_symbol,
INT64 offset_from_base 
)

Definition at line 1476 of file symtab.cxx.

References ST_base(), and ST_ofst().

Referenced by Base_Symbol(), Is_Allocated(), Offset_From_Base_Symbol(), and ST_Verify_Fields().

Here is the call graph for this function:

const char* BLK_FLAGS_To_Str ( UINT64  flags)

Definition at line 2195 of file symtab.cxx.

References BLKFLAGS_ToStrTbl, and ir_a2b::MapFlagsToStr().

Here is the call graph for this function:

const char* Class_Name ( ST_CLASS  cl)

Definition at line 1613 of file symtab.cxx.

References CLASS_COUNT, EnumToStr_t(), ir_a2b::MapEnumToStr(), and STClassToNameTbl.

Referenced by ST::Print(), ST_Verify_Class_Sclass(), ST_Verify_Fields(), and ST_Verify_Flags().

Here is the call graph for this function:

Definition at line 1458 of file symtab.cxx.

References Blk_Table, and SEGMENTED_ARRAY< T, block_size >::Insert().

Here is the call graph for this function:

Definition at line 237 of file symtab.cxx.

References SEGMENTED_ARRAY< T, block_size >::Insert(), Set_TY_IDX_index(), Ty_tab, and Ty_Table.

Referenced by Allocate_All_Formals(), cwh_types_form_misaligned_TY(), and Fill_Align_Symbol().

Here is the call graph for this function:

PREG_NUM Create_Preg ( TYPE_ID  mtype,
const char *  name 
)

Definition at line 1420 of file symtab.cxx.

References Create_Preg_explicit(), CURRENT_SYMTAB, and Scope_tab.

Here is the call graph for this function:

PREG_NUM Create_Preg_explicit ( TYPE_ID  mtype,
const char *  name,
SCOPE scope_tab,
SYMTAB_IDX  level 
)

Definition at line 1383 of file symtab.cxx.

References Last_Dedicated_Preg_Offset, MTYPE_B, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_FQ, New_PREG_explicit(), Save_Str(), and Set_PREG_name_idx().

Referenced by Create_Preg().

Here is the call graph for this function:

void dump_inito ( INITO_IDX  idx)

Definition at line 2764 of file symtab.cxx.

References idx, and Inito_Table.

void dump_label ( LABEL_IDX  idx)

Definition at line 2758 of file symtab.cxx.

References idx, and Label_Table.

void dump_st ( ST st)

Definition at line 2709 of file symtab.cxx.

References ST::blk, Blk_Table, CLASS_BLOCK, CLASS_FUNC, ST::Print(), ST::pu, Pu_Table, ST::sym_class, and ST::u2.

Referenced by dump_st(), and dump_st_idx().

Here is the call graph for this function:

void dump_st ( ST_IDX  st_idx)

Definition at line 2723 of file symtab.cxx.

References dump_st(), and St_Table.

Here is the call graph for this function:

void dump_st_attr ( ST_ATTR_IDX  idx)

Definition at line 2770 of file symtab.cxx.

References idx, and St_Attr_Table.

void dump_st_idx ( ST_IDX  st)

Definition at line 2731 of file symtab.cxx.

References dump_st().

Here is the call graph for this function:

void dump_ty ( TY_IDX  ty_idx)

Definition at line 2738 of file symtab.cxx.

References TY::Print(), and Ty_Table.

Referenced by dump_ty_idx().

Here is the call graph for this function:

void dump_ty ( const TY ty)

Definition at line 2752 of file symtab.cxx.

References TY::Print().

Here is the call graph for this function:

void dump_ty_idx ( TY_IDX  ty_idx)

Definition at line 2746 of file symtab.cxx.

References dump_ty().

Here is the call graph for this function:

const char* Export_Name ( ST_EXPORT  ex)

Definition at line 1647 of file symtab.cxx.

References EnumToStr_t(), EXPORT_COUNT, ir_a2b::MapEnumToStr(), and STExportToNameTbl.

Referenced by ST::Print(), ST_Verify_Flags(), and ST_Verify_Sclass_Export().

Here is the call graph for this function:

Definition at line 2023 of file symtab.cxx.

References FIFLAGS_ToStrTbl, FIFLAGS_ToStrTblSZ, and ir_a2b::MapFlagsToStr().

Referenced by FILE_INFO::Print().

Here is the call graph for this function:

static TY_IDX Find_Ty_Pointer ( TY_POINTEE_KEY  key) [inline, static]
BOOL FLD_are_equivalent ( FLD_HANDLE  fld1,
FLD_HANDLE  fld2,
UINT32  flags 
)

Definition at line 1077 of file symtab.cxx.

References FALSE, FLD_bofst(), FLD_bsize(), FLD_flags(), FLD_name_idx(), FLD_ofst(), FLD_st(), FLD_type(), TY_are_equivalent(), and TY_EQUIV_IGNORE_NAMES.

Referenced by Struct_are_equivalent().

Here is the call graph for this function:

const char* FLD_FLAGS_To_Str ( UINT64  flags)

Definition at line 2074 of file symtab.cxx.

References FLDFLAGS_ToStrTbl, and ir_a2b::MapFlagsToStr().

Referenced by FLD::Print().

Here is the call graph for this function:

Definition at line 3265 of file symtab.cxx.

References Fld_Table.

FLD_HANDLE FLD_get_to_field ( TY_IDX  struct_ty_idx,
UINT  field_id,
UINT cur_field_id 
)
ST* Gen_Intrinsic_Function ( TY_IDX  ty,
const char *  function_name 
)
static STR_IDX Gen_predef_type_name ( const char *  basename) [inline, static]

Definition at line 3015 of file symtab.cxx.

References Save_Str2().

Referenced by Create_Special_Global_Symbols().

Here is the call graph for this function:

ST* Gen_Read_Only_Symbol ( TY_IDX  ty,
const char *  rootname 
)

Definition at line 2799 of file symtab.cxx.

References CLASS_VAR, Gen_Temp_Named_Symbol(), SCLASS_FSTATIC, and Set_ST_is_const_var().

Here is the call graph for this function:

static ST* Gen_Temp_Named_Symbol ( TY_IDX  ty,
const char *  rootname,
ST_CLASS  sym_class,
ST_SCLASS  storage_class 
) [static]

Definition at line 2776 of file symtab.cxx.

References CURRENT_SYMTAB, EXPORT_LOCAL, New_ST(), Save_Str2i(), and ST_Init().

Referenced by Gen_Read_Only_Symbol(), and Gen_Temp_Symbol().

Here is the call graph for this function:

Definition at line 462 of file symtab.cxx.

References FALSE, FmtAssert, KIND_ARRAY, KIND_POINTER, KIND_SCALAR, KIND_STRUCT, KIND_VOID, TY_etype(), TY_kind(), TY_mtype(), TY_name_idx(), TY_pointed(), TY_size(), and utoa().

Referenced by Make_Shared_Type().

Here is the call graph for this function:

Definition at line 3260 of file symtab.cxx.

References Inito_Table.

Definition at line 3261 of file symtab.cxx.

References Initv_Table.

static void INTRINSIC_LIST_add ( ST st) [static]

Definition at line 709 of file symtab.cxx.

References intrinsic_list.

Referenced by Gen_Intrinsic_Function().

static ST* INTRINSIC_LIST_lookup ( TY_IDX  ty,
const char *  function_name 
) [static]

Definition at line 715 of file symtab.cxx.

References intrinsic_list, NULL, and result.

Referenced by Gen_Intrinsic_Function().

Definition at line 325 of file symtab.cxx.

References FALSE, KIND_POINTER, TRUE, TY_flags(), TY_IDX_index(), TY_kind(), TY_pointed(), Ty_Table, and TY_Table_Size().

Referenced by Find_Ty_Pointer(), Update_Pointer_Map(), and Validate_Pointer_Map().

Here is the call graph for this function:

const char* Kind_Name ( TY_KIND  k)

Definition at line 1664 of file symtab.cxx.

References EnumToStr_t(), KIND_LAST, ir_a2b::MapEnumToStr(), and TYKindToNameTbl.

Referenced by TY_kind_name().

Here is the call graph for this function:

const char* LABEL_FLAGS_To_Str ( UINT64  flags)

Definition at line 2108 of file symtab.cxx.

References LBLFLAGS_ToStrTbl, and ir_a2b::MapFlagsToStr().

Referenced by LABEL::Print().

Here is the call graph for this function:

Definition at line 3266 of file symtab.cxx.

References Label_Table.

Definition at line 1681 of file symtab.cxx.

References EnumToStr_t(), LKIND_COUNT, LKIND_ToStrTbl, and ir_a2b::MapEnumToStr().

Here is the call graph for this function:

Definition at line 602 of file symtab.cxx.

References make_ptr_type(), and TRUE.

Referenced by cwh_types_make_pointer_type(), fei_member(), and fei_object().

Here is the call graph for this function:

TY_IDX make_ptr_type ( TY_IDX  ty_idx,
BOOL  f90_pointer 
)

Definition at line 576 of file symtab.cxx.

References KIND_POINTER, New_TY(), Pointer_Mtype, Pointer_Size, Save_Str(), Set_TY_align(), Set_TY_is_f90_pointer(), Set_TY_pointed(), TY_Init(), and TY_pointer().

Referenced by Make_F90_Pointer_Type(), and Make_Pointer_Type().

Here is the call graph for this function:

TY_IDX Make_Shared_Type ( TY_IDX  ty_idx,
int  bsize,
CONSISTENCY_class  consistency 
)
ST_CLASS Name_To_Class ( const char *  nm)

Definition at line 1621 of file symtab.cxx.

References CLASS_COUNT, EnumToStr_t(), ir_a2b::MapStrToEnum(), and STClassToNameTbl.

Here is the call graph for this function:

ST_EXPORT Name_To_Export ( const char *  nm)

Definition at line 1655 of file symtab.cxx.

References EnumToStr_t(), EXPORT_COUNT, ir_a2b::MapStrToEnum(), and STExportToNameTbl.

Here is the call graph for this function:

TY_KIND Name_To_Kind ( const char *  nm)

Definition at line 1672 of file symtab.cxx.

References EnumToStr_t(), KIND_LAST, ir_a2b::MapStrToEnum(), and TYKindToNameTbl.

Here is the call graph for this function:

Definition at line 1689 of file symtab.cxx.

References EnumToStr_t(), LKIND_COUNT, LKIND_ToStrTbl, and ir_a2b::MapStrToEnum().

Here is the call graph for this function:

ST_SCLASS Name_To_Sclass ( const char *  nm)

Definition at line 1638 of file symtab.cxx.

References EnumToStr_t(), ir_a2b::MapStrToEnum(), SCLASS_COUNT, and STSclassToNameTbl.

Here is the call graph for this function:

Definition at line 1706 of file symtab.cxx.

References EnumToStr_t(), ir_a2b::MapStrToEnum(), ST_ATTR_KIND_COUNT, and STATTR_ToStrTbl.

Here is the call graph for this function:

static void Pop_Equiv_Visit_Order ( UINT32  ty_index1,
UINT32  ty_index2 
) [static]

Definition at line 982 of file symtab.cxx.

References Ty_Equiv_Visit1, Ty_Equiv_Visit2, and Ty_Equiv_Visit_Number.

Referenced by TY_are_equivalent().

static BOOL Predefined_Void_Type ( TY_IDX  ty_idx) [inline, static]

Definition at line 3101 of file symtab.cxx.

References KIND_VOID, make_TY_IDX(), MTYPE_V, TY_IDX_index(), TY_kind(), TY_mtype(), and Ty_Table.

Referenced by Initialize_Special_Global_Symbols().

Here is the call graph for this function:

const char* Preg_Name ( PREG_NUM  i)

Definition at line 1366 of file symtab.cxx.

References Is_True, Last_Dedicated_Preg_Offset, PREG_name(), PREG_name_idx(), and Preg_Table.

Referenced by ir_put_wn(), W2CF_Symtab_Nameof_Preg(), and Whirl_Symbol_Type().

Here is the call graph for this function:

void Print_global_symtab ( FILE *  f)

Definition at line 2674 of file symtab.cxx.

References Blk_Table, DBar, File_info, For_all(), fprintf(), GLOBAL_SYMTAB, Inito_Table, FILE_INFO::Print(), Pu_Table, St_Attr_Table, St_Table, STR_Table_Size(), Tcon_Table, and Ty_Table.

Referenced by ir_b2a(), PDGCS_terminate(), and Print_symtab().

Here is the call graph for this function:

static void Print_TY_IDX_verbose ( FILE *  f,
TY_IDX  idx 
) [static]

Definition at line 2231 of file symtab.cxx.

References fprintf(), idx, name, Print_type_attributes(), TY_align(), TY_IDX_index(), TY_name(), TY_name_idx(), and Ty_Table.

Referenced by FLD::Print(), TY::Print(), and PU::Print().

Here is the call graph for this function:

static void Print_type_attributes ( FILE *  f,
TY_IDX  ty 
) [static]

Definition at line 2219 of file symtab.cxx.

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

Referenced by ST::Print(), and Print_TY_IDX_verbose().

Here is the call graph for this function:

TY_IDX Promoted_Parm_Type ( const ST formal_parm)

Definition at line 2810 of file symtab.cxx.

References Integer_type, Is_True, KIND_SCALAR, MTYPE_F8, MTYPE_float, MTYPE_To_TY, ST_is_value_parm(), ST_promote_parm(), ST_type(), TY_kind(), TY_mtype(), and TY_size().

Here is the call graph for this function:

const char* PU_FLAGS_To_Str ( UINT64  flags)

Definition at line 2159 of file symtab.cxx.

References ir_a2b::MapFlagsToStr(), and PUFLAGS_ToStrTbl.

Referenced by ST::Print().

Here is the call graph for this function:

Definition at line 3262 of file symtab.cxx.

References Pu_Table.

Definition at line 2176 of file symtab.cxx.

References ir_a2b::MapFlagsToStr(), and PUSRCLANGFLAGS_ToStrTbl.

Referenced by ST::Print().

Here is the call graph for this function:

static BOOL Push_Equiv_Visit_Order ( UINT32  ty_index1,
UINT32  ty_index2,
BOOL are_equiv 
) [static]
const char* Sclass_Name ( ST_SCLASS  sc)

Definition at line 1630 of file symtab.cxx.

References EnumToStr_t(), ir_a2b::MapEnumToStr(), SCLASS_COUNT, and STSclassToNameTbl.

Referenced by ST::Print(), ST_Verify_Class_Sclass(), ST_Verify_Flags(), and ST_Verify_Sclass_Export().

Here is the call graph for this function:

static void Setup_Preg_Pointers ( ) [static]

Definition at line 2917 of file symtab.cxx.

References Float32_Preg, Float64_Preg, Int32_Preg, Int64_Preg, Is_True, MTYPE_byte_size, MTYPE_FIRST, MTYPE_I4, MTYPE_LAST, MTYPE_signed, MTYPE_To_PREG, MTYPE_To_TY, MTYPE_U4, NULL, and ST_type().

Referenced by Create_All_Preg_Symbols().

Here is the call graph for this function:

Definition at line 1698 of file symtab.cxx.

References EnumToStr_t(), ir_a2b::MapEnumToStr(), ST_ATTR_KIND_COUNT, and STATTR_ToStrTbl.

Here is the call graph for this function:

const char* ST_EXT_FLAGS_To_Str ( UINT64  flags)

Definition at line 2057 of file symtab.cxx.

References ir_a2b::MapFlagsToStr(), and STEXTFLAGS_ToStrTbl.

Referenced by ST::Print().

Here is the call graph for this function:

const char* ST_FLAGS_To_Str ( UINT64  flags)

Definition at line 2040 of file symtab.cxx.

References ir_a2b::MapFlagsToStr(), and STFLAGS_ToStrTbl.

Referenced by ST::Print().

Here is the call graph for this function:

Definition at line 3258 of file symtab.cxx.

References St_Table.

Definition at line 180 of file symtab.cxx.

References CLASS_CONST, CLASS_VAR, FALSE, ST_is_const_var(), ST_sym_class(), and TRUE.

Referenced by Allocate_Object(), Assign_ST_To_Named_Section(), and WN_Can_Be_Speculative().

Here is the call graph for this function:

UINT64 Str_To_ARB_FLAGS ( const char *  str)

Definition at line 2099 of file symtab.cxx.

References ARBFLAGS_ToStrTbl, and ir_a2b::MapStrToFlags().

Here is the call graph for this function:

UINT64 Str_To_BLK_FLAGS ( const char *  str)

Definition at line 2203 of file symtab.cxx.

References BLKFLAGS_ToStrTbl, and ir_a2b::MapStrToFlags().

Here is the call graph for this function:

Definition at line 2031 of file symtab.cxx.

References FIFLAGS_ToStrTbl, FIFLAGS_ToStrTblSZ, and ir_a2b::MapStrToFlags().

Here is the call graph for this function:

UINT64 Str_To_FLD_FLAGS ( const char *  str)

Definition at line 2082 of file symtab.cxx.

References FLDFLAGS_ToStrTbl, and ir_a2b::MapStrToFlags().

Here is the call graph for this function:

UINT64 Str_To_LABEL_FLAGS ( const char *  str)

Definition at line 2116 of file symtab.cxx.

References LBLFLAGS_ToStrTbl, and ir_a2b::MapStrToFlags().

Here is the call graph for this function:

UINT64 Str_To_PU_FLAGS ( const char *  str)

Definition at line 2167 of file symtab.cxx.

References ir_a2b::MapStrToFlags(), and PUFLAGS_ToStrTbl.

Here is the call graph for this function:

Definition at line 2185 of file symtab.cxx.

References ir_a2b::MapStrToFlags(), and PUSRCLANGFLAGS_ToStrTbl.

Here is the call graph for this function:

UINT64 Str_To_ST_EXT_FLAGS ( const char *  str)

Definition at line 2065 of file symtab.cxx.

References ir_a2b::MapStrToFlags(), and STEXTFLAGS_ToStrTbl.

Here is the call graph for this function:

UINT64 Str_To_ST_FLAGS ( const char *  str)

Definition at line 2048 of file symtab.cxx.

References ir_a2b::MapStrToFlags(), and STFLAGS_ToStrTbl.

Here is the call graph for this function:

UINT64 Str_To_TY_FLAGS ( const char *  str)

Definition at line 2133 of file symtab.cxx.

References ir_a2b::MapStrToFlags(), and TYFLAGS_ToStrTbl.

Here is the call graph for this function:

UINT64 Str_To_TY_PU_FLAGS ( const char *  str)

Definition at line 2150 of file symtab.cxx.

References ir_a2b::MapStrToFlags(), and TYPUFLAGS_ToStrTbl.

Here is the call graph for this function:

static BOOL Struct_are_equivalent ( FLD_HANDLE  fld_id1,
FLD_HANDLE  fld_id2,
UINT32  flags 
) [static]

Definition at line 1116 of file symtab.cxx.

References FALSE, FLD_are_equivalent(), FLD_last_field(), Make_fld_iter(), and TRUE.

Referenced by TY_are_equivalent().

Here is the call graph for this function:

Definition at line 3264 of file symtab.cxx.

References Tcon_Table.

Definition at line 871 of file symtab.cxx.

References ARB_dimension(), ARB_ubnd_val(), TY_arb(), TY_etype(), TY_mtype(), and Ty_Table.

Referenced by TY_hash_func().

Here is the call graph for this function:

const char* TY_FLAGS_To_Str ( UINT64  flags)

Definition at line 2125 of file symtab.cxx.

References ir_a2b::MapFlagsToStr(), and TYFLAGS_ToStrTbl.

Referenced by TY::Print().

Here is the call graph for this function:

Definition at line 3259 of file symtab.cxx.

References Ty_Table.

Definition at line 847 of file symtab.cxx.

References Make_tylist_iter(), MTYPE_LAST, TY_mtype(), Ty_Table, and TY_tylist().

Referenced by TY_hash_func().

Here is the call graph for this function:

static TY_IDX TY_is_unique_op ( const TY_IDX  ty_idx,
HASH_TY_TABLE hash_ty_table 
) [inline, static]

Definition at line 1292 of file symtab.cxx.

References stlCompatibility::HashTable< Key, Value, KeyHash, KeyEq >::insert(), Set_TY_IDX_index(), and TY_IDX_index().

Referenced by TY_is_unique().

Here is the call graph for this function:

static const char* TY_kind_name ( const TY ty) [static]

Definition at line 2246 of file symtab.cxx.

References Kind_Name(), KIND_SCALAR, MTYPE_name, MTYPE_UNKNOWN, TY_kind(), and TY_mtype().

Referenced by ST::Print().

Here is the call graph for this function:

UINT TY_log_base2 ( UINT  align)

Definition at line 248 of file symtab.cxx.

References Is_True, and result.

Referenced by Set_STB_align(), and Set_TY_align().

TY_IDX TY_pointer ( TY_IDX  pointee,
BOOL  f90_pointer 
)

Definition at line 437 of file symtab.cxx.

References Find_Ty_Pointer(), result, TY_IS_F90_POINTER, and Update_Pointer_Map().

Referenced by W2CF_TRANSLATOR::Get_Pointer_To(), and make_ptr_type().

Here is the call graph for this function:

const char* TY_PU_FLAGS_To_Str ( UINT64  flags)

Definition at line 2142 of file symtab.cxx.

References ir_a2b::MapFlagsToStr(), and TYPUFLAGS_ToStrTbl.

Here is the call graph for this function:

size_t TY_struct_hash ( const TY ty) [inline]

Definition at line 884 of file symtab.cxx.

References TY_name_idx(), and TY_size().

Referenced by TY_hash_func().

Here is the call graph for this function:

BOOL TYLIST_are_equivalent ( TYLIST_IDX  tylist_id1,
TYLIST_IDX  tylist_id2,
UINT32  flags 
)

Definition at line 1139 of file symtab.cxx.

References FALSE, TRUE, TY_are_equivalent(), and Tylist_Table.

Referenced by TY_are_equivalent().

Here is the call graph for this function:

Definition at line 3267 of file symtab.cxx.

References Tylist_Table.

static void Update_Pointer_Map ( ) [static]

Definition at line 400 of file symtab.cxx.

References DevWarn(), For_all_entries(), Invalid_Pointer_Map_Entry(), last_valid_map_entry, TY_IDX_index(), Ty_tab, and Validate_Pointer_Map().

Referenced by TY_pointer().

Here is the call graph for this function:

static string utoa ( UINT64  i) [static]

Definition at line 451 of file symtab.cxx.

References val.

Referenced by get_TY_string(), and Make_Shared_Type().

static void Validate_Pointer_Map ( ) [static]

Variable Documentation

Initial value:
 
  (sizeof(ARBFLAGS_ToStrTbl) / sizeof(FlagToStr_t))

Definition at line 1868 of file symtab.cxx.

Initial value:
 
  (sizeof(BLKFLAGS_ToStrTbl) / sizeof(FlagToStr_t))

Definition at line 2018 of file symtab.cxx.

Definition at line 82 of file symtab.cxx.

Referenced by Get_Current_PU(), Preprocess_PU(), and Read_Local_Info().

Definition at line 2848 of file symtab.cxx.

Definition at line 2848 of file symtab.cxx.

Initial value:
 
  (sizeof(FIFLAGS_ToStrTbl) / sizeof(FlagToStr_t))

Definition at line 1754 of file symtab.cxx.

Referenced by FILE_INFO_FLAGS_To_Str(), and Str_To_FILE_INFO_FLAGS().

Initial value:
 
  (sizeof(FLDFLAGS_ToStrTbl) / sizeof(FlagToStr_t))

Definition at line 1848 of file symtab.cxx.

Definition at line 2844 of file symtab.cxx.

Definition at line 932 of file symtab.cxx.

Referenced by TY_is_unique().

Definition at line 935 of file symtab.cxx.

Referenced by TY_is_unique().

Definition at line 934 of file symtab.cxx.

Referenced by TY_is_unique().

Definition at line 931 of file symtab.cxx.

Referenced by TY_is_unique().

Definition at line 933 of file symtab.cxx.

Referenced by TY_is_unique().

Definition at line 2844 of file symtab.cxx.

Referenced by Allocate_All_Formals().

std::vector<ST *> intrinsic_list [static]

Definition at line 693 of file symtab.cxx.

Referenced by INTRINSIC_LIST_add(), and INTRINSIC_LIST_lookup().

Initial value:
 
  (sizeof(LBLFLAGS_ToStrTbl) / sizeof(FlagToStr_t))

Definition at line 1882 of file symtab.cxx.

INT Max_scope = 8 [static]

Definition at line 2855 of file symtab.cxx.

Definition at line 2842 of file symtab.cxx.

Definition at line 2846 of file symtab.cxx.

Definition at line 76 of file symtab.cxx.

Referenced by Preg_Name().

Definition at line 1937 of file symtab.cxx.

Referenced by PU_FLAGS_To_Str(), and Str_To_PU_FLAGS().

Initial value:
 
  (sizeof(PUFLAGS_ToStrTbl) / sizeof(FlagToStr_t))

Definition at line 1981 of file symtab.cxx.

Initial value:
 
  (sizeof(PUSRCLANGFLAGS_ToStrTbl) / sizeof(FlagToStr_t))

Definition at line 1999 of file symtab.cxx.

Definition at line 2848 of file symtab.cxx.

Definition at line 65 of file symtab.cxx.

Referenced by Calc_Local_Area(), Change_ST_Of_Current_PU(), Change_Type_To_Shared(), Copy_ST(), Copy_ST_No_Base(), Create_Preg(), cwh_auxst_register_table(), cwh_auxst_un_register_table(), cwh_stab_common_ST(), Delete_Scope(), DRA_Add_Clone(), DST_enter_cloned_childs(), DST_enter_cloned_subroutine(), DST_enter_inlined_subroutine(), Early_Terminate(), fei_gen_st_for_type(), fei_object(), fei_proc_def(), fei_proc_parent(), fei_seg(), fei_user_type(), For_all(), For_all_until(), Get_Current_PU(), Get_Current_PU_ST(), SAVED_SCOPE::Get_Scope(), Get_Scope_PU(), Initialize_Symbol_Tables(), INITO_Table_Size(), ir_b2a_process_PUs(), ir_b_write_global_symtab(), LABEL_Table_Size(), main(), Make_inito_iter(), Make_label_iter(), Make_preg_iter(), Make_st_attr_iter(), Make_st_iter(), New_INITO(), New_LABEL(), New_PREG(), New_Scope(), New_ST(), New_ST_ATTR(), LABEL_TABLE::operator()(), PREG_TABLE::operator()(), ST_ATTR_TABLE::operator()(), write_st::operator()(), LABEL_TABLE::operator[](), PREG_TABLE::operator[](), ST_ATTR_TABLE::operator[](), PDGCS_do_proc(), Postprocess_PU(), PREG_Table_Size(), Preorder_Process_PUs(), Preprocess_PU(), Print_Inits(), Print_PU_Stats(), Print_symtab(), Read_Local_Info(), Reset_PREG_Table_Size(), Reset_ST_ATTR_Table_Size(), Restore_Local_Symtab(), Save_Local_Symtab(), SCOPE_CONTEXT::SCOPE_CONTEXT(), ST2F_Declare_Tempvar(), ST_ATTR_Table_Size(), ST_Table_Size(), Verify_GLOBAL_SYMTAB(), Verify_SYMTAB(), WN2F_Exit_PU_Block(), WN_get_global_symtab(), WN_get_symtab(), WN_Rename_Duplicate_Labels(), WN_write_symtab(), and SCOPE_CONTEXT::~SCOPE_CONTEXT().

Definition at line 2849 of file symtab.cxx.

Definition at line 2849 of file symtab.cxx.

Referenced by Allocate_Local_Spill_Sym().

Definition at line 67 of file symtab.cxx.

Referenced by Append_CallSite(), Collect_Goodies(), Copy_ST(), Copy_ST_No_Base(), cwh_data_emit_symbol_inits(), cwh_dst_enter_pu(), cwh_dst_subrange(), cwh_dst_substring_type(), cwh_types_array_temp_TY(), cwh_types_bound_WN(), DRA_EC_Array_Portion_Parms(), DST_enter_cloned_childs(), dump_st(), ANL_FUNC_ENTRY::Emit_Original_Construct(), fei_proc_body(), Fill_Align_Symbol(), Find_Address_Base(), Find_Alloca(), Find_Insertion_Point(), Find_Slink_Symbol(), Find_Special_Return_Address_Symbol(), IPO_CLONE::Fix_ST(), Free_Local_Info(), Get_Array_Dim_Size(), INITO_st(), INITV2C_symoff(), INITVKIND_translate(), ir_b2a_process_PUs(), ir_put_st(), ir_put_wn(), Pad_Global_Arrays(), PDGCS_do_proc(), ST::Print(), Print_global_symtab(), IPO_SYMTAB::Promote_Statics(), Prompf_Emit_Whirl_to_Source(), PUinfo_init_pu(), Read_Local_Info(), ReorderParms(), Restore_Local_Symtab(), Save_Local_Symtab(), Set_up_all_preg_symbols(), ST_base(), ST_class(), ST_from_IDX(), ST_full(), St_Idx_Is_Intconst(), ST_name(), ST_ptr(), ST_pu_type(), ST_sclass(), ST_strong(), ST_type(), ST_Verify_Sclass_Export(), Symbol_Name(), INITO::Verify(), ST_ATTR::Verify(), Verify_GLOBAL_SYMTAB(), W2F_Enter_Global_Symbols(), WN2C_call(), WN2C_func_entry(), WN2F_Append_Block_Data(), WN2F_Append_Symtab_Vars(), WN2F_call(), WN2F_Entry_Point(), WN2F_Exit_PU_Block(), WN2F_interface_blk(), WN2F_parm(), WN_CreateLdid(), WN_CreatePStid(), WN_CreateStid(), WN_get_proc_sym(), WN_pragma_asm_constraint(), WN_st(), and WN_write_symtab().

Initial value:
 {
  EnumToStr_t(CLASS_UNK,       "C_UNK"),
  EnumToStr_t(CLASS_VAR,       "C_VAR"),
  EnumToStr_t(CLASS_FUNC,      "C_FUNC"),
  EnumToStr_t(CLASS_CONST,     "C_CONST"),
  EnumToStr_t(CLASS_PREG,      "C_PREG"),
  EnumToStr_t(CLASS_BLOCK,     "C_BLOCK"),
  EnumToStr_t(CLASS_NAME,      "C_NAME"),
  EnumToStr_t(CLASS_MODULE,    "C_MODULE"),
  EnumToStr_t(CLASS_TYPE,      "C_TYPE"),
  EnumToStr_t(CLASS_PARAMETER, "C_PARAMETER")
}

Definition at line 1527 of file symtab.cxx.

Referenced by Class_Name(), and Name_To_Class().

Initial value:
 {
  EnumToStr_t(EXPORT_LOCAL,          "X_LOCAL"),
  EnumToStr_t(EXPORT_LOCAL_INTERNAL, "X_LOCAL_INTERNAL"),
  EnumToStr_t(EXPORT_INTERNAL,       "X_INTERNAL"),
  EnumToStr_t(EXPORT_HIDDEN,         "X_HIDDEN"),
  EnumToStr_t(EXPORT_PROTECTED,      "X_PROTECTED"),
  EnumToStr_t(EXPORT_PREEMPTIBLE,    "X_PREEMPTIBLE"),
  EnumToStr_t(EXPORT_OPTIONAL,       "X_OPTIONAL"),
  EnumToStr_t(EXPORT_INTRINSIC,       "X_INTRINSIC"),
}

Definition at line 1563 of file symtab.cxx.

Referenced by Export_Name(), and Name_To_Export().

Initial value:
 
  (sizeof(STEXTFLAGS_ToStrTbl) / sizeof(FlagToStr_t))

Definition at line 1829 of file symtab.cxx.

Definition at line 1762 of file symtab.cxx.

Referenced by ST_FLAGS_To_Str(), and Str_To_ST_FLAGS().

Initial value:
 
  (sizeof(STFLAGS_ToStrTbl) / sizeof(FlagToStr_t))

Definition at line 1797 of file symtab.cxx.

Initial value:
 {
  EnumToStr_t(SCLASS_UNKNOWN,   "S_UNKNOWN"),
  EnumToStr_t(SCLASS_AUTO,      "S_AUTO"),
  EnumToStr_t(SCLASS_FORMAL,    "S_FORMAL"),
  EnumToStr_t(SCLASS_FORMAL_REF,"S_FORMAL_REF"),
  EnumToStr_t(SCLASS_PSTATIC,   "S_PSTATIC"),
  EnumToStr_t(SCLASS_FSTATIC,   "S_FSTATIC"),
  EnumToStr_t(SCLASS_COMMON,    "S_COMMON"),
  EnumToStr_t(SCLASS_EXTERN,    "S_EXTERN"),
  EnumToStr_t(SCLASS_UGLOBAL,   "S_UGLOBAL"),
  EnumToStr_t(SCLASS_DGLOBAL,   "S_DGLOBAL"),
  EnumToStr_t(SCLASS_TEXT,      "S_TEXT"),
  EnumToStr_t(SCLASS_REG,       "S_REG"),
  EnumToStr_t(SCLASS_CPLINIT,   "S_CPLINIT"),
  EnumToStr_t(SCLASS_EH_REGION, "S_EH_REGION"),
  EnumToStr_t(SCLASS_EH_REGION_SUPP, "S_EH_REGION_SUPP"),
  EnumToStr_t(SCLASS_DISTR_ARRAY, "S_DISTR_ARRAY"),
  EnumToStr_t(SCLASS_COMMENT,   "S_COMMENT"),
  EnumToStr_t(SCLASS_THREAD_PRIVATE_FUNCS, "S_THREAD_PRIVATE_FUNCS"),
  EnumToStr_t(SCLASS_MODULE,    "S_MODULE"),
  EnumToStr_t(SCLASS_COMMON1,   "S_COMMON1"),
}

Definition at line 1540 of file symtab.cxx.

Referenced by Name_To_Sclass(), and Sclass_Name().

Definition at line 946 of file symtab.cxx.

Referenced by Pop_Equiv_Visit_Order(), and Push_Equiv_Visit_Order().

Definition at line 947 of file symtab.cxx.

Referenced by Pop_Equiv_Visit_Order(), and Push_Equiv_Visit_Order().

Definition at line 948 of file symtab.cxx.

Referenced by Pop_Equiv_Visit_Order(), and Push_Equiv_Visit_Order().

Definition at line 503 of file symtab.cxx.

Referenced by Make_Shared_Type().

Definition at line 69 of file symtab.cxx.

Referenced by Adjusted_Alignment(), Array_TY_OK(), Clear_TY_anonymous(), Clear_TY_AR_const_lbnd(), Clear_TY_AR_const_stride(), Clear_TY_AR_const_ubnd(), Clear_TY_has_prototype(), Clear_TY_is_character(), Clear_TY_is_co_array(), Clear_TY_is_external(), Clear_TY_is_f90_assumed_shape(), Clear_TY_is_f90_assumed_size(), Clear_TY_is_f90_deferred_shape(), Clear_TY_is_f90_pointer(), Clear_TY_is_logical(), Clear_TY_is_non_pod(), Clear_TY_is_packed(), Clear_TY_is_relaxed(), Clear_TY_is_sequence(), Clear_TY_is_shared(), Clear_TY_is_strict(), Clear_TY_is_union(), Clear_TY_is_varargs(), Clear_TY_is_written(), Clear_TY_no_ansi_alias(), Clear_TY_not_in_union(), Clear_TY_ptr_as_array(), Clear_TY_return_in_mem(), Clear_TY_return_to_param(), Clear_TY_split(), Construct_Fld_Path(), Copy_TY(), cwh_addr_array(), cwh_addr_array1(), cwh_addr_compute_stride_fudge_factor(), cwh_addr_temp_section(), cwh_auxst_set_tylist(), cwh_cray_type_from_TY(), cwh_dope_get_dope_fudge_factor(), cwh_dope_initialize(), cwh_dst_array_type(), cwh_dst_basetype(), cwh_dst_dope_bounds(), cwh_dst_has_dope(), cwh_dst_is_character_TY(), cwh_dst_stride_kind(), cwh_dst_struct_has_DST(), cwh_dst_struct_type(), cwh_inline_allocate(), cwh_io_ioitem(), cwh_stab_altres_offset(), cwh_stab_split_ST(), cwh_types_array_TY(), cwh_types_array_util(), cwh_types_dope_basic_TY(), cwh_types_dope_dims_FLD(), cwh_types_dope_rank(), cwh_types_dope_TY(), cwh_types_form_misaligned_TY(), cwh_types_is_character(), cwh_types_is_character_function(), cwh_types_is_logical(), cwh_types_mk_character_TY(), cwh_types_mk_element(), cwh_types_mk_f90_pointer_ty(), cwh_types_mk_logical_TY(), cwh_types_mk_misaligned_TY(), cwh_types_mk_namelist_TY(), cwh_types_mk_procedure_TY(), cwh_types_mk_struct(), cwh_types_mk_unique_pointer_TY(), cwh_types_scalar_TY(), cwh_types_shared_dope(), cwh_types_WN_TY(), DRA_EC_Array_Portion_Parms(), DRA_EC_Declare_Types(), DRA_Encode_Parameter(), DRA_Preprocess_Call_Site(), DRA_Preprocess_Entry(), dump_ty(), Equivalent_Types(), fei_array_dimen(), fei_co_array_dimen(), fei_dv_deref(), fei_get_pdg_type(), fei_member(), fei_nseq_subscr(), fei_pstore(), fei_redistribute(), fei_set_dv_hdr_fld(), fei_static_subscripts(), fei_store(), fei_user_type(), WN_Verifier::Field_id_valid(), Fill_Align_Symbol(), Find_Upc_Vars(), Unparse_Target_FTN::Func_Return_Character(), Unparse_Target_C::Func_Return_To_Param(), Unparse_Target_FTN::Func_Return_To_Param(), Unparse_Target_C::Func_Return_Type(), Get_Array_Dim_Size(), Get_Return_Info(), INIT2F_Get_Array_Segment(), INIT2F_structured(), INIT2F_translate(), Initialize_Special_Global_Symbols(), INITV2C_block_struct(), INITV2C_block_union(), INITVKIND_const(), INITVKIND_ty(), INITVKIND_val(), Invalid_Pointer_Map_Entry(), Is_Composite_Type(), is_f90_pointer(), WN_Verifier::Is_return_register_of_call(), Is_Simple_Type(), Is_Structure_Type(), Known_Size(), WN_Verifier::LDA_ty_not_NULL(), Make_ty_iter(), New_DRA(), Predefined_Void_Type(), ST::Print(), Print_global_symtab(), Print_TY(), Print_TY_IDX_verbose(), ReorderParms(), Set_TY_anonymous(), Set_TY_AR_const_lbnd(), Set_TY_AR_const_stride(), Set_TY_AR_const_ubnd(), Set_TY_AR_lbnd_val(), Set_TY_AR_lbnd_var(), Set_TY_AR_stride_val(), Set_TY_AR_stride_var(), Set_TY_AR_ubnd_val(), Set_TY_AR_ubnd_var(), Set_TY_arb(), Set_TY_block_size(), Set_TY_copy_constructor(), Set_TY_etype(), Set_TY_flags(), Set_TY_fld(), Set_TY_has_prototype(), Set_TY_is_character(), Set_TY_is_co_array(), Set_TY_is_external(), Set_TY_is_f90_assumed_shape(), Set_TY_is_f90_assumed_size(), Set_TY_is_f90_deferred_shape(), Set_TY_is_f90_pointer(), Set_TY_is_logical(), Set_TY_is_non_pod(), Set_TY_is_packed(), Set_TY_is_relaxed(), Set_TY_is_sequence(), Set_TY_is_shared(), Set_TY_is_strict(), Set_TY_is_union(), Set_TY_is_varargs(), Set_TY_is_written(), Set_TY_kind(), Set_TY_mtype(), Set_TY_name_idx(), Set_TY_no_ansi_alias(), Set_TY_not_in_union(), Set_TY_pointed(), Set_TY_ptr_as_array(), Set_TY_return_in_mem(), Set_TY_return_to_param(), Set_TY_size(), Set_TY_split(), Set_TY_tylist(), Set_up_all_preg_symbols(), ST2C_Get_Common_Ty2c_List(), ST2F_decl_var(), ST2F_use_const(), ST_mtype(), Stab_Compare_Types(), Stab_finalize(), Stab_Get_Mload_Ty(), Stab_Is_Equivalence_Block(), Stab_Is_Equivalenced_Struct(), TY2C_complete_struct(), TY2C_get_field_info(), TY2C_Translate_Structure(), TY2F_2_struct(), TY2F_array(), TY2F_array_for_pointer(), TY2F_Declare_Common_Flds(), TY2F_Equivalence_FldList(), TY2F_Equivalence_List(), TY2F_Get_Fld_Path(), TY2F_invalid(), TY2F_List_Common_Flds(), TY2F_scalar(), TY2F_struct(), TY2F_translate(), TY2F_Translate_Common(), TY2F_Translate_Equivalence(), TY2F_Translate_Purple_Array(), TY2F_Translate_Structure(), TY2F_void(), TY_anonymous(), TY_AR_const_lbnd(), TY_AR_const_stride(), TY_AR_const_ubnd(), TY_AR_etype(), TY_AR_last_dimen(), TY_AR_lbnd_val(), TY_AR_lbnd_var(), TY_AR_ndims(), TY_AR_stride_val(), TY_AR_stride_var(), TY_AR_ubnd_val(), TY_AR_ubnd_var(), TY_arb(), TY_are_equivalent(), TY_array_hash(), TY_block_size(), TY_copy_constructor(), TY_etype(), TY_flags(), TY_fld(), TY_from_IDX(), TY_fun_hash(), TY_has_prototype(), TY_hash_func(), TY_is_character(), TY_is_co_array(), TY_is_external(), TY_is_f90_assumed_shape(), TY_is_f90_assumed_size(), TY_is_f90_deferred_shape(), TY_is_f90_pointer(), TY_is_logical(), TY_is_non_pod(), TY_is_packed(), TY_is_relaxed(), TY_is_sequence(), TY_is_shared(), TY_is_strict(), TY_is_union(), TY_is_unique(), TY_is_varargs(), TY_is_written(), TY_kind(), TY_mtype(), TY_name(), TY_name_idx(), TY_no_ansi_alias(), TY_not_in_union(), TY_Of_Expr(), TY_parms(), TY_pointed(), TY_ptr_as_array(), TY_ret_type(), TY_return_in_mem(), TY_return_to_param(), TY_size(), TY_split(), TY_tylist(), Upc_Lower_SymbolTable(), Verify_GLOBAL_SYMTAB(), W2C_Enter_Global_Symbols(), W2C_Translate_Istore_Lhs(), W2F_Enter_Global_Symbols(), WN2C_Append_Symtab_Types(), WN2C_array(), WN2C_ldid(), WN2F_array(), WN2F_arrsection(), WN2F_Get_Substring_Info(), WN2F_istore(), WN2F_ldid(), WN2F_parm(), WN2F_pstid(), WN2F_pstore(), WN2F_stid(), WN_Is_Volatile_Mem(), WN_object_ty(), and WN_Tree_Type().

Initial value:
 
  (sizeof(TYFLAGS_ToStrTbl) / sizeof(FlagToStr_t))

Definition at line 1915 of file symtab.cxx.

Initial value:
 {
  EnumToStr_t(KIND_INVALID,  "INVALID"),
  EnumToStr_t(KIND_SCALAR,   "SCALAR"),
  EnumToStr_t(KIND_ARRAY,    "ARRAY"),
  EnumToStr_t(KIND_STRUCT,   "STRUCT"),
  EnumToStr_t(KIND_POINTER,  "POINTER"),
  EnumToStr_t(KIND_FUNCTION, "FUNCTION"),
  EnumToStr_t(KIND_VOID,     "VOID"),
}

Definition at line 1574 of file symtab.cxx.

Referenced by Kind_Name(), and Name_To_Kind().

Initial value:
 
  (sizeof(TYPUFLAGS_ToStrTbl) / sizeof(FlagToStr_t))

Definition at line 1929 of file symtab.cxx.

Definition at line 2848 of file symtab.cxx.

Referenced by Unparse_Target_C::Func_Return_Type(), and INITVKIND_ty().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines