/* Support for printing Pascal values for GDB, the GNU debugger.
- Copyright (C) 2000-2019 Free Software Foundation, Inc.
+ Copyright (C) 2000-2020 Free Software Foundation, Inc.
This file is part of GDB.
#include "cp-abi.h"
#include "cp-support.h"
#include "objfiles.h"
-#include "common/byte-vector.h"
+#include "gdbsupport/byte-vector.h"
+#include "cli/cli-style.h"
\f
/* Decorations for Pascal. */
const struct value_print_options *options)
{
struct gdbarch *gdbarch = get_type_arch (type);
- enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+ enum bfd_endian byte_order = type_byte_order (type);
unsigned int i = 0; /* Number of characters printed */
unsigned len;
struct type *elttype;
if (want_space)
fputs_filtered (" ", stream);
fputs_filtered ("<", stream);
- fputs_filtered (MSYMBOL_PRINT_NAME (msymbol.minsym), stream);
+ fputs_filtered (msymbol.minsym->print_name (), stream);
fputs_filtered (">", stream);
want_space = 1;
}
struct value *vt_val;
struct symbol *wsym = NULL;
struct type *wtype;
- struct block *block = NULL;
if (want_space)
fputs_filtered (" ", stream);
if (msymbol.minsym != NULL)
{
- const char *search_name
- = MSYMBOL_SEARCH_NAME (msymbol.minsym);
- wsym = lookup_symbol_search_name (search_name, block,
+ const char *search_name = msymbol.minsym->search_name ();
+ wsym = lookup_symbol_search_name (search_name, NULL,
VAR_DOMAIN).symbol;
}
elttype = check_typedef (elttype);
if (TYPE_STUB (elttype))
{
- fprintf_filtered (stream, "<incomplete type>");
+ fprintf_styled (stream, metadata_style.style (), "<incomplete type>");
break;
}
else
maybe_bad_bstring:
if (bound_info < 0)
{
- fputs_filtered ("<error value>", stream);
+ fputs_styled ("<error value>", metadata_style.style (), stream);
goto done;
}
options, dont_print_vb);
if (!len && n_baseclasses == 1)
- fprintf_filtered (stream, "<No data fields>");
+ fprintf_styled (stream, metadata_style.style (), "<No data fields>");
else
{
struct obstack tmp_obstack = dont_print_statmem_obstack;
order problems. */
if (TYPE_FIELD_IGNORE (type, i))
{
- fputs_filtered ("<optimized out or zero length>", stream);
+ fputs_styled ("<optimized out or zero length>",
+ metadata_style.style (), stream);
}
else if (value_bits_synthetic_pointer (val,
TYPE_FIELD_BITPOS (type,
TYPE_FIELD_BITSIZE (type,
i)))
{
- fputs_filtered (_("<synthetic pointer>"), stream);
+ fputs_styled (_("<synthetic pointer>"),
+ metadata_style.style (), stream);
}
else
{
{
if (TYPE_FIELD_IGNORE (type, i))
{
- fputs_filtered ("<optimized out or zero length>", stream);
+ fputs_styled ("<optimized out or zero length>",
+ metadata_style.style (), stream);
}
else if (field_is_static (&TYPE_FIELD (type, i)))
{
thisoffset = offset;
- TRY
+ try
{
boffset = baseclass_offset (type, i, valaddr, offset, address, val);
}
- CATCH (ex, RETURN_MASK_ERROR)
+ catch (const gdb_exception_error &ex)
{
if (ex.error == NOT_AVAILABLE_ERROR)
skip = -1;
else
skip = 1;
}
- END_CATCH
if (skip == 0)
{
{
if (value_address (val) == first_dont_print[i])
{
- fputs_filtered ("\
-<same as static member of an already seen type>",
- stream);
+ fputs_styled (_("\
+<same as static member of an already seen type>"),
+ metadata_style.style (), stream);
return;
}
}