GDB (xrefs)
|
#include "defs.h"
#include "gdb_string.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "value.h"
#include "demangle.h"
#include "gdb-demangle.h"
#include "cp-abi.h"
#include "cp-support.h"
#include "exceptions.h"
#include <ctype.h>
Go to the source code of this file.
Functions | |
static int | vb_match (struct type *, int, struct type *) |
static enum dtor_kinds | gnuv2_is_destructor_name (const char *name) |
static enum ctor_kinds | gnuv2_is_constructor_name (const char *name) |
static int | gnuv2_is_vtable_name (const char *name) |
static int | gnuv2_is_operator_name (const char *name) |
static struct value * | gnuv2_virtual_fn_field (struct value **arg1p, struct fn_field *f, int j, struct type *type, int offset) |
static struct type * | gnuv2_value_rtti_type (struct value *v, int *full, int *top, int *using_enc) |
static int | gnuv2_baseclass_offset (struct type *type, int index, const bfd_byte *valaddr, int embedded_offset, CORE_ADDR address, const struct value *val) |
static void | init_gnuv2_ops (void) |
void | _initialize_gnu_v2_abi (void) |
Variables | |
struct cp_abi_ops | gnu_v2_abi_ops |
initialize_file_ftype | _initialize_gnu_v2_abi |
void _initialize_gnu_v2_abi | ( | void | ) |
Definition at line 422 of file gnu-v2-abi.c.
References _initialize_gnu_v2_abi, gnu_v2_abi_ops, init_gnuv2_ops(), and register_cp_abi().
static int gnuv2_baseclass_offset | ( | struct type * | type, |
int | index, | ||
const bfd_byte * | valaddr, | ||
int | embedded_offset, | ||
CORE_ADDR | address, | ||
const struct value * | val | ||
) | [static] |
Definition at line 345 of file gnu-v2-abi.c.
References _, BASETYPE_VIA_VIRTUAL, check_typedef(), error(), len, LONGEST, NOT_AVAILABLE_ERROR, throw_error(), TYPE_BASECLASS, TYPE_BASECLASS_BITPOS, TYPE_FIELD_BITPOS, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_N_BASECLASSES, TYPE_NFIELDS, unpack_pointer(), value_bytes_available(), and vb_match().
Referenced by init_gnuv2_ops().
static enum ctor_kinds gnuv2_is_constructor_name | ( | const char * | name | ) | [static] |
Definition at line 50 of file gnu-v2-abi.c.
References complete_object_ctor, and strchr().
Referenced by init_gnuv2_ops().
static enum dtor_kinds gnuv2_is_destructor_name | ( | const char * | name | ) | [static] |
Definition at line 40 of file gnu-v2-abi.c.
References complete_object_dtor, and is_cplus_marker().
Referenced by init_gnuv2_ops().
static int gnuv2_is_operator_name | ( | const char * | name | ) | [static] |
Definition at line 72 of file gnu-v2-abi.c.
Referenced by init_gnuv2_ops().
static int gnuv2_is_vtable_name | ( | const char * | name | ) | [static] |
Definition at line 61 of file gnu-v2-abi.c.
References is_cplus_marker().
Referenced by init_gnuv2_ops().
static struct type* gnuv2_value_rtti_type | ( | struct value * | v, |
int * | full, | ||
int * | top, | ||
int * | using_enc | ||
) | [static, read] |
Definition at line 189 of file gnu-v2-abi.c.
References CHECK_TYPEDEF, cp_lookup_rtti_type(), get_vptr_fieldno(), is_vtable_name(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, p, strchr(), SYMBOL_LINKAGE_NAME, TYPE_BASECLASS_BITPOS, TYPE_CODE, TYPE_CODE_CLASS, TYPE_LENGTH, TYPE_N_BASECLASSES, TYPE_VPTR_FIELDNO, value_address(), value_as_address(), value_cast(), value_field(), and value_type().
Referenced by init_gnuv2_ops().
static struct value* gnuv2_virtual_fn_field | ( | struct value ** | arg1p, |
struct fn_field * | f, | ||
int | j, | ||
struct type * | type, | ||
int | offset | ||
) | [static, read] |
Definition at line 87 of file gnu-v2-abi.c.
References _, check_typedef(), deprecated_set_value_type(), error(), get_vptr_fieldno(), LONGEST, lookup_pointer_type(), set_value_lazy(), set_value_offset(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_FN_FIELD_FCONTEXT, TYPE_FN_FIELD_TYPE, TYPE_FN_FIELD_VOFFSET, TYPE_TARGET_TYPE, TYPE_VPTR_BASETYPE, value_addr(), value_as_long(), value_cast(), value_fetch_lazy(), value_field(), value_ind(), value_lazy(), value_offset(), value_primitive_field(), value_ptradd(), value_subscript(), and value_type().
Referenced by init_gnuv2_ops().
static void init_gnuv2_ops | ( | void | ) | [static] |
Definition at line 405 of file gnu-v2-abi.c.
References cp_abi_ops::baseclass_offset, cp_abi_ops::doc, gnu_v2_abi_ops, gnuv2_baseclass_offset(), gnuv2_is_constructor_name(), gnuv2_is_destructor_name(), gnuv2_is_operator_name(), gnuv2_is_vtable_name(), gnuv2_value_rtti_type(), gnuv2_virtual_fn_field(), cp_abi_ops::is_constructor_name, cp_abi_ops::is_destructor_name, cp_abi_ops::is_operator_name, cp_abi_ops::is_vtable_name, cp_abi_ops::longname, cp_abi_ops::rtti_type, cp_abi_ops::shortname, and cp_abi_ops::virtual_fn_field.
Referenced by _initialize_gnu_v2_abi().
Definition at line 297 of file gnu-v2-abi.c.
References is_cplus_marker(), name, TYPE_CODE, TYPE_CODE_PTR, TYPE_FIELD_NAME, TYPE_FIELD_TYPE, TYPE_NAME, and TYPE_TARGET_TYPE.
Referenced by gnuv2_baseclass_offset().
Referenced by _initialize_gnu_v2_abi(), and initialize_all_files().
struct cp_abi_ops gnu_v2_abi_ops |
Definition at line 35 of file gnu-v2-abi.c.
Referenced by _initialize_gnu_v2_abi(), and init_gnuv2_ops().