GDB (xrefs)

Functions | Variables
/tmp/gdb-8.1/gdb/p-valprint.c File Reference
`#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 "gdbcore.h"`
`#include "demangle.h"`
`#include "valprint.h"`
`#include "typeprint.h"`
`#include "language.h"`
`#include "target.h"`
`#include "annotate.h"`
`#include "p-lang.h"`
`#include "cp-abi.h"`
`#include "cp-support.h"`
`#include "objfiles.h"`
`#include "common/byte-vector.h"`

Go to the source code of this file.

## Functions
void | pascal_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 | pascal_value_print (struct value *val, struct ui_file *stream, const struct value_print_options *options)
static void | show_pascal_static_field_print (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void | pascal_object_print_static_field (struct value *, struct ui_file *, int, const struct value_print_options *)
static void | pascal_object_print_value (struct type *, const gdb_byte *, LONGEST, CORE_ADDR, struct ui_file *, int, struct value *, const struct value_print_options *, struct type **)
int | pascal_object_is_vtbl_ptr_type (struct type *type)
int | pascal_object_is_vtbl_member (struct type *type)
void | pascal_object_print_value_fields (struct type *type, const gdb_byte *valaddr, LONGEST offset, CORE_ADDR address, struct ui_file *stream, int recurse, struct value *val, const struct value_print_options *options, struct type **dont_print_vb, int dont_print_statmem)
void | _initialize_pascal_valprint (void)

## Variables
static const struct generic_val_print_decorations | p_decorations
static struct obstack | dont_print_vb_obstack
static struct obstack | dont_print_statmem_obstack
const char | pascal_vtbl_ptr_name []

## Function Documentation

## ◆ _initialize_pascal_valprint()

void _initialize_pascal_valprint | ( | void |  | ) |

Definition at line 894 of file p-valprint.c.

References _, add_setshow_boolean_cmd(), class_support, value_print_options::pascal_static_field_print, setprintlist, show_pascal_static_field_print(), showprintlist, and user_print_options.

## ◆ pascal_object_is_vtbl_member()

int pascal_object_is_vtbl_member | ( | struct type * | type | ) |

Definition at line 502 of file p-valprint.c.

References pascal_object_is_vtbl_ptr_type(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_PTR, TYPE_CODE_STRUCT, and TYPE_TARGET_TYPE.

Referenced by pascal_val_print().

## ◆ pascal_object_is_vtbl_ptr_type()

int pascal_object_is_vtbl_ptr_type | ( | struct type * | type | ) |

Definition at line 490 of file p-valprint.c.

References pascal_vtbl_ptr_name, and type_name_no_tag().

Referenced by pascal_object_is_vtbl_member(), and pascal_val_print().

## ◆ pascal_object_print_static_field()

static void pascal_object_print_static_field | ( | struct value * | val,
|  | struct ui_file * | stream,
|  | int | recurse,
|  | const struct value_print_options * | options
| ) |  |
| static

Definition at line 839 of file p-valprint.c.

References check_typedef(), common_val_print(), current_language, value_print_options::deref_ref, dont_print_statmem_obstack, fputs_filtered(), pascal_object_print_value_fields(), TYPE_CODE, TYPE_CODE_STRUCT, val_print_optimized_out(), value_address(), value_contents_for_printing(), value_embedded_offset(), value_entirely_optimized_out(), and value_type().

Referenced by pascal_object_print_value_fields().

## ◆ pascal_object_print_value()

static void pascal_object_print_value | ( | struct type * | type,
|  | const gdb_byte * | valaddr,
|  | LONGEST | offset,
|  | CORE_ADDR | address,
|  | struct ui_file * | stream,
|  | int | recurse,
|  | struct value * | val,
|  | const struct value_print_options * | options,
|  | struct type ** | dont_print_vb
| ) |  |
| static

Definition at line 706 of file p-valprint.c.

References baseclass_offset(), BASETYPE_VIA_VIRTUAL, CATCH, check_typedef(), dont_print_vb_obstack, END_CATCH, fprintf_filtered(), fputs_filtered(), NOT_AVAILABLE_ERROR, offset, pascal_object_print_value_fields(), value_print_options::prettyformat, print_spaces_filtered(), RETURN_MASK_ERROR, target_read_memory(), TRY, TYPE_BASECLASS, TYPE_LENGTH, TYPE_N_BASECLASSES, type_name_no_tag(), val_print_invalid_address(), and val_print_unavailable().

Referenced by pascal_object_print_value_fields().

## ◆ pascal_object_print_value_fields()

void pascal_object_print_value_fields | ( | struct type * | type,
|  | const gdb_byte * | valaddr,
|  | LONGEST | offset,
|  | CORE_ADDR | address,
|  | struct ui_file * | stream,
|  | int | recurse,
|  | struct value * | val,
|  | const struct value_print_options * | options,
|  | struct type ** | dont_print_vb,
|  | int | dont_print_statmem
| ) |  |

Definition at line 534 of file p-valprint.c.

References _, annotate_field_begin(), annotate_field_end(), annotate_field_name_end(), annotate_field_value(), check_typedef(), common_val_print(), current_language, value_print_options::deref_ref, dont_print_statmem_obstack, field_is_static(), fprintf_filtered(), fprintf_symbol_filtered(), fputs_filtered(), language_cplus, n_spaces(), offset, pascal_object_print_static_field(), pascal_object_print_value(), value_print_options::pascal_static_field_print, value_print_options::prettyformat, print_spaces_filtered(), 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(), value_bits_synthetic_pointer(), value_field_bitfield(), and wrap_here().

Referenced by pascal_object_print_static_field(), pascal_object_print_value(), and pascal_val_print().

## ◆ pascal_val_print()

void pascal_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 62 of file p-valprint.c.

References _, value_print_options::addressprint, BMSYMBOL_VALUE_ADDRESS, gdbarch::byte_order, check_typedef(), common_val_print(), current_language, demangle, error(), extract_unsigned_integer(), value_print_options::format, fprintf_filtered(), fputs_filtered(), gdb_flush(), gdbarch_byte_order(), generic_val_print(), get_array_bounds(), get_discrete_bounds(), get_type_arch(), is_pascal_string_type(), LA_PRINT_STRING, lookup_minimal_symbol_by_pc(), lookup_symbol_search_name(), bound_minimal_symbol::minsym, MSYMBOL_PRINT_NAME, MSYMBOL_SEARCH_NAME, p_decorations, paddress(), pascal_object_is_vtbl_member(), pascal_object_is_vtbl_ptr_type(), pascal_object_print_value_fields(), value_print_options::prettyformat, value_print_options::prettyformat_arrays, print_address_demangle(), value_print_options::print_max, print_spaces_filtered(), print_type_scalar(), print_unpacked_pointer(), read_memory(), value_print_options::stop_print_at_null, block_symbol::symbol, value_print_options::symbol_print, SYMBOL_TYPE, TARGET_CHAR_BIT, TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_ENUM, TYPE_CODE_ERROR, TYPE_CODE_FLAGS, TYPE_CODE_FLT, TYPE_CODE_FUNC, TYPE_CODE_INT, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, TYPE_CODE_SET, TYPE_CODE_STRUCT, TYPE_CODE_UNDEF, TYPE_CODE_UNION, TYPE_CODE_VOID, TYPE_FIELD_BITPOS, TYPE_FIELD_TYPE, TYPE_HIGH_BOUND, TYPE_INDEX_TYPE, TYPE_LENGTH, TYPE_STUB, TYPE_TARGET_TYPE, value_print_options::unionprint, unpack_pointer(), val_print_array_elements(), val_print_scalar_formatted(), val_print_string(), value_at(), value_bit_index(), value_contents_for_printing(), VAR_DOMAIN, VTBL_FNADDR_OFFSET, value_print_options::vtblprint, xfree(), and xmalloc().

## ◆ pascal_value_print()

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

Definition at line 423 of file p-valprint.c.

References common_val_print(), current_language, value_print_options::deref_ref, fprintf_filtered(), TYPE_CODE, TYPE_CODE_PTR, TYPE_CODE_REF, TYPE_NAME, type_print(), TYPE_TARGET_TYPE, and value_type().

## ◆ show_pascal_static_field_print()

static void show_pascal_static_field_print | ( | struct ui_file * | file,
|  | int | from_tty,
|  | struct cmd_list_element * | c,
|  | const char * | value
| ) |  |
| static

Definition at line 461 of file p-valprint.c.

References _, and fprintf_filtered().

Referenced by _initialize_pascal_valprint().

## Variable Documentation

## ◆ dont_print_statmem_obstack

struct obstack dont_print_statmem_obstack
| static

Definition at line 469 of file p-valprint.c.

Referenced by pascal_object_print_static_field(), and pascal_object_print_value_fields().

## ◆ dont_print_vb_obstack

struct obstack dont_print_vb_obstack
| static

Definition at line 468 of file p-valprint.c.

Referenced by pascal_object_print_value().

## ◆ p_decorations

const struct generic_val_print_decorations p_decorations
| static

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

Definition at line 46 of file p-valprint.c.

Referenced by pascal_val_print().

## ◆ pascal_vtbl_ptr_name

const char pascal_vtbl_ptr_name[]

Initial value:
=
{'_', '_', 'v', 't', 'b', 'l', '_', 'p', 't', 'r', '_', 't', 'y', 'p', 'e', 0}

Definition at line 483 of file p-valprint.c.

Referenced by pascal_object_is_vtbl_ptr_type().