[binutils-gdb] Remove use of op_string

Tom Tromey tromey@sourceware.org
Mon Mar 8 14:52:21 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=b0f9164cc6d738db3a71c1ea83aa6567f0387bca

commit b0f9164cc6d738db3a71c1ea83aa6567f0387bca
Author: Tom Tromey <tom@tromey.com>
Date:   Mon Mar 8 07:27:57 2021 -0700

    Remove use of op_string
    
    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.

Diff:
---
 gdb/ChangeLog  |  4 ++++
 gdb/ada-lang.c | 15 ++++++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 93fdabdf1de..fe4f560d33e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index a62cfb95f0e..2c2ceee1cea 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -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);


More information about the Gdb-cvs mailing list