|
GDB (xrefs)
|
#include "defs.h"#include "value.h"#include "cp-abi.h"#include "command.h"#include "gdbcmd.h"#include "ui-out.h"Go to the source code of this file.
Macros | |
| #define | CP_ABI_MAX 8 |
Functions | |
| static struct cp_abi_ops * | find_cp_abi (const char *short_name) |
| 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) |
| int | baseclass_offset (struct type *type, int index, const gdb_byte *valaddr, LONGEST embedded_offset, CORE_ADDR address, const struct value *val) |
| struct value * | value_virtual_fn_field (struct value **arg1p, struct fn_field *f, int j, struct type *type, int offset) |
| struct type * | value_rtti_type (struct value *v, int *full, LONGEST *top, int *using_enc) |
| 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) |
| void | cplus_make_method_ptr (struct type *type, gdb_byte *contents, CORE_ADDR value, int is_virtual) |
| CORE_ADDR | cplus_skip_trampoline (struct frame_info *frame, CORE_ADDR stop_pc) |
| struct value * | cplus_method_ptr_to_value (struct value **this_p, struct value *method_ptr) |
| 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) |
| int | cp_pass_by_reference (struct type *type) |
| static int | switch_to_cp_abi (const char *short_name) |
| int | register_cp_abi (struct cp_abi_ops *abi) |
| void | set_cp_abi_as_auto_default (const char *short_name) |
| static void | list_cp_abis (int from_tty) |
| static void | set_cp_abi_cmd (const char *args, int from_tty) |
| static void | cp_abi_completer (struct cmd_list_element *ignore, completion_tracker &tracker, const char *text, const char *word) |
| static void | show_cp_abi_cmd (const char *args, int from_tty) |
| void | _initialize_cp_abi (void) |
Variables | |
| static struct cp_abi_ops | current_cp_abi = { "", NULL } |
| static struct cp_abi_ops | auto_cp_abi = { "auto", NULL } |
| static struct cp_abi_ops * | cp_abis [CP_ABI_MAX] |
| static int | num_cp_abis = 0 |
| #define CP_ABI_MAX 8 |
Definition at line 31 of file cp-abi.c.
Referenced by register_cp_abi().
| void _initialize_cp_abi | ( | void | ) |
Definition at line 394 of file cp-abi.c.
References _, add_cmd(), auto_cp_abi, class_obscure, cp_abi_completer(), register_cp_abi(), set_cmd_completer(), set_cp_abi_cmd(), setlist, show_cp_abi_cmd(), showlist, and switch_to_cp_abi().
| 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().
|
static |
Definition at line 359 of file cp-abi.c.
References complete_on_enum(), cp_abis, num_cp_abis, ui_out::text(), and XNEWVEC.
Referenced by _initialize_cp_abi().
| 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.
| void cplus_make_method_ptr | ( | struct type * | type, |
| gdb_byte * | contents, | ||
| CORE_ADDR | value, | ||
| 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().
| 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().
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().
| 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().
| 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().
| 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.
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().
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().
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().
| 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().
|
static |
Definition at line 300 of file cp-abi.c.
References cp_abis, num_cp_abis, and cp_abi_ops::shortname.
Referenced by set_cp_abi_as_auto_default(), and switch_to_cp_abi().
| 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().
| 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().
| 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().
| 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().
|
static |
Definition at line 314 of file cp-abi.c.
References cp_abis, current_uiout, ui_out::field_string(), num_cp_abis, and ui_out::text().
Referenced by set_cp_abi_cmd().
| 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().
| 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().
|
static |
Definition at line 344 of file cp-abi.c.
References _, error(), list_cp_abis(), and switch_to_cp_abi().
Referenced by _initialize_cp_abi().
|
static |
Definition at line 381 of file cp-abi.c.
References current_cp_abi, current_uiout, ui_out::field_string(), cp_abi_ops::longname, cp_abi_ops::shortname, and ui_out::text().
Referenced by _initialize_cp_abi().
|
static |
Definition at line 235 of file cp-abi.c.
References current_cp_abi, and find_cp_abi().
Referenced by _initialize_cp_abi(), set_cp_abi_as_auto_default(), and set_cp_abi_cmd().
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().
| struct value* value_virtual_fn_field | ( | struct value ** | arg1p, |
| 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().
|
static |
Definition at line 29 of file cp-abi.c.
Referenced by _initialize_cp_abi(), and set_cp_abi_as_auto_default().
|
static |
Definition at line 32 of file cp-abi.c.
Referenced by cp_abi_completer(), find_cp_abi(), list_cp_abis(), and register_cp_abi().
|
static |
Definition at line 28 of file cp-abi.c.
Referenced by baseclass_offset(), cp_pass_by_reference(), cplus_make_method_ptr(), cplus_method_ptr_size(), cplus_method_ptr_to_value(), cplus_print_method_ptr(), cplus_print_vtable(), cplus_skip_trampoline(), cplus_type_from_type_info(), cplus_typeid(), cplus_typeid_type(), cplus_typename_from_type_info(), is_constructor_name(), is_destructor_name(), is_operator_name(), is_vtable_name(), set_cp_abi_as_auto_default(), show_cp_abi_cmd(), switch_to_cp_abi(), value_rtti_type(), and value_virtual_fn_field().
|
static |
Definition at line 33 of file cp-abi.c.
Referenced by cp_abi_completer(), find_cp_abi(), list_cp_abis(), and register_cp_abi().
1.8.14