[PATCH 171/203] Remove use of op_string

Tom Tromey
2021-01-01T21:49:32Z

After switching to the new expression implementation, there will no
need for op_string. Before deleting it, the one call outside of the
expression-printing code must be removed. That is what this patch
does.

gdb/ChangeLog
2021-01-01 Tom Tromey <tom@tromey.com>

* ada-lang.c (ada_value_binop): Do not use op_string.
---
gdb/ChangeLog | 4 ++++
gdb/ada-lang.c | 15 ++++++++++++++-
2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index f3f8642cf9d..657ef37dca7 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -9450,7 +9450,20 @@ ada_value_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)

v2 = value_as_long (arg2);
if (v2 == 0)
- error (_("second operand of %s must not be zero."), op_string (op));
+ {
+ const char *name;
+ if (op == BINOP_MOD)
+ name = "mod";
+ else if (op == BINOP_DIV)
+ name = "/";
+ else
+ {
+ gdb_assert (op == BINOP_REM);
+ name = "rem";
+ }
+
+ error (_("second operand of %s must not be zero."), name);
+ }

if (type1->is_unsigned () || op == BINOP_MOD)
return value_binop (arg1, arg2, op);
--
2.26.2