[v3,190/206] Remove now-unused Modula-2 evaluator code

Message ID 20210220201609.838264-191-tom@tromey.com
State New
Headers show
Series
  • Refactor expressions
Related show

Commit Message

Tom Tromey Feb. 20, 2021, 8:15 p.m.
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-02-20  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(-)

-- 
2.26.2

Patch

diff --git a/gdb/m2-lang.c b/gdb/m2-lang.c
index e286613915c..36b15c377c0 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[];
 };