Remove use of op_string
authorTom Tromey <tom@tromey.com>
Mon, 8 Mar 2021 14:27:57 +0000 (07:27 -0700)
committerTom Tromey <tom@tromey.com>
Mon, 8 Mar 2021 14:28:36 +0000 (07:28 -0700)
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-03-08  Tom Tromey  <tom@tromey.com>

* ada-lang.c (ada_value_binop): Do not use op_string.

gdb/ChangeLog
gdb/ada-lang.c

index 93fdabdf1deabc3d98e032859791e7f7b0126f9b..fe4f560d33ebc47e72d57455f739975204db0abe 100644 (file)
@@ -1,3 +1,7 @@
+2021-03-08  Tom Tromey  <tom@tromey.com>
+
+       * ada-lang.c (ada_value_binop): Do not use op_string.
+
 2021-03-08  Tom Tromey  <tom@tromey.com>
 
        * expprint.c (dump_for_expression): New overload.
index a62cfb95f0e91651f7437d69f70c9c3cd05c7277..2c2ceee1cea9480df362b2ddd15675d3b63afd35 100644 (file)
@@ -9321,7 +9321,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);