/* Print in infix form a struct expression.
- Copyright (C) 1986-2018 Free Software Foundation, Inc.
+ Copyright (C) 1986-2019 Free Software Foundation, Inc.
This file is part of GDB.
#include "block.h"
#include "objfiles.h"
#include "valprint.h"
+#include "cli/cli-style.h"
#include <ctype.h>
case OP_SCOPE:
myprec = PREC_PREFIX;
assoc = 0;
- fputs_filtered (type_name_no_tag (exp->elts[pc + 1].type), stream);
+ fputs_filtered (TYPE_NAME (exp->elts[pc + 1].type), stream);
fputs_filtered ("::", stream);
nargs = longest_to_int (exp->elts[pc + 2].longconst);
(*pos) += 4 + BYTES_TO_EXP_ELEM (nargs + 1);
if (exp->language_defn->la_name_of_this)
fputs_filtered (exp->language_defn->la_name_of_this, stream);
else
- fprintf_filtered (stream, _("<language %s has no 'this'>"),
- exp->language_defn->la_name);
+ fprintf_styled (stream, metadata_style.style (),
+ _("<language %s has no 'this'>"),
+ exp->language_defn->la_name);
return;
/* Modula-2 ops */
const char *
op_name (struct expression *exp, enum exp_opcode opcode)
{
+ if (opcode >= OP_UNUSED_LAST)
+ {
+ char *cell = get_print_cell ();
+ xsnprintf (cell, PRINT_CELL_SIZE, "unknown opcode: %u",
+ unsigned (opcode));
+ return cell;
+ }
return exp->language_defn->la_exp_desc->op_name (opcode);
}