[PATCH 193/203] Remove unused Ada opcodes

Tom Tromey
2021-01-01T21:49:52Z

Several Ada expression opcodes are now unused, and can be removed.
Most of these are handled in a different way by the code.
OP_ATR_IMAGE, however, was never implemented.

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

* std-operator.def (OP_NAME, OP_ATR_IMAGE, OP_ATR_MODULUS)
(OP_OTHERS, OP_CHOICES, OP_POSITIONAL, OP_DISCRETE_RANGE):
Remove.
---
gdb/ChangeLog | 6 ++++++
gdb/std-operator.def | 43 -------------------------------------------
2 files changed, 6 insertions(+), 43 deletions(-)

diff --git a/gdb/std-operator.def b/gdb/std-operator.def
index ab94636b83f..dbd920974da 100644
--- a/gdb/std-operator.def
+++ b/gdb/std-operator.def
@@ -299,9 +299,6 @@ OP (OP_FUNC_STATIC_VAR)
the GDB "::" operator, or the Modula-2 '.' operator. */
OP (OP_TYPE)

-/* An un-looked-up identifier. */
-OP (OP_NAME)
-
/* An Objective C Foundation Class NSString constant. */
OP (OP_OBJC_NSSTRING)

@@ -349,8 +346,6 @@ OP (TERNOP_IN_RANGE)
OP (OP_ATR_FIRST)
OP (OP_ATR_LAST)
OP (OP_ATR_LENGTH)
-OP (OP_ATR_IMAGE)
-OP (OP_ATR_MODULUS)
OP (OP_ATR_POS)
OP (OP_ATR_SIZE)
OP (OP_ATR_TAG)
@@ -375,44 +370,6 @@ OP (UNOP_IN_RANGE)
occur only as the right sides of assignments. */
OP (OP_AGGREGATE)

-/* An others clause. Followed by a single expression. */
-OP (OP_OTHERS)
-
-/* An aggregate component association. A single immediate operand, N,
- gives the number of choices that follow. This is followed by a second
- OP_CHOICES operator. Next come N operands, each of which is an
- expression, an OP_DISCRETE_RANGE, or an OP_NAME---the latter
- for a simple name that must be a record component name and does
- not correspond to a single existing symbol. After the N choice
- indicators comes an expression giving the value.
-
- In an aggregate such as (X => E1, ...), where X is a simple
- name, X could syntactically be either a component_selector_name
- or an expression used as a discrete_choice, depending on the
- aggregate's type context. Since this is not known at parsing
- time, we don't attempt to disambiguate X if it has multiple
- definitions, but instead supply an OP_NAME. If X has a single
- definition, we represent it with an OP_VAR_VALUE, even though
- it may turn out to be within a record aggregate. Aggregate
- evaluation can use either OP_NAMEs or OP_VAR_VALUEs to get a
- record field name, and can evaluate OP_VAR_VALUE normally to
- get its value as an expression. Unfortunately, we lose out in
- cases where X has multiple meanings and is part of an array
- aggregate. I hope these are not common enough to annoy users,
- who can work around the problem in any case by putting
- parentheses around X. */
-OP (OP_CHOICES)
-
-/* A positional aggregate component association. The operator is
- followed by a single integer indicating the position in the
- aggregate (0-based), followed by a second OP_POSITIONAL. Next
- follows a single expression giving the component value. */
-OP (OP_POSITIONAL)
-
-/* A range of values. Followed by two expressions giving the
- upper and lower bounds of the range. */
-OP (OP_DISCRETE_RANGE)
-
/* ================ Fortran operators ================ */

/* This is EXACTLY like OP_FUNCALL but is semantically different.
--
2.26.2