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 "gdb_string.h"
#include "c-lang.h"
#include "target.h"
#include "cp-abi.h"
#include "valprint.h"
#include "cp-support.h"
#include "language.h"
#include "python/python.h"
#include "exceptions.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 **domain_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 |
const char | vtbl_ptr_name [] = "__vtbl_ptr_type" |
void _initialize_cp_valprint | ( | void | ) |
static void cp_find_class_member | ( | struct type ** | domain_p, |
int * | fieldno, | ||
LONGEST | offset | ||
) | [static] |
Definition at line 721 of file cp-valprint.c.
References check_typedef(), len, LONGEST, QUIT, TYPE_FIELD_BITPOS, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_N_BASECLASSES, and TYPE_NFIELDS.
Referenced by cp_print_class_member().
int cp_is_vtbl_member | ( | struct type * | type | ) |
Definition at line 110 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().
int cp_is_vtbl_ptr_type | ( | struct type * | type | ) |
Definition at line 99 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 761 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(), LONGEST, name, TYPE_DOMAIN_TYPE, TYPE_FIELD_NAME, TYPE_LENGTH, type_name_no_tag(), and type_print_raw_options.
Referenced by c_val_print().
static void cp_print_static_field | ( | struct type * | type, |
struct value * | val, | ||
struct ui_file * | stream, | ||
int | recurse, | ||
const struct value_print_options * | options | ||
) | [static] |
Definition at line 636 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(), value_address(), value_contents_for_printing(), value_embedded_offset(), and value_enclosing_type().
Referenced by cp_print_value_fields().
static void cp_print_value | ( | 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 | ||
) | [static] |
Definition at line 467 of file cp-valprint.c.
References apply_val_pretty_printer(), baseclass_offset(), BASETYPE_VIA_VIRTUAL, check_typedef(), cp_print_value_fields(), current_language, do_cleanups(), dont_print_vb_obstack, gdb_exception::error, fprintf_filtered(), fputs_filtered(), make_cleanup(), NOT_AVAILABLE_ERROR, offset, value_print_options::prettyformat, print_spaces_filtered(), value_print_options::raw, gdb_exception::reason, RETURN_MASK_ERROR, target_read_memory(), TRY_CATCH, 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(), 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 158 of file cp-valprint.c.
References _, annotate_field_begin(), annotate_field_end(), annotate_field_name_end(), annotate_field_value(), 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, extract_typed_address(), field_is_static(), fprintf_filtered(), fprintf_symbol_filtered(), fputs_filtered(), get_type_arch(), get_vptr_fieldno(), language_defn::la_language, len, gdb_exception::message, n_spaces(), value_print_options::prettyformat, print_function_pointer_address(), print_spaces_filtered(), gdb_exception::reason, RETURN_MASK_ERROR, value_print_options::static_field_print, TRY_CATCH, 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(), val_print_optimized_out(), valprint_check_validity(), value_bits_synthetic_pointer(), value_bits_valid(), 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 427 of file cp-valprint.c.
References cp_print_value_fields(), type, TYPE_LENGTH, value_bits_valid(), value_from_contents_and_address(), and value_rtti_type().
Referenced by c_val_print().
static void show_objectprint | ( | struct ui_file * | file, |
int | from_tty, | ||
struct cmd_list_element * | c, | ||
const char * | value | ||
) | [static] |
Definition at line 54 of file cp-valprint.c.
References _, and fprintf_filtered().
static void show_static_field_print | ( | struct ui_file * | file, |
int | from_tty, | ||
struct cmd_list_element * | c, | ||
const char * | value | ||
) | [static] |
Definition at line 64 of file cp-valprint.c.
References _, and fprintf_filtered().
static void show_vtblprint | ( | struct ui_file * | file, |
int | from_tty, | ||
struct cmd_list_element * | c, | ||
const char * | value | ||
) | [static] |
Definition at line 43 of file cp-valprint.c.
References _, and fprintf_filtered().
struct obstack dont_print_stat_array_obstack [static] |
Definition at line 76 of file cp-valprint.c.
Referenced by cp_print_static_field(), and cp_print_value_fields().
struct obstack dont_print_statmem_obstack [static] |
Definition at line 75 of file cp-valprint.c.
Referenced by cp_print_static_field(), and cp_print_value_fields().
struct obstack dont_print_vb_obstack [static] |
Definition at line 74 of file cp-valprint.c.
Referenced by cp_print_value().
const char vtbl_ptr_name[] = "__vtbl_ptr_type" |
Definition at line 93 of file cp-valprint.c.
Referenced by cp_is_vtbl_ptr_type(), and define_symbol().