GDB (xrefs)

Functions | Variables
/tmp/gdb-8.1/gdb/c-valprint.c File Reference
`#include "defs.h"`
`#include "symtab.h"`
`#include "gdbtypes.h"`
`#include "expression.h"`
`#include "value.h"`
`#include "valprint.h"`
`#include "language.h"`
`#include "c-lang.h"`
`#include "cp-abi.h"`
`#include "target.h"`
`#include "objfiles.h"`

Go to the source code of this file.

## Functions
static int | textual_name (const char *name)
int | c_textual_element_type (struct type *type, char format)
static void | print_unpacked_pointer (struct type *type, struct type *elttype, struct type *unresolved_elttype, const gdb_byte *valaddr, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value_print_options *options)
static void | c_val_print_array (struct type *type, const gdb_byte *valaddr, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, struct value *original_value, const struct value_print_options *options)
static void | c_val_print_ptr (struct type *type, const gdb_byte *valaddr, int embedded_offset, struct ui_file *stream, int recurse, struct value *original_value, const struct value_print_options *options)
static void | c_val_print_struct (struct type *type, const gdb_byte *valaddr, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, struct value *original_value, const struct value_print_options *options)
static void | c_val_print_union (struct type *type, const gdb_byte *valaddr, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, struct value *original_value, const struct value_print_options *options)
static void | c_val_print_int (struct type *type, struct type *unresolved_type, const gdb_byte *valaddr, int embedded_offset, struct ui_file *stream, struct value *original_value, const struct value_print_options *options)
static void | c_val_print_memberptr (struct type *type, const gdb_byte *valaddr, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, struct value *original_value, const struct value_print_options *options)
void | c_val_print (struct type *type, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, struct value *original_value, const struct value_print_options *options)
void | c_value_print (struct value *val, struct ui_file *stream, const struct value_print_options *options)

## Variables
static const struct generic_val_print_decorations | c_decorations

## Function Documentation

## ◆ c_textual_element_type()

int c_textual_element_type | ( | struct type * | type,
|  | char | format
| ) |  |

Definition at line 57 of file c-valprint.c.

References check_typedef(), textual_name(), type, TYPE_CODE, TYPE_CODE_CHAR, TYPE_CODE_INT, TYPE_CODE_TYPEDEF, TYPE_LENGTH, TYPE_NAME, TYPE_NOTTEXT, and TYPE_TARGET_TYPE.

Referenced by c_get_string(), c_val_print_array(), c_val_print_int(), gen_traced_pop(), and print_unpacked_pointer().

## ◆ c_val_print()

void c_val_print | ( | struct type * | type,
|  | int | embedded_offset,
|  | CORE_ADDR | address,
|  | struct ui_file * | stream,
|  | int | recurse,
|  | struct value * | original_value,
|  | const struct value_print_options * | options
| ) |  |

Definition at line 500 of file c-valprint.c.

References c_decorations, c_val_print_array(), c_val_print_int(), c_val_print_memberptr(), c_val_print_ptr(), c_val_print_struct(), c_val_print_union(), check_typedef(), cplus_print_method_ptr(), gdb_flush(), generic_val_print(), type, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_COMPLEX, TYPE_CODE_DECFLOAT, TYPE_CODE_ENUM, TYPE_CODE_ERROR, TYPE_CODE_FLAGS, TYPE_CODE_FLT, TYPE_CODE_FUNC, TYPE_CODE_INT, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHOD, TYPE_CODE_METHODPTR, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, TYPE_CODE_RVALUE_REF, TYPE_CODE_STRUCT, TYPE_CODE_UNDEF, TYPE_CODE_UNION, TYPE_CODE_VOID, and value_contents_for_printing().

Referenced by d_val_print(), go_val_print(), rust_get_disr_info(), and rust_val_print().

## ◆ c_val_print_array()

static void c_val_print_array | ( | struct type * | type,
|  | const gdb_byte * | valaddr,
|  | int | embedded_offset,
|  | CORE_ADDR | address,
|  | struct ui_file * | stream,
|  | int | recurse,
|  | struct value * | original_value,
|  | const struct value_print_options * | options
| ) |  |
| static

Definition at line 236 of file c-valprint.c.

References _, gdbarch::byte_order, c_textual_element_type(), check_typedef(), cp_is_vtbl_ptr_type(), error(), extract_unsigned_integer(), value_print_options::format, fprintf_filtered(), gdbarch_addressable_memory_unit_size(), gdbarch_byte_order(), get_array_bounds(), get_type_arch(), LA_PRINT_STRING, value_print_options::prettyformat_arrays, value_print_options::print_max, print_spaces_filtered(), print_unpacked_pointer(), value_print_options::stop_print_at_null, TARGET_CHAR_BIT, TYPE_LENGTH, TYPE_TARGET_TYPE, val_print_array_elements(), value_bits_any_optimized_out(), and value_bytes_available().

Referenced by c_val_print().

## ◆ c_val_print_int()

static void c_val_print_int | ( | struct type * | type,
|  | struct type * | unresolved_type,
|  | const gdb_byte * | valaddr,
|  | int | embedded_offset,
|  | struct ui_file * | stream,
|  | struct value * | original_value,
|  | const struct value_print_options * | options
| ) |  |
| static

Definition at line 441 of file c-valprint.c.

References c_textual_element_type(), value_print_options::format, fputs_filtered(), gdbarch_addressable_memory_unit_size(), get_type_arch(), LA_PRINT_CHAR, value_print_options::output_format, unpack_long(), and val_print_scalar_formatted().

Referenced by c_val_print().

## ◆ c_val_print_memberptr()

static void c_val_print_memberptr | ( | struct type * | type,
|  | const gdb_byte * | valaddr,
|  | int | embedded_offset,
|  | CORE_ADDR | address,
|  | struct ui_file * | stream,
|  | int | recurse,
|  | struct value * | original_value,
|  | const struct value_print_options * | options
| ) |  |
| static

Definition at line 479 of file c-valprint.c.

References c_decorations, cp_print_class_member(), value_print_options::format, and generic_val_print().

Referenced by c_val_print().

## ◆ c_val_print_ptr()

static void c_val_print_ptr | ( | struct type * | type,
|  | const gdb_byte * | valaddr,
|  | int | embedded_offset,
|  | struct ui_file * | stream,
|  | int | recurse,
|  | struct value * | original_value,
|  | const struct value_print_options * | options
| ) |  |
| static

Definition at line 349 of file c-valprint.c.

References check_typedef(), cp_is_vtbl_ptr_type(), extract_typed_address(), value_print_options::format, gdbarch_addressable_memory_unit_size(), get_type_arch(), print_function_pointer_address(), print_unpacked_pointer(), TYPE_TARGET_TYPE, unpack_pointer(), val_print_scalar_formatted(), and value_print_options::vtblprint.

Referenced by c_val_print().

## ◆ c_val_print_struct()

static void c_val_print_struct | ( | struct type * | type,
|  | const gdb_byte * | valaddr,
|  | int | embedded_offset,
|  | CORE_ADDR | address,
|  | struct ui_file * | stream,
|  | int | recurse,
|  | struct value * | original_value,
|  | const struct value_print_options * | options
| ) |  |
| static

Definition at line 389 of file c-valprint.c.

References cp_is_vtbl_ptr_type(), cp_print_value_fields_rtti(), extract_typed_address(), get_type_arch(), offset, print_function_pointer_address(), TYPE_FIELD_BITPOS, TYPE_FIELD_TYPE, VTBL_FNADDR_OFFSET, and value_print_options::vtblprint.

Referenced by c_val_print(), and c_val_print_union().

## ◆ c_val_print_union()

static void c_val_print_union | ( | struct type * | type,
|  | const gdb_byte * | valaddr,
|  | int | embedded_offset,
|  | CORE_ADDR | address,
|  | struct ui_file * | stream,
|  | int | recurse,
|  | struct value * | original_value,
|  | const struct value_print_options * | options
| ) |  |
| static

Definition at line 421 of file c-valprint.c.

References c_val_print_struct(), fprintf_filtered(), and value_print_options::unionprint.

Referenced by c_val_print().

## ◆ c_value_print()

void c_value_print | ( | struct value * | val,
|  | struct ui_file * | stream,
|  | const struct value_print_options * | options
| ) |  |

Definition at line 571 of file c-valprint.c.

References _, check_typedef(), current_language, value_print_options::deref_ref, fprintf_filtered(), value_print_options::objectprint, textual_name(), type, TYPE_CODE, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_CODE_UNDEF, TYPE_IS_REFERENCE, TYPE_NAME, type_print(), TYPE_TARGET_TYPE, val_print(), value_addr(), value_address(), value_as_address(), value_embedded_offset(), value_enclosing_type(), value_entirely_available(), value_from_pointer(), value_full_object(), value_ind(), value_initialized(), value_ref(), value_rtti_indirect_type(), value_rtti_type(), and value_type().

## ◆ print_unpacked_pointer()

static void print_unpacked_pointer | ( | struct type * | type,
|  | struct type * | elttype,
|  | struct type * | unresolved_elttype,
|  | const gdb_byte * | valaddr,
|  | int | embedded_offset,
|  | CORE_ADDR | address,
|  | struct ui_file * | stream,
|  | int | recurse,
|  | const struct value_print_options * | options
| ) |  |
| static

Definition at line 140 of file c-valprint.c.

References value_print_options::addressprint, BMSYMBOL_VALUE_ADDRESS, c_textual_element_type(), common_val_print(), cp_is_vtbl_member(), current_language, demangle, value_print_options::format, fprintf_filtered(), fputs_filtered(), get_type_arch(), lookup_minimal_symbol_by_pc(), lookup_symbol_search_name(), bound_minimal_symbol::minsym, MSYMBOL_PRINT_NAME, MSYMBOL_SEARCH_NAME, paddress(), value_print_options::prettyformat, print_address_demangle(), print_function_pointer_address(), print_spaces_filtered(), block_symbol::symbol, value_print_options::symbol_print, SYMBOL_TYPE, TYPE_CODE, TYPE_CODE_FUNC, unpack_pointer(), val_print_string(), value_at(), VAR_DOMAIN, and value_print_options::vtblprint.

Referenced by c_val_print_array(), c_val_print_ptr(), and pascal_val_print().

## ◆ textual_name()

static int textual_name | ( | const char * | name | ) |
| static

Definition at line 38 of file c-valprint.c.

References name.

Referenced by c_textual_element_type(), and c_value_print().

## Variable Documentation

## ◆ c_decorations

const struct generic_val_print_decorations c_decorations
| static

Initial value:
=
{
"",
" + ",
" * I",
"true",
"false",
"void",
"{",
"}"
}

Definition at line 120 of file c-valprint.c.

Referenced by c_val_print(), and c_val_print_memberptr().