aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2021-03-08 07:27:57 -0700
committerTom Tromey <tom@tromey.com>2021-03-08 07:28:42 -0700
commit5d9ba98236567076540091e8e5b99388b3baba89 (patch)
tree49130e836441dbc749f2e19891b5174ddc3ccb66
parentd357570da8c055765d243a140be2fae9811a051d (diff)
downloadbinutils-5d9ba98236567076540091e8e5b99388b3baba89.zip
binutils-5d9ba98236567076540091e8e5b99388b3baba89.tar.gz
binutils-5d9ba98236567076540091e8e5b99388b3baba89.tar.bz2
Remove unused Ada opcodes
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-03-08 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.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/std-operator.def43
2 files changed, 6 insertions, 43 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 01084b7..74eb755 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2021-03-08 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.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
* std-operator.def (UNOP_CAP, UNOP_CHR, UNOP_ORD, UNOP_FLOAT)
(UNOP_MAX, UNOP_MIN, UNOP_ODD, UNOP_TRUNC, OP_M2_STRING): Remove.
diff --git a/gdb/std-operator.def b/gdb/std-operator.def
index 4bca294..f5804b3 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.