osprey/wgen/wgen_dst.cxx File Reference

#include "gspin-wgen-interface.h"
#include <values.h>
#include "defs.h"
#include "glob.h"
#include "config.h"
#include "dwarf_DST_producer.h"
#include "dwarf_DST_dump.h"
#include "file_util.h"
#include "srcpos.h"
#include "symtab.h"
#include "wgen_misc.h"
#include "wgen_dst.h"
#include "wgen_expr.h"
#include "wgen_spin_symbol.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/param.h>
#include <unistd.h>
#include <string>
#include <vector>
#include <map>

Include dependency graph for wgen_dst.cxx:

Go to the source code of this file.

Defines

#define MAX_CWD_CHARS   (256 - (MAXHOSTNAMELEN+1))
#define DANAME(d)

Typedefs

typedef std::map< std::string,
DST_INFO_IDX
DST_Type_Map

Functions/Subroutines

static void DST_enter_file (char *, UINT)
static DST_INFO_IDX DST_Create_var (ST *var_st, gs_t decl)
static DST_INFO_IDX DST_Create_Parmvar (ST *var_st, gs_t decl)
static DST_INFO_IDX DST_Create_type (ST *typ_decl, gs_t decl)
static void DST_enter_param_vars (gs_t fndecl, DST_INFO_IDX parent, gs_t parameter_list, int is_abstract_root, int is_declaration_only)
static DST_INFO_IDX DST_get_context (gs_t intree)
static UINT Get_Dir_Dst_Info (char *name)
static UINT Get_File_Dst_Info (char *name, UINT dir)
static char * drop_path (char *s)
static char * DST_get_command_line_options (INT32 num_copts, char *copts[])
static char * Get_Name (gs_t node)
static void DST_enter_static_data_mem (gs_t parent_tree, DST_INFO_IDX parent_idx, TY_IDX parent_ty_idx, gs_t field)
static void DST_enter_member_function (gs_t parent_tree, DST_INFO_IDX parent_idx, TY_IDX parent_ty_idx, gs_t fndecl)
static void DST_enter_normal_field (gs_t parent_tree, DST_INFO_IDX parent_idx, TY_IDX parent_ty_idx, gs_t field)
static void DST_enter_struct_union_members (gs_t parent_tree, DST_INFO_IDX parent_idx)
static DST_INFO_IDX DST_enter_struct_union (gs_t type_tree, TY_IDX ttidx, TY_IDX idx, INT tsize)
static DST_INFO_IDX DST_enter_enum (gs_t type_tree, TY_IDX ttidx, TY_IDX idx, INT tsize)
static DST_INFO_IDX DST_enter_array_type (gs_t type_tree, TY_IDX ttidx, TY_IDX idx, INT tsize)
static DST_INFO_IDX DST_construct_pointer_to_member (gs_t type_tree)
DST_INFO_IDX Create_DST_type_For_Tree (gs_t type_tree, TY_IDX ttidx, TY_IDX idx, bool ignoreconst, bool ignorevolatile)
DST_INFO_IDX Create_DST_decl_For_Tree (gs_t decl, ST *var_st)
static DST_INFO_IDX DST_find_class_member (char *linkage_name_in, gs_t myrecord)
DST_INFO_IDX DST_Create_Subprogram (ST *func_st, gs_t fndecl)
DST_INFO_IDX DST_Get_Comp_Unit (void)
void DST_build (int num_copts, char *copts[])
void WGEN_Set_Line_And_File (UINT line, const char *f, bool check)

Variables

static char * source_file = __FILE__
static BOOL dst_initialized = FALSE
static char cwd_buffer [MAX_CWD_CHARS+MAXHOSTNAMELEN+1]
static char * current_working_dir = &cwd_buffer[0]
static char * current_host_dir = &cwd_buffer[0]
static DST_INFO_IDX comp_unit_idx = DST_INVALID_INIT
static UINT last_dir_num = 0
static UINT current_dir = 1
static UINT last_file_num = 0
UINT current_file = 1
static std::vector< std::pair
< char *, UINT > > 
dir_dst_list
static DST_Type_Map basetypes
static std::vector< std::pair
< char *, UINT > > 
file_dst_list
static const char * current_file_name = NULL


Define Documentation

#define DANAME ( d   ) 

Value:

((gs_tree_code_class(d) == GS_TCC_DECLARATION)? \
((gs_decl_name(d))?gs_identifier_pointer(gs_decl_name(d)):"?"):\
 "?2")

#define MAX_CWD_CHARS   (256 - (MAXHOSTNAMELEN+1))

Definition at line 134 of file wgen_dst.cxx.


Typedef Documentation

Definition at line 161 of file wgen_dst.cxx.


Function Documentation

DST_INFO_IDX Create_DST_decl_For_Tree ( gs_t  decl,
ST var_st 
)

DST_INFO_IDX Create_DST_type_For_Tree ( gs_t  type_tree,
TY_IDX  ttidx,
TY_IDX  idx,
bool  ignoreconst,
bool  ignorevolatile 
)

static char* drop_path ( char *  s  )  [static]

Definition at line 337 of file wgen_dst.cxx.

References NULL, strrchr(), and tail.

void DST_build ( int  num_copts,
char *  copts[] 
)

static DST_INFO_IDX DST_construct_pointer_to_member ( gs_t  type_tree  )  [static]

static DST_INFO_IDX DST_Create_Parmvar ( ST var_st,
gs_t  decl 
) [static]

Definition at line 2226 of file wgen_dst.cxx.

References DECL_DST_IDX(), DST_INVALID_INIT, Get_ST, Get_TY(), USRCPOS_clear, and USRCPOS_srcpos.

DST_INFO_IDX DST_Create_Subprogram ( ST func_st,
gs_t  fndecl 
)

static DST_INFO_IDX DST_Create_type ( ST typ_decl,
gs_t  decl 
) [static]

static DST_INFO_IDX DST_Create_var ( ST var_st,
gs_t  decl 
) [static]

static DST_INFO_IDX DST_enter_array_type ( gs_t  type_tree,
TY_IDX  ttidx,
TY_IDX  idx,
INT  tsize 
) [static]

static DST_INFO_IDX DST_enter_enum ( gs_t  type_tree,
TY_IDX  ttidx,
TY_IDX  idx,
INT  tsize 
) [static]

static void DST_enter_file ( char *  file_name,
UINT  dir 
) [static]

Definition at line 350 of file wgen_dst.cxx.

References DST_mk_file_name(), file_size, stat::st_mtime, stat::st_size, stat, and UINT64.

static void DST_enter_member_function ( gs_t  parent_tree,
DST_INFO_IDX  parent_idx,
TY_IDX  parent_ty_idx,
gs_t  fndecl 
) [static]

static void DST_enter_normal_field ( gs_t  parent_tree,
DST_INFO_IDX  parent_idx,
TY_IDX  parent_ty_idx,
gs_t  field 
) [static]

static void DST_enter_param_vars ( gs_t  fndecl,
DST_INFO_IDX  parent,
gs_t  parameter_list,
int  is_abstract_root,
int  is_declaration_only 
) [static]

static void DST_enter_static_data_mem ( gs_t  parent_tree,
DST_INFO_IDX  parent_idx,
TY_IDX  parent_ty_idx,
gs_t  field 
) [static]

static DST_INFO_IDX DST_enter_struct_union ( gs_t  type_tree,
TY_IDX  ttidx,
TY_IDX  idx,
INT  tsize 
) [static]

static void DST_enter_struct_union_members ( gs_t  parent_tree,
DST_INFO_IDX  parent_idx 
) [static]

static DST_INFO_IDX DST_find_class_member ( char *  linkage_name_in,
gs_t  myrecord 
) [static]

static char* DST_get_command_line_options ( INT32  num_copts,
char *  copts[] 
) [static]

Definition at line 374 of file wgen_dst.cxx.

References calloc(), Debug_Level, free(), i, INT32, malloc, NULL, strcpy, and strlen().

DST_INFO_IDX DST_Get_Comp_Unit ( void   ) 

Definition at line 2906 of file wgen_dst.cxx.

static DST_INFO_IDX DST_get_context ( gs_t  intree  )  [static]

static UINT Get_Dir_Dst_Info ( char *  name  )  [static]

static UINT Get_File_Dst_Info ( char *  name,
UINT  dir 
) [static]

Definition at line 305 of file wgen_dst.cxx.

References DST_enter_file(), last_file_num, make_pair(), malloc, strcmp(), strcpy, and strlen().

static char* Get_Name ( gs_t  node  )  [static]

void WGEN_Set_Line_And_File ( UINT  line,
const char *  f,
bool  check 
)


Variable Documentation

Definition at line 162 of file wgen_dst.cxx.

DST_INFO_IDX comp_unit_idx = DST_INVALID_INIT [static]

Definition at line 145 of file wgen_dst.cxx.

UINT current_dir = 1 [static]

Definition at line 150 of file wgen_dst.cxx.

Definition at line 152 of file wgen_dst.cxx.

const char* current_file_name = NULL [static]

Definition at line 3016 of file wgen_dst.cxx.

Referenced by bfd_boolean(), and lookup_line().

char* current_host_dir = &cwd_buffer[0] [static]

Definition at line 137 of file wgen_dst.cxx.

char* current_working_dir = &cwd_buffer[0] [static]

Definition at line 136 of file wgen_dst.cxx.

char cwd_buffer[MAX_CWD_CHARS+MAXHOSTNAMELEN+1] [static]

Definition at line 135 of file wgen_dst.cxx.

std::vector< std::pair< char *, UINT > > dir_dst_list [static]

Definition at line 160 of file wgen_dst.cxx.

BOOL dst_initialized = FALSE [static]

Definition at line 126 of file wgen_dst.cxx.

std::vector< std::pair< char *, UINT > > file_dst_list [static]

Definition at line 300 of file wgen_dst.cxx.

UINT last_dir_num = 0 [static]

Definition at line 149 of file wgen_dst.cxx.

UINT last_file_num = 0 [static]

Definition at line 151 of file wgen_dst.cxx.

char* source_file = __FILE__ [static]

Definition at line 79 of file wgen_dst.cxx.


Generated on Wed Apr 8 15:58:34 2009 for Open64 by  doxygen 1.5.6