osprey/common/com/dwarf_DST_producer.cxx File Reference

#include "dwarf_DST_producer.h"
#include "errors.h"

Include dependency graph for dwarf_DST_producer.cxx:

Go to the source code of this file.

Defines

#define DST_ASSERT(truth, msg)   Is_True(truth, (msg))
#define DST_64_allign   8
#define DST_32_align   4
#define DST_char_align   1
#define DST_default_align   DST_64_allign
#define DST_mk(type)   DST_allocate(sizeof(type), DST_default_align)
#define DST_mk_file()   (DST_mk(DST_FILE_NAME));
#define DST_mk_dir()   (DST_mk(DST_INCLUDE_DIR));
#define DST_mk_info()   (DST_mk(DST_INFO));
#define DST_mk_attr(type)   (DST_mk(type));
#define DST_check_info_idx(required_tag, idx)

Typedefs

typedef enum DST_producer_state DST_PRODUCER_STATE

Enumerations

enum  DST_producer_state {
  DST_begin_state, DST_making_include_dirs, DST_making_file_names, DST_making_macinfo,
  DST_making_dbg_info, DST_end_state
}

Functions/Subroutines

DST_STR_IDX DST_mk_string (const char *s)
static DST_STR_IDX DST_mk_name (const char *s)
static void DST_enter_mk (DST_PRODUCER_STATE new_state, DST_IDX last_idx)
DST_IDX DST_mk_include_dir (char *path)
mUINT16 DST_number_of_include_dirs (void)
DST_IDX DST_mk_file_name (char *file_name, mUINT16 incl_dir, UINT64 size, UINT64 modt)
mUINT16 DST_number_of_files (void)
void DST_lock_to_file_scope_mem (void)
void DST_release_from_file_scope_mem (void)
mINT32 DST_unwind_locks (void)
void DST_wind_up_locks (mINT32 number_of_locks)
BOOL DST_is_locked_to_file_scope_mem (void)
static DST_INFO_IDX DST_init_info (DST_INFO_IDX info_idx, DST_DW_tag tag, DST_flag flag, DST_ATTR_IDX attrs)
DST_INFO_IDX DST_mk_compile_unit (char *src_path, char *comp_dir, char *comp_info, DST_language language, DST_identifier_case id_case)
void DST_begin_PU (void)
void DST_end_PU (void)
DST_INFO_IDX DST_mk_inlined_subroutine (ST_IDX low_pc, ST_IDX high_pc, DST_INFO_IDX abstract_origin)
DST_INFO_IDX DST_mk_subprogram_memdef (USRCPOS decl, ST_IDX subpr, BOOL is_prototyped, DST_INFO_IDX spec)
DST_INFO_IDX DST_mk_subprogram (USRCPOS decl, char *name, DST_INFO_IDX type, DST_INFO_IDX origin, ST_IDX subpr, DST_inline inlin, DST_virtuality virtuality, DST_vtable_elem_location vtable_elem_location, BOOL is_declaration, BOOL is_prototyped, BOOL is_external)
void DST_add_pubname_to_subprogram (DST_INFO_IDX subprogram, char *pubname)
void DST_add_linkage_name_to_subprogram (DST_INFO_IDX subprogram, char *linkage_name)
void DST_add_specification_to_subprogram (DST_INFO_IDX subprogram_def, DST_INFO_IDX subprogram_decl)
void DST_add_specification_to_variable (DST_INFO_IDX variable_def, DST_INFO_IDX field_decl)
DST_INFO_IDX DST_mk_entry_point (USRCPOS decl, char *name, DST_INFO_IDX type, ST_IDX subpr)
DST_INFO_IDX DST_mk_common_block (char *name, ST_IDX subpr)
DST_INFO_IDX DST_mk_common_incl (USRCPOS decl, DST_INFO_IDX comblk)
DST_INFO_IDX DST_mk_lexical_block (char *name, ST_IDX low_pc, ST_IDX high_pc, DST_INFO_IDX abstract_origin)
DST_INFO_IDX DST_mk_label (char *name, ST_IDX low_pc, DST_INFO_IDX abstract_origin)
DST_INFO_IDX DST_mk_variable_const (USRCPOS decl, char *name, DST_INFO_IDX type, BOOL is_automatic, BOOL is_external, DST_CONST_VALUE cval)
DST_INFO_IDX DST_mk_variable_comm (USRCPOS decl, char *name, DST_INFO_IDX type, ST_IDX var, UINT64 offset)
DST_INFO_IDX DST_mk_variable_memdef (USRCPOS decl, ST_IDX var, DST_INFO_IDX spec)
DST_INFO_IDX DST_mk_variable (USRCPOS decl, char *name, DST_INFO_IDX type, UINT64 offs, ST_IDX var, DST_INFO_IDX abstract_origin, BOOL is_declaration, BOOL is_automatic, BOOL is_external, BOOL is_artificial)
DST_INFO_IDX DST_mk_formal_parameter (USRCPOS decl, char *name, DST_INFO_IDX type, ST_IDX parm, DST_INFO_IDX abstract_origin, DST_INFO_IDX default_val, BOOL is_optional, BOOL is_variable, BOOL is_artificial, BOOL is_declaration_only)
DST_INFO_IDX DST_mk_unspecified_parameters (USRCPOS decl, DST_INFO_IDX abstract_origin)
DST_INFO_IDX DST_mk_constant_def (USRCPOS decl, char *name, DST_INFO_IDX type, DST_CONST_VALUE cval, BOOL is_external)
DST_INFO_IDX DST_mk_constant_decl (USRCPOS decl, char *name, DST_INFO_IDX type, BOOL is_external)
DST_INFO_IDX DST_mk_basetype (const char *name, DST_ATE_encoding encoding, DST_size_t byte_size)
DST_INFO_IDX DST_mk_const_type (DST_INFO_IDX type)
DST_INFO_IDX DST_mk_volatile_type (DST_INFO_IDX type)
DST_INFO_IDX DST_mk_pointer_type (DST_INFO_IDX type, DST_addr_class address_class, DST_size_t byte_size)
DST_INFO_IDX DST_mk_reference_type (DST_INFO_IDX type, DST_addr_class address_class, DST_size_t byte_size)
DST_INFO_IDX DST_mk_typedef (USRCPOS decl, char *name, DST_INFO_IDX type, DST_INFO_IDX abstract_origin)
DST_INFO_IDX DST_mk_ptr_to_member_type (USRCPOS decl, char *name, DST_INFO_IDX type, DST_INFO_IDX class_type)
DST_INFO_IDX DST_mk_array_type (USRCPOS decl, char *name, DST_INFO_IDX type, DST_size_t byte_size, DST_INFO_IDX abstract_origin, BOOL is_incomplete)
DST_INFO_IDX DST_mk_subrange_type (DST_flag is_lb_cval, DST_cval_ref low, DST_flag is_ub_cval, DST_cval_ref high)
DST_INFO_IDX DST_mk_string_type (USRCPOS decl, char *name, DST_flag is_len_cval, DST_cval_ref len)
DST_INFO_IDX DST_mk_structure_type (USRCPOS decl, char *name, DST_size_t byte_size, DST_INFO_IDX abstract_origin, BOOL is_incomplete)
DST_INFO_IDX DST_mk_union_type (USRCPOS decl, char *name, DST_size_t byte_size, DST_INFO_IDX abstract_origin, BOOL is_incomplete)
DST_INFO_IDX DST_mk_class_type (USRCPOS decl, char *name, DST_size_t byte_size, DST_INFO_IDX abstract_origin, BOOL is_incomplete)
DST_INFO_IDX DST_mk_member (USRCPOS decl, char *name, DST_INFO_IDX type, DST_size_t memb_loc, DST_size_t byte_size, DST_bitsize bit_offset, DST_bitsize bit_size, BOOL is_bitfield, BOOL is_static, BOOL is_declaration, BOOL is_artificial)
DST_INFO_IDX DST_mk_inheritance (USRCPOS decl, DST_INFO_IDX type, DST_virtuality virtuality, DST_size_t memb_loc)
DST_INFO_IDX DST_mk_template_type_parameter (USRCPOS decl, char *name, DST_INFO_IDX type)
DST_INFO_IDX DST_mk_template_value_parameter (USRCPOS decl, char *name, DST_INFO_IDX type, DST_CONST_VALUE cval)
DST_INFO_IDX DST_mk_enumeration_type (USRCPOS decl, char *name, DST_size_t byte_size, DST_INFO_IDX abstract_origin, BOOL is_incomplete)
DST_INFO_IDX DST_mk_enumerator (USRCPOS decl, char *name, DST_CONST_VALUE cval)
DST_INFO_IDX DST_mk_subroutine_type (USRCPOS decl, char *name, DST_INFO_IDX type, DST_INFO_IDX abstract_origin, BOOL is_prototyped)

Variables

static DST_PRODUCER_STATE pstate = DST_begin_state
static DST_DIR_IDX last_include_dir = DST_INVALID_INIT
static DST_FILE_IDX last_file_name = DST_INVALID_INIT
static DST_INFO_IDX last_info_idx = DST_INVALID_INIT
static DST_INFO_IDX file_scope_info = DST_INVALID_INIT
static DST_INFO_IDX forced_exit_info = DST_INVALID_INIT
static mUINT16 num_file_names = 0
static mUINT16 num_incl_dirs = 0
static BOOL begin_PU = FALSE
static mINT32 file_scope_locks = 0


Define Documentation

#define DST_32_align   4

Definition at line 96 of file dwarf_DST_producer.cxx.

#define DST_64_allign   8

Definition at line 95 of file dwarf_DST_producer.cxx.

#define DST_ASSERT ( truth,
msg   )     Is_True(truth, (msg))

Definition at line 51 of file dwarf_DST_producer.cxx.

#define DST_char_align   1

Definition at line 97 of file dwarf_DST_producer.cxx.

Referenced by DST_mk_name(), and DST_mk_string().

#define DST_check_info_idx ( required_tag,
idx   ) 

Value:

DST_ASSERT((DST_IS_FOREIGN_OBJ(idx)) || (DST_INFO_tag(DST_INFO_IDX_TO_PTR(idx)) == required_tag),\
        "Found invalid DST_info index")

Definition at line 204 of file dwarf_DST_producer.cxx.

Referenced by DST_mk_inlined_subroutine(), and DST_mk_subprogram_memdef().

#define DST_default_align   DST_64_allign

#define DST_mk ( type   )     DST_allocate(sizeof(type), DST_default_align)

Definition at line 103 of file dwarf_DST_producer.cxx.

#define DST_mk_attr ( type   )     (DST_mk(type));

 
#define DST_mk_dir (  )     (DST_mk(DST_INCLUDE_DIR));

Definition at line 106 of file dwarf_DST_producer.cxx.

Referenced by DST_mk_include_dir().

 
#define DST_mk_file (  )     (DST_mk(DST_FILE_NAME));

Definition at line 105 of file dwarf_DST_producer.cxx.

Referenced by DST_mk_file_name().

 
#define DST_mk_info (  )     (DST_mk(DST_INFO));


Typedef Documentation


Enumeration Type Documentation

Enumerator:
DST_begin_state 
DST_making_include_dirs 
DST_making_file_names 
DST_making_macinfo 
DST_making_dbg_info 
DST_end_state 

Definition at line 61 of file dwarf_DST_producer.cxx.


Function Documentation

void DST_add_linkage_name_to_subprogram ( DST_INFO_IDX  subprogram,
char *  linkage_name 
)

void DST_add_pubname_to_subprogram ( DST_INFO_IDX  subprogram,
char *  pubname 
)

void DST_add_specification_to_subprogram ( DST_INFO_IDX  subprogram_def,
DST_INFO_IDX  subprogram_decl 
)

void DST_add_specification_to_variable ( DST_INFO_IDX  variable_def,
DST_INFO_IDX  field_decl 
)

void DST_begin_PU ( void   ) 

Definition at line 471 of file dwarf_DST_producer.cxx.

References begin_PU, DST_ASSERT, DST_IS_NULL, file_scope_locks, and TRUE.

Referenced by cwh_dst_enter_pu().

void DST_end_PU ( void   ) 

static void DST_enter_mk ( DST_PRODUCER_STATE  new_state,
DST_IDX  last_idx 
) [static]

static DST_INFO_IDX DST_init_info ( DST_INFO_IDX  info_idx,
DST_DW_tag  tag,
DST_flag  flag,
DST_ATTR_IDX  attrs 
) [static]

BOOL DST_is_locked_to_file_scope_mem ( void   ) 

Definition at line 400 of file dwarf_DST_producer.cxx.

References file_scope_locks.

void DST_lock_to_file_scope_mem ( void   ) 

Definition at line 367 of file dwarf_DST_producer.cxx.

References DST_ASSERT, and file_scope_locks.

DST_INFO_IDX DST_mk_array_type ( USRCPOS  decl,
char *  name,
DST_INFO_IDX  type,
DST_size_t  byte_size,
DST_INFO_IDX  abstract_origin,
BOOL  is_incomplete 
)

DST_INFO_IDX DST_mk_basetype ( const char *  name,
DST_ATE_encoding  encoding,
DST_size_t  byte_size 
)

DST_INFO_IDX DST_mk_class_type ( USRCPOS  decl,
char *  name,
DST_size_t  byte_size,
DST_INFO_IDX  abstract_origin,
BOOL  is_incomplete 
)

DST_INFO_IDX DST_mk_common_block ( char *  name,
ST_IDX  subpr 
)

DST_INFO_IDX DST_mk_common_incl ( USRCPOS  decl,
DST_INFO_IDX  comblk 
)

DST_INFO_IDX DST_mk_compile_unit ( char *  src_path,
char *  comp_dir,
char *  comp_info,
DST_language  language,
DST_identifier_case  id_case 
)

DST_INFO_IDX DST_mk_const_type ( DST_INFO_IDX  type  ) 

DST_INFO_IDX DST_mk_constant_decl ( USRCPOS  decl,
char *  name,
DST_INFO_IDX  type,
BOOL  is_external 
)

DST_INFO_IDX DST_mk_constant_def ( USRCPOS  decl,
char *  name,
DST_INFO_IDX  type,
DST_CONST_VALUE  cval,
BOOL  is_external 
)

DST_INFO_IDX DST_mk_entry_point ( USRCPOS  decl,
char *  name,
DST_INFO_IDX  type,
ST_IDX  subpr 
)

DST_INFO_IDX DST_mk_enumeration_type ( USRCPOS  decl,
char *  name,
DST_size_t  byte_size,
DST_INFO_IDX  abstract_origin,
BOOL  is_incomplete 
)

DST_INFO_IDX DST_mk_enumerator ( USRCPOS  decl,
char *  name,
DST_CONST_VALUE  cval 
)

DST_IDX DST_mk_file_name ( char *  file_name,
mUINT16  incl_dir,
UINT64  size,
UINT64  modt 
)

DST_INFO_IDX DST_mk_formal_parameter ( USRCPOS  decl,
char *  name,
DST_INFO_IDX  type,
ST_IDX  parm,
DST_INFO_IDX  abstract_origin,
DST_INFO_IDX  default_val,
BOOL  is_optional,
BOOL  is_variable,
BOOL  is_artificial,
BOOL  is_declaration_only 
)

DST_IDX DST_mk_include_dir ( char *  path  ) 

DST_INFO_IDX DST_mk_inheritance ( USRCPOS  decl,
DST_INFO_IDX  type,
DST_virtuality  virtuality,
DST_size_t  memb_loc 
)

DST_INFO_IDX DST_mk_inlined_subroutine ( ST_IDX  low_pc,
ST_IDX  high_pc,
DST_INFO_IDX  abstract_origin 
)

DST_INFO_IDX DST_mk_label ( char *  name,
ST_IDX  low_pc,
DST_INFO_IDX  abstract_origin 
)

DST_INFO_IDX DST_mk_lexical_block ( char *  name,
ST_IDX  low_pc,
ST_IDX  high_pc,
DST_INFO_IDX  abstract_origin 
)

DST_INFO_IDX DST_mk_member ( USRCPOS  decl,
char *  name,
DST_INFO_IDX  type,
DST_size_t  memb_loc,
DST_size_t  byte_size,
DST_bitsize  bit_offset,
DST_bitsize  bit_size,
BOOL  is_bitfield,
BOOL  is_static,
BOOL  is_declaration,
BOOL  is_artificial 
)

static DST_STR_IDX DST_mk_name ( const char *  s  )  [static]

DST_INFO_IDX DST_mk_pointer_type ( DST_INFO_IDX  type,
DST_addr_class  address_class,
DST_size_t  byte_size 
)

DST_INFO_IDX DST_mk_ptr_to_member_type ( USRCPOS  decl,
char *  name,
DST_INFO_IDX  type,
DST_INFO_IDX  class_type 
)

DST_INFO_IDX DST_mk_reference_type ( DST_INFO_IDX  type,
DST_addr_class  address_class,
DST_size_t  byte_size 
)

DST_STR_IDX DST_mk_string ( const char *  s  ) 

DST_INFO_IDX DST_mk_string_type ( USRCPOS  decl,
char *  name,
DST_flag  is_len_cval,
DST_cval_ref  len 
)

DST_INFO_IDX DST_mk_structure_type ( USRCPOS  decl,
char *  name,
DST_size_t  byte_size,
DST_INFO_IDX  abstract_origin,
BOOL  is_incomplete 
)

DST_INFO_IDX DST_mk_subprogram ( USRCPOS  decl,
char *  name,
DST_INFO_IDX  type,
DST_INFO_IDX  origin,
ST_IDX  subpr,
DST_inline  inlin,
DST_virtuality  virtuality,
DST_vtable_elem_location  vtable_elem_location,
BOOL  is_declaration,
BOOL  is_prototyped,
BOOL  is_external 
)

DST_INFO_IDX DST_mk_subprogram_memdef ( USRCPOS  decl,
ST_IDX  subpr,
BOOL  is_prototyped,
DST_INFO_IDX  spec 
)

DST_INFO_IDX DST_mk_subrange_type ( DST_flag  is_lb_cval,
DST_cval_ref  low,
DST_flag  is_ub_cval,
DST_cval_ref  high 
)

DST_INFO_IDX DST_mk_subroutine_type ( USRCPOS  decl,
char *  name,
DST_INFO_IDX  type,
DST_INFO_IDX  abstract_origin,
BOOL  is_prototyped 
)

DST_INFO_IDX DST_mk_template_type_parameter ( USRCPOS  decl,
char *  name,
DST_INFO_IDX  type 
)

DST_INFO_IDX DST_mk_template_value_parameter ( USRCPOS  decl,
char *  name,
DST_INFO_IDX  type,
DST_CONST_VALUE  cval 
)

DST_INFO_IDX DST_mk_typedef ( USRCPOS  decl,
char *  name,
DST_INFO_IDX  type,
DST_INFO_IDX  abstract_origin 
)

DST_INFO_IDX DST_mk_union_type ( USRCPOS  decl,
char *  name,
DST_size_t  byte_size,
DST_INFO_IDX  abstract_origin,
BOOL  is_incomplete 
)

DST_INFO_IDX DST_mk_unspecified_parameters ( USRCPOS  decl,
DST_INFO_IDX  abstract_origin 
)

DST_INFO_IDX DST_mk_variable ( USRCPOS  decl,
char *  name,
DST_INFO_IDX  type,
UINT64  offs,
ST_IDX  var,
DST_INFO_IDX  abstract_origin,
BOOL  is_declaration,
BOOL  is_automatic,
BOOL  is_external,
BOOL  is_artificial 
)

DST_INFO_IDX DST_mk_variable_comm ( USRCPOS  decl,
char *  name,
DST_INFO_IDX  type,
ST_IDX  var,
UINT64  offset 
)

DST_INFO_IDX DST_mk_variable_const ( USRCPOS  decl,
char *  name,
DST_INFO_IDX  type,
BOOL  is_automatic,
BOOL  is_external,
DST_CONST_VALUE  cval 
)

DST_INFO_IDX DST_mk_variable_memdef ( USRCPOS  decl,
ST_IDX  var,
DST_INFO_IDX  spec 
)

DST_INFO_IDX DST_mk_volatile_type ( DST_INFO_IDX  type  ) 

mUINT16 DST_number_of_files ( void   ) 

Definition at line 337 of file dwarf_DST_producer.cxx.

References num_file_names.

mUINT16 DST_number_of_include_dirs ( void   ) 

Definition at line 280 of file dwarf_DST_producer.cxx.

References num_incl_dirs.

void DST_release_from_file_scope_mem ( void   ) 

mINT32 DST_unwind_locks ( void   ) 

void DST_wind_up_locks ( mINT32  number_of_locks  ) 

Definition at line 395 of file dwarf_DST_producer.cxx.

References file_scope_locks.


Variable Documentation

BOOL begin_PU = FALSE [static]

Definition at line 87 of file dwarf_DST_producer.cxx.

Referenced by DST_begin_PU(), DST_end_PU(), and DST_enter_mk().

DST_INFO_IDX file_scope_info = DST_INVALID_INIT [static]

Definition at line 75 of file dwarf_DST_producer.cxx.

mINT32 file_scope_locks = 0 [static]

DST_INFO_IDX forced_exit_info = DST_INVALID_INIT [static]

Definition at line 76 of file dwarf_DST_producer.cxx.

DST_FILE_IDX last_file_name = DST_INVALID_INIT [static]

Definition at line 73 of file dwarf_DST_producer.cxx.

Referenced by cwh_stab_set_linenum(), cwh_stmt_init_srcpos(), GTY(), and VEC().

DST_DIR_IDX last_include_dir = DST_INVALID_INIT [static]

Definition at line 72 of file dwarf_DST_producer.cxx.

DST_INFO_IDX last_info_idx = DST_INVALID_INIT [static]

Definition at line 74 of file dwarf_DST_producer.cxx.

mUINT16 num_file_names = 0 [static]

Definition at line 81 of file dwarf_DST_producer.cxx.

Referenced by DST_mk_file_name(), and DST_number_of_files().

mUINT16 num_incl_dirs = 0 [static]

Definition at line 82 of file dwarf_DST_producer.cxx.

Referenced by DST_mk_include_dir(), and DST_number_of_include_dirs().

DST_PRODUCER_STATE pstate = DST_begin_state [static]


Generated on Wed Apr 8 14:38:17 2009 for Open64 by  doxygen 1.5.6