Remove now-unused Modula-2 evaluator code
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:40 +0000 (07:28 -0700)
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-03-08  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
gdb/m2-lang.c
gdb/m2-lang.h

index f63c3612a0b6bddb32825ab1e39fb31919fe2be6..a0dde3f4bb40e64aea832499e0f0601b09841b4d 100644 (file)
@@ -1,3 +1,10 @@
+2021-03-08  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.
+
 2021-03-08  Tom Tromey  <tom@tromey.com>
 
        * f-lang.h (class f_language) <expresssion_ops>: Remove.
index e286613915c52806bd029c72f089dc2c5e9a25c3..36b15c377c00b389c454fc83a812ee8cffdfb794 100644 (file)
@@ -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);
-    }
-}
 \f
 
 /* Table of operators and their precedences for printing expressions.  */
@@ -175,15 +150,6 @@ const struct op_print m2_language::op_print_tab[] =
 };
 \f
 
-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;
index 650942b67b75d73f294aef4181688914eb475d64..20941429ff06a30d4da92cf858b6d5937f86ea74 100644 (file)
@@ -150,19 +150,10 @@ public:
 
   /* 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[];
 };