GDB (xrefs)

Classes | Enumerations | Functions
/tmp/gdb-8.1/gdb/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 value * | value_virtual_fn_field (struct value **valuep, struct fn_field *f, int j, struct type *type, int offset)
struct type * | value_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 value * | cplus_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 value * | cplus_typeid (struct value *value)
struct type * | cplus_typeid_type (struct gdbarch *gdbarch)
struct type * | cplus_type_from_type_info (struct value *value)
std::string | cplus_typename_from_type_info (struct value *value)
CORE_ADDR | cplus_skip_trampoline (struct frame_info *frame, CORE_ADDR stop_pc)
int | 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
| ) |  |

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

References _, cp_abi_ops::baseclass_offset, CATCH, current_cp_abi, END_CATCH, gdb_assert, NOT_AVAILABLE_ERROR, RETURN_MASK_ERROR, throw_error(), throw_exception(), and TRY.

Referenced by cp_print_value(), do_search_struct_field(), dynamic_cast_check_1(), dynamic_cast_check_2(), find_method_list(), is_unique_ancestor_worker(), pascal_object_print_value(), search_struct_method(), and value_primitive_field().

## ◆ cp_pass_by_reference()

int cp_pass_by_reference | ( | struct type * | type | ) |

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

References current_cp_abi, cp_abi_ops::pass_by_reference, and type.

## ◆ 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, error(), 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, error(), 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
| ) |  |

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

References _, current_cp_abi, error(), and cp_abi_ops::method_ptr_to_value.

Referenced by evaluate_funcall(), and evaluate_subexp_standard().

## ◆ 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, error(), and cp_abi_ops::print_method_ptr.

Referenced by c_val_print().

## ◆ cplus_print_vtable()

void cplus_print_vtable | ( | struct value * | value | ) |

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

References _, current_cp_abi, error(), and cp_abi_ops::print_vtable.

Referenced by info_vtbl_command().

## ◆ cplus_skip_trampoline()

CORE_ADDR cplus_skip_trampoline | ( | struct frame_info * | frame,
|  | CORE_ADDR | stop_pc
| ) |  |

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

References current_cp_abi, cp_abi_ops::skip_trampoline, and stop_pc.

## ◆ cplus_type_from_type_info()

struct type* cplus_type_from_type_info | ( | struct value * | value | ) |

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

References _, current_cp_abi, error(), and cp_abi_ops::get_type_from_type_info.

Referenced by compute_exception().

## ◆ cplus_typeid()

struct value* cplus_typeid | ( | struct value * | value | ) |

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

References _, current_cp_abi, error(), and cp_abi_ops::get_typeid.

Referenced by evaluate_subexp_standard().

## ◆ cplus_typeid_type()

struct type* cplus_typeid_type | ( | struct gdbarch * | gdbarch | ) |

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

References _, current_cp_abi, error(), and cp_abi_ops::get_typeid_type.

Referenced by evaluate_subexp_standard().

## ◆ cplus_typename_from_type_info()

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

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

References _, current_cp_abi, error(), and cp_abi_ops::get_typename_from_type_info.

Referenced by check_status_exception_catchpoint().

## ◆ is_constructor_name()

enum ctor_kinds is_constructor_name | ( | const char * | name | ) |

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

References _, current_cp_abi, error(), cp_abi_ops::is_constructor_name, and name.

Referenced by c_type_print_base_struct_union(), gdb_mangle_name(), and gnuv3_pass_by_reference().

## ◆ is_destructor_name()

enum dtor_kinds is_destructor_name | ( | const char * | name | ) |

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

References _, current_cp_abi, error(), cp_abi_ops::is_destructor_name, and name.

Referenced by c_type_print_base_struct_union(), gdb_mangle_name(), and read_member_functions().

## ◆ is_operator_name()

int is_operator_name | ( | const char * | name | ) |

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

References _, current_cp_abi, error(), 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 | ) |

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

References _, current_cp_abi, error(), cp_abi_ops::is_vtable_name, and name.

Referenced by gnuv2_value_rtti_type(), ia64_convert_from_func_ptr_addr(), and record_minimal_symbol().

## ◆ register_cp_abi()

int register_cp_abi | ( | struct cp_abi_ops * | abi | ) |

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

References _, CP_ABI_MAX, cp_abis, internal_error(), and num_cp_abis.

Referenced by _initialize_cp_abi(), _initialize_gnu_v2_abi(), and _initialize_gnu_v3_abi().

## ◆ set_cp_abi_as_auto_default()

void set_cp_abi_as_auto_default | ( | const char * | short_name | ) |

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

References _, auto_cp_abi, current_cp_abi, cp_abi_ops::doc, find_cp_abi(), internal_error(), cp_abi_ops::longname, cp_abi_ops::shortname, switch_to_cp_abi(), xfree(), and xstrprintf().

Referenced by _initialize_gnu_v3_abi().

## ◆ value_rtti_type()

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

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

References CATCH, current_cp_abi, END_CATCH, RETURN_MASK_ERROR, cp_abi_ops::rtti_type, and TRY.

Referenced by c_value_print(), cp_print_value_fields_rtti(), gdbscm_value_dynamic_type(), valpy_get_dynamic_type(), value_cast_structs(), value_dynamic_cast(), value_full_object(), value_rtti_indirect_type(), and whatis_exp().

## ◆ value_virtual_fn_field()

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

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

References current_cp_abi, offset, type, and cp_abi_ops::virtual_fn_field.

Referenced by find_overload_match(), and search_struct_method().