Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
cwh_dst.cxx File Reference
#include <limits.h>
#include <sys/stat.h>
#include <unistd.h>
#include "x_stdio.h"
#include "x_string.h"
#include "defs.h"
#include "glob.h"
#include "errors.h"
#include "wn.h"
#include "dwarf_DST_producer.h"
#include "dwarf_DST_dump.h"
#include "config_targ.h"
#include "file_util.h"
#include "cwh_defines.h"
#include "cwh_dst.h"
#include "cwh_dst.i"
#include "cwh_preg.h"
#include "cwh_stab.h"
#include "cwh_auxst.h"
#include "cwh_types.h"
#include "sgi_cmd_line.h"
Include dependency graph for cwh_dst.cxx:

Go to the source code of this file.

Functions

void cwh_dst_init_file (char *src_path)
void cwh_dst_write (void)
static void cwh_dst_process_var (UINT32, ST *st)
static void cwh_dst_mk_const (ST *st, DST_INFO_IDX parent)
DST_IDX cwh_dst_enter_pu (ST *en)
static DST_IDX cwh_dst_mk_func (ST *st)
static void cwh_dst_mk_MAIN (ST *mn, DST_INFO_IDX en_idx)
static void cwh_dst_mk_var (ST *st, DST_INFO_IDX parent)
static DST_INFO_IDX cwh_dst_mk_variable (ST *st)
static DST_INFO_IDX cwh_dst_mk_formal (ST *st)
static DST_INFO_IDX cwh_dst_mk_common_inclusion (ST *com, DST_INFO_IDX c)
static DST_INFO_IDX cwh_dst_mk_common (ST *st)
static DST_INFO_IDX cwh_dst_mk_type (TY_IDX ty)
static DST_INFO_IDX cwh_dst_basetype (TY_IDX ty)
static DST_INFO_IDX cwh_dst_pointer_type (TY_IDX ty)
static DST_INFO_IDX cwh_dst_mk_subroutine_type (TY_IDX ty)
static DST_INFO_IDX cwh_dst_array_type (TY_IDX ty)
static DST_INFO_IDX cwh_dst_struct_type (TY_IDX ty)
static DST_INFO_IDX cwh_dst_substring_type (TY_IDX ty)
static BOOL cwh_dst_is_character_TY (TY_IDX ty)
static DST_INFO_IDX cwh_dst_dope_type (TY_IDX td, ST *st, mINT64 off, DST_INFO_IDX parent, BOOL comp, DST_INFO_IDX *dope_ty)
static void cwh_dst_dope_bounds (TY_IDX td, ST *st, mINT64 off, DST_INFO_IDX arr, DST_INFO_IDX p, BOOL comp)
static enum str_knd cwh_dst_stride_kind (TY_IDX ty)
static DST_INFO_IDX cwh_dst_member (FLD_HANDLE fld, DST_INFO_IDX parent)
static DST_INFO_IDX cwh_dst_struct_has_DST (TY_IDX ty)
static void cwh_dst_struct_set_DST (TY_IDX ty, DST_INFO_IDX i)
static void cwh_dst_struct_clear_DSTs (void)
static void cwh_dst_inner_add_DST (DST_INFO_IDX i)
static void cwh_dst_inner_clear_DSTs (void)
static void cwh_dst_inner_read_DSTs (DST_INFO_IDX parent)
static DST_INFO_IDX cwh_dst_subrange (ARB_HANDLE ar)
static DST_INFO_IDX cwh_dst_mk_dope_bound (ST *dp, mINT64 offset, DST_INFO_IDX t, DST_INFO_IDX p, BOOL component)
static BOOL cwh_dst_has_dope (TY_IDX ty)
static INT32 DST_set_assoc_idx (INT32 dummy, DST_DW_tag tag, DST_flag flag, DST_ATTR_IDX iattr, DST_INFO_IDX inode)
static mUINT16 DST_get_ordinal_num (char *the_name, char ***the_list, mUINT16 *the_next, mUINT16 *the_size)
static DST_FILE_IDX DST_write_files (void)
static void DST_directory_of (char *file_path, char **dir_name, UINT32 *dir_length)
static DST_DIR_IDX DST_write_directories (void)
mUINT16 cwh_dst_enter_path (char *fname)
static char * cwh_dst_get_command_line_options (void)
static char Get_ST_Id (ST_IDX st_idx, INT *level, INT *index)
char * cwh_dst_filename_from_filenum (INT idx)

Variables

static char * source_file = __FILE__
char * FE_command_line = NULL

Function Documentation

mUINT16 cwh_dst_enter_path ( char *  fname)

Definition at line 2110 of file cwh_dst.cxx.

References DST_get_ordinal_num(), file_list, file_list_size, free(), idx, Make_Absolute_Path(), and next_file_idx.

Referenced by cwh_dst_init_file(), cwh_stab_set_linenum(), and cwh_stmt_init_srcpos().

Here is the call graph for this function:

static char* cwh_dst_get_command_line_options ( void  ) [static]

Definition at line 2145 of file cwh_dst.cxx.

References Debug_Level, endcp, FE_command_line, free(), fstat, NULL, save_argc, save_argv, stat, strcpy, and ux_fileno().

Referenced by cwh_dst_init_file().

Here is the call graph for this function:

static BOOL cwh_dst_has_dope ( TY_IDX  ty) [static]

Definition at line 1785 of file cwh_dst.cxx.

References FALSE, FLD_next(), FLD_type(), GET_DOPE_BOUNDS, IS_DOPE_TY, FLD_HANDLE::Is_Null(), KIND_POINTER, KIND_STRUCT, TRUE, TY_fld(), TY_kind(), TY_pointed(), and Ty_Table.

Referenced by cwh_dst_mk_common(), and cwh_dst_mk_var().

Here is the call graph for this function:

void cwh_dst_init_file ( char *  src_path)
static void cwh_dst_inner_add_DST ( DST_INFO_IDX  i) [static]

Definition at line 1575 of file cwh_dst.cxx.

References Inner_Current_Size, INNER_DST_SIZE_CHANGE, Inner_DSTs, and Inner_Top.

Referenced by cwh_dst_enter_pu().

static void cwh_dst_inner_clear_DSTs ( void  ) [static]

Definition at line 1597 of file cwh_dst.cxx.

References Inner_Top.

Referenced by cwh_dst_enter_pu().

static void cwh_dst_inner_read_DSTs ( DST_INFO_IDX  parent) [static]

Definition at line 1612 of file cwh_dst.cxx.

References DST_append_child(), Inner_DSTs, and Inner_Top.

Referenced by cwh_dst_enter_pu().

Here is the call graph for this function:

static BOOL cwh_dst_is_character_TY ( TY_IDX  ty) [static]

Definition at line 1149 of file cwh_dst.cxx.

References DevAssert, FALSE, KIND_ARRAY, KIND_SCALAR, TRUE, TY_AR_etype(), TY_is_character(), TY_kind(), and Ty_Table.

Referenced by cwh_dst_array_type().

Here is the call graph for this function:

static DST_INFO_IDX cwh_dst_mk_common_inclusion ( ST com,
DST_INFO_IDX  c 
) [static]

Definition at line 756 of file cwh_dst.cxx.

References DST_mk_common_incl(), GET_ST_LINENUM, and s.

Referenced by cwh_dst_mk_var().

Here is the call graph for this function:

static void cwh_dst_mk_MAIN ( ST mn,
DST_INFO_IDX  en_idx 
) [static]
static DST_INFO_IDX cwh_dst_pointer_type ( TY_IDX  ty) [static]

Definition at line 953 of file cwh_dst.cxx.

References current_scope_idx, cwh_dst_mk_type(), DST_append_child(), DST_mk_pointer_type(), DW_ADDR_none, TY_pointed(), and TY_size().

Referenced by cwh_dst_mk_type().

Here is the call graph for this function:

static void cwh_dst_process_var ( UINT32  ,
ST st 
) [static]

Definition at line 158 of file cwh_dst.cxx.

References CLASS_CONST, CLASS_VAR, current_scope_idx, cwh_dst_mk_const(), cwh_dst_mk_var(), and ST_class().

Referenced by cwh_dst_enter_pu().

Here is the call graph for this function:

static void cwh_dst_struct_clear_DSTs ( void  ) [static]

Definition at line 1560 of file cwh_dst.cxx.

References Struct_Top.

Referenced by cwh_dst_enter_pu().

static void cwh_dst_struct_set_DST ( TY_IDX  ty,
DST_INFO_IDX  i 
) [static]
static void DST_directory_of ( char *  file_path,
char **  dir_name,
UINT32 dir_length 
) [static]

Definition at line 2064 of file cwh_dst.cxx.

References ux_strdup().

Referenced by DST_write_files().

Here is the call graph for this function:

static mUINT16 DST_get_ordinal_num ( char *  the_name,
char ***  the_list,
mUINT16 the_next,
mUINT16 the_size 
) [static]

Definition at line 1968 of file cwh_dst.cxx.

References DST_NAME_TABLE_SIZE, idx, next, NULL, and size.

Referenced by cwh_dst_enter_path(), and DST_write_files().

static DST_DIR_IDX DST_write_directories ( void  ) [static]

Definition at line 2085 of file cwh_dst.cxx.

References dir_list, DST_INVALID_INIT, DST_mk_include_dir(), and next_dir_idx.

Referenced by cwh_dst_write().

Here is the call graph for this function:

static DST_FILE_IDX DST_write_files ( void  ) [static]

Definition at line 2015 of file cwh_dst.cxx.

References dir_list, dir_list_size, DST_directory_of(), DST_get_ordinal_num(), DST_INVALID_INIT, DST_mk_file_name(), file_list, next_dir_idx, next_file_idx, and stat.

Referenced by cwh_dst_write().

Here is the call graph for this function:

static char Get_ST_Id ( ST_IDX  st_idx,
INT level,
INT index 
) [static]

Definition at line 2257 of file cwh_dst.cxx.

References NULL, ST_IDX_index(), and ST_IDX_level().

Referenced by DST_set_assoc_idx().

Here is the call graph for this function:


Variable Documentation

char* source_file = __FILE__ [static]

Definition at line 60 of file cwh_dst.cxx.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines