GDB (xrefs)

Functions | Variables
/tmp/gdb-8.1/gdb/gnu-v2-abi.c File Reference
`#include "defs.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 <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, LONGEST *top, int *using_enc)
static int | gnuv2_baseclass_offset (struct type *type, int index, const bfd_byte *valaddr, LONGEST 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

## Function Documentation

## ◆ _initialize_gnu_v2_abi()

void _initialize_gnu_v2_abi | ( | void |  | ) |

Definition at line 417 of file gnu-v2-abi.c.

References gnu_v2_abi_ops, init_gnuv2_ops(), and register_cp_abi().

## ◆ gnuv2_baseclass_offset()

static int gnuv2_baseclass_offset | ( | struct type * | type,
|  | int | index,
|  | const bfd_byte * | valaddr,
|  | LONGEST | embedded_offset,
|  | CORE_ADDR | address,
|  | const struct value * | val
| ) |  |
| static

Definition at line 342 of file gnu-v2-abi.c.

References _, BASETYPE_VIA_VIRTUAL, check_typedef(), error(), 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().

## ◆ gnuv2_is_constructor_name()

static enum ctor_kinds gnuv2_is_constructor_name | ( | const char * | name | ) |
| static

Definition at line 47 of file gnu-v2-abi.c.

References complete_object_ctor, name, and startswith().

Referenced by init_gnuv2_ops().

## ◆ gnuv2_is_destructor_name()

static enum dtor_kinds gnuv2_is_destructor_name | ( | const char * | name | ) |
| static

Definition at line 37 of file gnu-v2-abi.c.

References complete_object_dtor, is_cplus_marker(), name, and startswith().

Referenced by init_gnuv2_ops().

## ◆ gnuv2_is_operator_name()

static int gnuv2_is_operator_name | ( | const char * | name | ) |
| static

Definition at line 69 of file gnu-v2-abi.c.

References CP_OPERATOR_STR, name, and startswith().

Referenced by init_gnuv2_ops().

## ◆ gnuv2_is_vtable_name()

static int gnuv2_is_vtable_name | ( | const char * | name | ) |
| static

Definition at line 58 of file gnu-v2-abi.c.

References is_cplus_marker(), and name.

Referenced by init_gnuv2_ops().

## ◆ gnuv2_value_rtti_type()

static struct type* gnuv2_value_rtti_type | ( | struct value * | v,
|  | int * | full,
|  | LONGEST * | top,
|  | int * | using_enc
| ) |  |
| static

Definition at line 186 of file gnu-v2-abi.c.

References check_typedef(), cp_lookup_rtti_type(), gdb_demangle(), get_vptr_fieldno(), is_vtable_name(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, MSYMBOL_LINKAGE_NAME, TYPE_BASECLASS_BITPOS, TYPE_CODE, TYPE_CODE_STRUCT, 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().

## ◆ gnuv2_virtual_fn_field()

static struct value* gnuv2_virtual_fn_field | ( | struct value ** | arg1p,
|  | struct fn_field * | f,
|  | int | j,
|  | struct type * | type,
|  | int | offset
| ) |  |
| static

Definition at line 84 of file gnu-v2-abi.c.

References _, check_typedef(), deprecated_set_value_type(), error(), get_vptr_fieldno(), 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().

## ◆ init_gnuv2_ops()

static void init_gnuv2_ops | ( | void |  | ) |
| static

Definition at line 402 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().

## ◆ vb_match()

static int vb_match | ( | struct type * | type,
|  | int | index,
|  | struct type * | basetype
| ) |  |
| static

Definition at line 294 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().

## Variable Documentation

## ◆ gnu_v2_abi_ops

struct cp_abi_ops gnu_v2_abi_ops

Definition at line 32 of file gnu-v2-abi.c.

Referenced by _initialize_gnu_v2_abi(), and init_gnuv2_ops().