GDB (xrefs)
|
#include "defs.h"
#include "gdb_obstack.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "expression.h"
#include "value.h"
#include "command.h"
#include "gdbcmd.h"
#include "demangle.h"
#include "annotate.h"
#include "c-lang.h"
#include "target.h"
#include "cp-abi.h"
#include "valprint.h"
#include "cp-support.h"
#include "language.h"
#include "extension.h"
#include "typeprint.h"
Go to the source code of this file.
Functions | |
static void | show_vtblprint (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static void | show_objectprint (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
static void | show_static_field_print (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
void | _initialize_cp_valprint (void) |
static void | cp_print_static_field (struct type *, struct value *, struct ui_file *, int, const struct value_print_options *) |
static void | cp_print_value (struct type *, struct type *, const gdb_byte *, int, CORE_ADDR, struct ui_file *, int, const struct value *, const struct value_print_options *, struct type **) |
int | cp_is_vtbl_ptr_type (struct type *type) |
int | cp_is_vtbl_member (struct type *type) |
void | cp_print_value_fields (struct type *type, struct type *real_type, const gdb_byte *valaddr, int offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options, struct type **dont_print_vb, int dont_print_statmem) |
void | cp_print_value_fields_rtti (struct type *type, const gdb_byte *valaddr, int offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options, struct type **dont_print_vb, int dont_print_statmem) |
static void | cp_find_class_member (struct type **self_p, int *fieldno, LONGEST offset) |
void | cp_print_class_member (const gdb_byte *valaddr, struct type *type, struct ui_file *stream, char *prefix) |
Variables | |
static struct obstack | dont_print_vb_obstack |
static struct obstack | dont_print_statmem_obstack |
static struct obstack | dont_print_stat_array_obstack |
EXPORTED_CONST char | vtbl_ptr_name [] = "__vtbl_ptr_type" |
void _initialize_cp_valprint | ( | void | ) |
Definition at line 816 of file cp-valprint.c.
References _, add_setshow_boolean_cmd(), class_support, dont_print_stat_array_obstack, dont_print_statmem_obstack, dont_print_vb_obstack, value_print_options::objectprint, setprintlist, show_objectprint(), show_static_field_print(), show_vtblprint(), showprintlist, value_print_options::static_field_print, user_print_options, and value_print_options::vtblprint.
Definition at line 723 of file cp-valprint.c.
References check_typedef(), len, QUIT, TYPE_FIELD_BITPOS, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_N_BASECLASSES, and TYPE_NFIELDS.
Referenced by cp_print_class_member().
Definition at line 108 of file cp-valprint.c.
References cp_is_vtbl_ptr_type(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_PTR, TYPE_CODE_STRUCT, and TYPE_TARGET_TYPE.
Referenced by c_val_print().
Definition at line 97 of file cp-valprint.c.
References type_name_no_tag(), and vtbl_ptr_name.
Referenced by c_val_print(), and cp_is_vtbl_member().
void cp_print_class_member | ( | const gdb_byte * | valaddr, |
struct type * | type, | ||
struct ui_file * | stream, | ||
char * | prefix | ||
) |
Definition at line 763 of file cp-valprint.c.
References c_type_print_base(), cp_find_class_member(), extract_signed_integer(), fprintf_filtered(), fputs_filtered(), gdbarch_byte_order(), get_type_arch(), name, TYPE_FIELD_NAME, TYPE_LENGTH, type_name_no_tag(), type_print_raw_options, and TYPE_SELF_TYPE.
Referenced by c_val_print().
|
static |
Definition at line 633 of file cp-valprint.c.
References CHECK_TYPEDEF, cp_print_value_fields(), current_language, value_print_options::deref_ref, dont_print_stat_array_obstack, dont_print_statmem_obstack, fputs_filtered(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_STRUCT, TYPE_TARGET_TYPE, val_print(), val_print_optimized_out(), value_address(), value_contents_for_printing(), value_embedded_offset(), value_enclosing_type(), and value_entirely_optimized_out().
Referenced by cp_print_value_fields().
|
static |
Definition at line 461 of file cp-valprint.c.
References apply_ext_lang_val_pretty_printer(), baseclass_offset(), BASETYPE_VIA_VIRTUAL, CATCH, check_typedef(), cp_print_value_fields(), current_language, do_cleanups(), dont_print_vb_obstack, END_CATCH, fprintf_filtered(), fputs_filtered(), make_cleanup(), NOT_AVAILABLE_ERROR, offset, value_print_options::prettyformat, print_spaces_filtered(), value_print_options::raw, RETURN_MASK_ERROR, target_read_memory(), TRY, TYPE_BASECLASS, TYPE_LENGTH, TYPE_N_BASECLASSES, TYPE_NAME, val_print_invalid_address(), val_print_unavailable(), value_address(), value_contents_for_printing_const(), value_from_contents_and_address(), value_type(), xfree(), and xmalloc().
Referenced by cp_print_value_fields().
void cp_print_value_fields | ( | struct type * | type, |
struct type * | real_type, | ||
const gdb_byte * | valaddr, | ||
int | offset, | ||
CORE_ADDR | address, | ||
struct ui_file * | stream, | ||
int | recurse, | ||
const struct value * | val, | ||
const struct value_print_options * | options, | ||
struct type ** | dont_print_vb, | ||
int | dont_print_statmem | ||
) |
Definition at line 156 of file cp-valprint.c.
References _, annotate_field_begin(), annotate_field_end(), annotate_field_name_end(), annotate_field_value(), CATCH, CHECK_TYPEDEF, common_val_print(), cp_print_static_field(), cp_print_value(), current_language, value_print_options::deref_ref, dont_print_stat_array_obstack, dont_print_statmem_obstack, END_CATCH, extract_typed_address(), field_is_static(), fprintf_filtered(), fprintf_symbol_filtered(), fputs_filtered(), get_type_arch(), get_vptr_fieldno(), language_defn::la_language, len, n_spaces(), value_print_options::prettyformat, print_function_pointer_address(), print_spaces_filtered(), RETURN_MASK_ERROR, value_print_options::static_field_print, TRY, TYPE_FIELD, TYPE_FIELD_BITPOS, TYPE_FIELD_BITSIZE, TYPE_FIELD_IGNORE, TYPE_FIELD_NAME, TYPE_FIELD_PACKED, TYPE_FIELD_TYPE, TYPE_N_BASECLASSES, type_name_no_tag(), TYPE_NFIELDS, val_print(), valprint_check_validity(), value_bits_synthetic_pointer(), value_field_bitfield(), value_static_field(), and wrap_here().
Referenced by cp_print_static_field(), cp_print_value(), cp_print_value_fields_rtti(), and m2_val_print().
void cp_print_value_fields_rtti | ( | struct type * | type, |
const gdb_byte * | valaddr, | ||
int | offset, | ||
CORE_ADDR | address, | ||
struct ui_file * | stream, | ||
int | recurse, | ||
const struct value * | val, | ||
const struct value_print_options * | options, | ||
struct type ** | dont_print_vb, | ||
int | dont_print_statmem | ||
) |
Definition at line 419 of file cp-valprint.c.
References cp_print_value_fields(), TARGET_CHAR_BIT, type, TYPE_LENGTH, value_bits_any_optimized_out(), value_from_contents_and_address(), value_rtti_type(), and value_type().
Referenced by c_val_print().
|
static |
Definition at line 52 of file cp-valprint.c.
References _, and fprintf_filtered().
Referenced by _initialize_cp_valprint().
|
static |
Definition at line 62 of file cp-valprint.c.
References _, and fprintf_filtered().
Referenced by _initialize_cp_valprint().
|
static |
Definition at line 41 of file cp-valprint.c.
References _, and fprintf_filtered().
Referenced by _initialize_cp_valprint().
|
static |
Definition at line 74 of file cp-valprint.c.
Referenced by _initialize_cp_valprint(), cp_print_static_field(), and cp_print_value_fields().
|
static |
Definition at line 73 of file cp-valprint.c.
Referenced by _initialize_cp_valprint(), cp_print_static_field(), and cp_print_value_fields().
|
static |
Definition at line 72 of file cp-valprint.c.
Referenced by _initialize_cp_valprint(), and cp_print_value().
EXPORTED_CONST char vtbl_ptr_name[] = "__vtbl_ptr_type" |
Definition at line 91 of file cp-valprint.c.
Referenced by cp_is_vtbl_ptr_type(), and define_symbol().