[PATCH 187/203] Remove now-unused Modula-2 evaluator code

Tom Tromey tom@tromey.com
Fri Jan 1 21:47:07 GMT 2021


Now that the Modula-2 parser has switched to the new style, there is
no need for the old Modula-2 evaluation code.

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

	* m2-lang.h (class m2_language) <expresssion_ops,
	exp_descriptor_modula2>: Remove.
	* m2-lang.c (evaluate_subexp_modula2)
	(m2_language::exp_descriptor_modula2): Remove.
---
 gdb/ChangeLog |  7 +++++++
 gdb/m2-lang.c | 34 ----------------------------------
 gdb/m2-lang.h |  9 ---------
 3 files changed, 7 insertions(+), 43 deletions(-)

diff --git a/gdb/m2-lang.c b/gdb/m2-lang.c
index 60d373ec2b9..281fa8b9218 100644
--- a/gdb/m2-lang.c
+++ b/gdb/m2-lang.c
@@ -111,31 +111,6 @@ eval_op_m2_subscript (struct type *expect_type, struct expression *exp,
     return value_subscript (arg1, value_as_long (arg2));
 }
 
-static struct value *
-evaluate_subexp_modula2 (struct type *expect_type, struct expression *exp,
-			 int *pos, enum noside noside)
-{
-  enum exp_opcode op = exp->elts[*pos].opcode;
-  struct value *arg1;
-  struct value *arg2;
-
-  switch (op)
-    {
-    case UNOP_HIGH:
-      (*pos)++;
-      arg1 = evaluate_subexp_with_coercion (exp, pos, noside);
-      return eval_op_m2_high (expect_type, exp, noside, arg1);
-
-    case BINOP_SUBSCRIPT:
-      (*pos)++;
-      arg1 = evaluate_subexp_with_coercion (exp, pos, noside);
-      arg2 = evaluate_subexp_with_coercion (exp, pos, noside);
-      return eval_op_m2_subscript (expect_type, exp, noside, arg1, arg2);
-
-    default:
-      return evaluate_subexp_standard (expect_type, exp, pos, noside);
-    }
-}
 
 
 /* Table of operators and their precedences for printing expressions.  */
@@ -175,15 +150,6 @@ const struct op_print m2_language::op_print_tab[] =
 };
 
 
-const struct exp_descriptor m2_language::exp_descriptor_modula2 =
-{
-  print_subexp_standard,
-  operator_length_standard,
-  operator_check_standard,
-  dump_subexp_body_standard,
-  evaluate_subexp_modula2
-};
-
 /* Single instance of the M2 language.  */
 
 static m2_language m2_language_defn;
diff --git a/gdb/m2-lang.h b/gdb/m2-lang.h
index 650942b67b7..20941429ff0 100644
--- a/gdb/m2-lang.h
+++ b/gdb/m2-lang.h
@@ -150,19 +150,10 @@ class m2_language : public language_defn
 
   /* See language.h.  */
 
-  const struct exp_descriptor *expression_ops () const override
-  { return &exp_descriptor_modula2; }
-
-  /* See language.h.  */
-
   const struct op_print *opcode_print_table () const override
   { return op_print_tab; }
 
 private:
-  /* Table of expression handling functions for use by EXPRESSION_OPS
-     member function.  */
-  static const struct exp_descriptor exp_descriptor_modula2;
-
   /* Table of opcode data for use by OPCODE_PRINT_TABLE member function.  */
   static const struct op_print op_print_tab[];
 };
-- 
2.26.2



More information about the Gdb-patches mailing list