/* Support for printing C values for GDB, the GNU debugger.
- Copyright (C) 1986-2021 Free Software Foundation, Inc.
+ Copyright (C) 1986-2022 Free Software Foundation, Inc.
This file is part of GDB.
if (wsym)
{
- wtype = SYMBOL_TYPE (wsym);
+ wtype = wsym->type ();
}
else
{
++temp_len)
;
- /* Force LA_PRINT_STRING to print ellipses if
+ /* Force printstr to print ellipses if
we've printed the maximum characters and
the next character is not \000. */
if (temp_len == options->print_max && temp_len < len)
len = temp_len;
}
- LA_PRINT_STRING (stream, unresolved_elttype, valaddr, len,
- NULL, force_ellipses, options);
+ current_language->printstr (stream, unresolved_elttype, valaddr, len,
+ NULL, force_ellipses, options);
}
else
{
/* Print vtable entry - we only get here if NOT using
-fvtable_thunks. (Otherwise, look under
TYPE_CODE_PTR.) */
- int offset = TYPE_FIELD_BITPOS (type, VTBL_FNADDR_OFFSET) / 8;
+ int offset = type->field (VTBL_FNADDR_OFFSET).loc_bitpos () / 8;
struct type *field_type = type->field (VTBL_FNADDR_OFFSET).type ();
const gdb_byte *valaddr = value_contents_for_printing (val).data ();
CORE_ADDR addr = extract_typed_address (valaddr + offset, field_type);
if (c_textual_element_type (type, options->format))
{
fputs_filtered (" ", stream);
- LA_PRINT_CHAR (unpack_long (type, valaddr), type, stream);
+ current_language->printchar (unpack_long (type, valaddr), type,
+ stream);
}
}
}
c_value_print_struct (val, stream, recurse, options);
break;
+ case TYPE_CODE_CHAR:
case TYPE_CODE_INT:
c_value_print_int (val, stream, options);
break;
case TYPE_CODE_ERROR:
case TYPE_CODE_UNDEF:
case TYPE_CODE_COMPLEX:
- case TYPE_CODE_CHAR:
default:
generic_value_print (val, stream, recurse, options, &c_decorations);
break;