GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
cp-abi.h File Reference

Go to the source code of this file.

Classes

struct  cp_abi_ops
 

Enumerations

enum  ctor_kinds { complete_object_ctor = 1 , base_object_ctor , complete_object_allocating_ctor }
 
enum  dtor_kinds { deleting_dtor = 1 , complete_object_dtor , base_object_dtor }
 

Functions

enum ctor_kinds is_constructor_name (const char *name)
 
enum dtor_kinds is_destructor_name (const char *name)
 
int is_vtable_name (const char *name)
 
int is_operator_name (const char *name)
 
struct valuevalue_virtual_fn_field (struct value **valuep, struct fn_field *f, int j, struct type *type, int offset)
 
struct typevalue_rtti_type (struct value *value, int *full, LONGEST *top, int *using_enc)
 
int baseclass_offset (struct type *type, int index, const gdb_byte *valaddr, LONGEST embedded_offset, CORE_ADDR address, const struct value *val)
 
void cplus_print_method_ptr (const gdb_byte *contents, struct type *type, struct ui_file *stream)
 
int cplus_method_ptr_size (struct type *to_type)
 
struct valuecplus_method_ptr_to_value (struct value **this_p, struct value *method_ptr)
 
void cplus_make_method_ptr (struct type *type, gdb_byte *CONTENTS, CORE_ADDR address, int is_virtual)
 
void cplus_print_vtable (struct value *value)
 
struct valuecplus_typeid (struct value *value)
 
struct typecplus_typeid_type (struct gdbarch *gdbarch)
 
struct typecplus_type_from_type_info (struct value *value)
 
std::string cplus_typename_from_type_info (struct value *value)
 
CORE_ADDR cplus_skip_trampoline (frame_info_ptr frame, CORE_ADDR stop_pc)
 
struct language_pass_by_ref_info cp_pass_by_reference (struct type *type)
 
int register_cp_abi (struct cp_abi_ops *abi)
 
void set_cp_abi_as_auto_default (const char *short_name)
 

Enumeration Type Documentation

◆ ctor_kinds

enum ctor_kinds
Enumerator
complete_object_ctor 
base_object_ctor 
complete_object_allocating_ctor 

Definition at line 40 of file cp-abi.h.

◆ dtor_kinds

enum dtor_kinds
Enumerator
deleting_dtor 
complete_object_dtor 
base_object_dtor 

Definition at line 61 of file cp-abi.h.

Function Documentation

◆ baseclass_offset()

int baseclass_offset ( struct type * type,
int index,
const gdb_byte * valaddr,
LONGEST embedded_offset,
CORE_ADDR address,
const struct value * val )
extern

◆ cp_pass_by_reference()

struct language_pass_by_ref_info cp_pass_by_reference ( struct type * type)
extern

Definition at line 227 of file cp-abi.c.

References current_cp_abi, cp_abi_ops::pass_by_reference, and type.

Referenced by cplus_language::pass_by_reference_info().

◆ cplus_make_method_ptr()

void cplus_make_method_ptr ( struct type * type,
gdb_byte * CONTENTS,
CORE_ADDR address,
int is_virtual )

Definition at line 147 of file cp-abi.c.

References current_cp_abi, and cp_abi_ops::make_method_ptr.

Referenced by value_cast(), and value_struct_elt_for_reference().

◆ cplus_method_ptr_size()

int cplus_method_ptr_size ( struct type * to_type)

Definition at line 139 of file cp-abi.c.

References current_cp_abi, and cp_abi_ops::method_ptr_size.

Referenced by smash_to_methodptr_type().

◆ cplus_method_ptr_to_value()

struct value * cplus_method_ptr_to_value ( struct value ** this_p,
struct value * method_ptr )

◆ cplus_print_method_ptr()

void cplus_print_method_ptr ( const gdb_byte * contents,
struct type * type,
struct ui_file * stream )

Definition at line 129 of file cp-abi.c.

References current_cp_abi, and cp_abi_ops::print_method_ptr.

Referenced by generic_value_print().

◆ cplus_print_vtable()

void cplus_print_vtable ( struct value * value)

Definition at line 176 of file cp-abi.c.

References current_cp_abi, and cp_abi_ops::print_vtable.

Referenced by info_vtbl_command().

◆ cplus_skip_trampoline()

CORE_ADDR cplus_skip_trampoline ( frame_info_ptr frame,
CORE_ADDR stop_pc )

Definition at line 156 of file cp-abi.c.

References current_cp_abi, and cp_abi_ops::skip_trampoline.

Referenced by cplus_language::skip_trampoline().

◆ cplus_type_from_type_info()

struct type * cplus_type_from_type_info ( struct value * value)
extern

Definition at line 206 of file cp-abi.c.

References current_cp_abi, cp_abi_ops::get_type_from_type_info, and value.

Referenced by compute_exception().

◆ cplus_typeid()

struct value * cplus_typeid ( struct value * value)
extern

Definition at line 186 of file cp-abi.c.

References current_cp_abi, cp_abi_ops::get_typeid, and value.

◆ cplus_typeid_type()

struct type * cplus_typeid_type ( struct gdbarch * gdbarch)
extern

Definition at line 196 of file cp-abi.c.

References current_cp_abi, and cp_abi_ops::get_typeid_type.

◆ cplus_typename_from_type_info()

std::string cplus_typename_from_type_info ( struct value * value)
extern

◆ is_constructor_name()

enum ctor_kinds is_constructor_name ( const char * name)
extern

◆ is_destructor_name()

enum dtor_kinds is_destructor_name ( const char * name)
extern

◆ is_operator_name()

int is_operator_name ( const char * name)
extern

Definition at line 61 of file cp-abi.c.

References current_cp_abi, cp_abi_ops::is_operator_name, and name.

Referenced by gdb_mangle_name(), and linespec_lexer_lex_string().

◆ is_vtable_name()

int is_vtable_name ( const char * name)
extern

◆ register_cp_abi()

int register_cp_abi ( struct cp_abi_ops * abi)
extern

Definition at line 252 of file cp-abi.c.

References CP_ABI_MAX, cp_abis, and num_cp_abis.

◆ set_cp_abi_as_auto_default()

void set_cp_abi_as_auto_default ( const char * short_name)
extern

◆ value_rtti_type()

struct type * value_rtti_type ( struct value * value,
int * full,
LONGEST * top,
int * using_enc )
extern

◆ value_virtual_fn_field()

struct value * value_virtual_fn_field ( struct value ** valuep,
struct fn_field * f,
int j,
struct type * type,
int offset )
extern

Definition at line 97 of file cp-abi.c.

References current_cp_abi, f(), value::offset(), type, and cp_abi_ops::virtual_fn_field.

Referenced by find_overload_match(), and search_struct_method().