/* Declarations for value printing routines for GDB, the GNU debugger.
- Copyright (C) 1986-2020 Free Software Foundation, Inc.
+ Copyright (C) 1986-2021 Free Software Foundation, Inc.
This file is part of GDB.
e.g. when the user passes a format to "print". */
int format;
+ /* Print memory tag violations for pointers. */
+ bool memory_tag_violations;
+
/* Stop printing at null character? */
bool stop_print_at_null;
char format);
extern void maybe_print_array_index (struct type *index_type, LONGEST index,
- struct ui_file *stream,
+ struct ui_file *stream,
const struct value_print_options *);
extern void print_hex_chars (struct ui_file *, const gdb_byte *,
unsigned int, enum bfd_endian, bool);
-extern void print_char_chars (struct ui_file *, struct type *,
- const gdb_byte *, unsigned int, enum bfd_endian);
-
extern void print_function_pointer_address (const struct value_print_options *options,
struct gdbarch *gdbarch,
CORE_ADDR address,
gdb::unique_xmalloc_ptr<gdb_byte> *buffer,
int *bytes_read);
+/* Helper function to check the validity of some bits of a value.
+
+ If TYPE represents some aggregate type (e.g., a structure), return 1.
+
+ Otherwise, any of the bytes starting at OFFSET and extending for
+ TYPE_LENGTH(TYPE) bytes are invalid, print a message to STREAM and
+ return 0. The checking is done using FUNCS.
+
+ Otherwise, return 1. */
+
+extern int valprint_check_validity (struct ui_file *stream, struct type *type,
+ LONGEST embedded_offset,
+ const struct value *val);
+
extern void val_print_optimized_out (const struct value *val,
struct ui_file *stream);
int count;
char format;
char size;
+ bool print_tags;
/* True if the value should be printed raw -- that is, bypassing
python-based formatters. */