GDB (xrefs)
|
#include "defs.h"
#include "language.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 (frame_info_ptr 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) |
struct language_pass_by_ref_info | 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 () |
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 32 of file cp-abi.c.
Referenced by register_cp_abi().
void _initialize_cp_abi | ( | ) |
Definition at line 390 of file cp-abi.c.
Referenced by initialize_all_files().
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 69 of file cp-abi.c.
References cp_abi_ops::baseclass_offset, and current_cp_abi.
Referenced by cp_print_value(), dynamic_cast_check_1(), dynamic_cast_check_2(), find_method_list(), get_baseclass_offset(), is_unique_ancestor_worker(), value::primitive_field(), struct_field_searcher::search(), and search_struct_method().
|
static |
Definition at line 354 of file cp-abi.c.
References complete_on_enum(), cp_abis, num_cp_abis, and ui_out::text().
struct language_pass_by_ref_info cp_pass_by_reference | ( | struct type * | type | ) |
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().
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, 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, 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, and cp_abi_ops::method_ptr_to_value.
Referenced by eval_op_member(), and expr::structop_member_base::evaluate_funcall().
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().
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().
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().
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().
Definition at line 186 of file cp-abi.c.
References current_cp_abi, cp_abi_ops::get_typeid, and value.
Definition at line 196 of file cp-abi.c.
References current_cp_abi, and cp_abi_ops::get_typeid_type.
std::string cplus_typename_from_type_info | ( | struct value * | value | ) |
Definition at line 216 of file cp-abi.c.
References current_cp_abi, cp_abi_ops::get_typename_from_type_info, and value.
Referenced by exception_catchpoint::check_status().
|
static |
Definition at line 295 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 37 of file cp-abi.c.
References current_cp_abi, 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 45 of file cp-abi.c.
References current_cp_abi, 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 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().
int is_vtable_name | ( | const char * | name | ) |
Definition at line 53 of file cp-abi.c.
References current_cp_abi, 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 309 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 252 of file cp-abi.c.
References CP_ABI_MAX, cp_abis, and num_cp_abis.
void set_cp_abi_as_auto_default | ( | const char * | short_name | ) |
Definition at line 266 of file cp-abi.c.
References auto_cp_abi, current_cp_abi, cp_abi_ops::doc, find_cp_abi(), cp_abi_ops::longname, cp_abi_ops::shortname, switch_to_cp_abi(), and xfree().
|
static |
Definition at line 339 of file cp-abi.c.
References list_cp_abis(), and switch_to_cp_abi().
|
static |
Definition at line 376 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().
|
static |
Definition at line 237 of file cp-abi.c.
References current_cp_abi, and find_cp_abi().
Referenced by set_cp_abi_as_auto_default(), and set_cp_abi_cmd().
Definition at line 108 of file cp-abi.c.
References check_typedef(), current_cp_abi, HAVE_CPLUS_STRUCT, cp_abi_ops::rtti_type, and value::type().
Referenced by c_value_print(), 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, f(), value::offset(), type, and cp_abi_ops::virtual_fn_field.
Referenced by find_overload_match(), and search_struct_method().
|
static |
Definition at line 30 of file cp-abi.c.
Referenced by set_cp_abi_as_auto_default().
|
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().
|
static |
Definition at line 29 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 34 of file cp-abi.c.
Referenced by cp_abi_completer(), find_cp_abi(), list_cp_abis(), and register_cp_abi().