From: Yao Qi <yao@codesourcery.com>
To: <gdb-patches@sourceware.org>
Subject: [PATCH 2/4] Remove operator BINOP_RANGE
Date: Wed, 16 Jul 2014 05:19:00 -0000 [thread overview]
Message-ID: <1405487742-32613-3-git-send-email-yao@codesourcery.com> (raw)
In-Reply-To: <1405487742-32613-1-git-send-email-yao@codesourcery.com>
BINOP_RANGE was added by the following commit for chill language.
commit badefd2800f5ee2dc6a0eef870771af9dc29bba7
Author: Per Bothner <per@bothner.com>
Date: Wed Nov 29 22:59:31 1995 +0000
* expression.h (enum exp_opcode): Add BINOP_RANGE.
* expprint.c (dump_expression): Support BINOP_RANGE.
* eval.c (evaluate_subexp_standard): Handle BINOP_RANGE (as error).
(case MULTI_SUBSCRIPT): Fix broken f77 value->int ad hoc conversion.
* ch-lang.c (chill_op_print_tab): Support BINOP_RANGE.
(evaluate_subexp_chill): Error on BINOP_COMMA.
Chill language is no longer supported, so we can remove BINOP_RANGE too.
This patch is to remove BINOP_RANGE.
gdb:
2014-07-15 Yao Qi <yao@codesourcery.com>
* std-operator.def: Remove BINOP_RANGE.
* breakpoint.c (watchpoint_exp_is_const): Update.
* expprint.c (dump_subexp_body_standard): Likewise.
* eval.c (init_array_element): Remove dead code.
(evaluate_subexp_standard): Likewise.
---
gdb/breakpoint.c | 1 -
gdb/eval.c | 48 ++++--------------------------------------------
gdb/expprint.c | 1 -
gdb/std-operator.def | 4 ----
4 files changed, 4 insertions(+), 50 deletions(-)
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index bad375b..1c6070f 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -10602,7 +10602,6 @@ watchpoint_exp_is_const (const struct expression *exp)
case BINOP_MAX:
case BINOP_INTDIV:
case BINOP_CONCAT:
- case BINOP_RANGE:
case TERNOP_COND:
case TERNOP_SLICE:
diff --git a/gdb/eval.c b/gdb/eval.c
index 949b2f8..f075096 100644
--- a/gdb/eval.c
+++ b/gdb/eval.c
@@ -369,22 +369,6 @@ init_array_element (struct value *array, struct value *element,
return init_array_element (array, element,
exp, pos, noside, low_bound, high_bound);
}
- else if (exp->elts[*pos].opcode == BINOP_RANGE)
- {
- LONGEST low, high;
-
- (*pos)++;
- low = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside));
- high = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside));
- if (low < low_bound || high > high_bound)
- error (_("tuple range index out of range"));
- for (index = low; index <= high; index++)
- {
- memcpy (value_contents_raw (array)
- + (index - low_bound) * element_size,
- value_contents (element), element_size);
- }
- }
else
{
index = value_as_long (evaluate_subexp (NULL_TYPE, exp, pos, noside));
@@ -903,11 +887,6 @@ evaluate_subexp_standard (struct type *expect_type,
struct value *element;
int index_pc = 0;
- if (exp->elts[*pos].opcode == BINOP_RANGE)
- {
- index_pc = ++(*pos);
- evaluate_subexp (NULL_TYPE, exp, pos, EVAL_SKIP);
- }
element = evaluate_subexp (element_type, exp, pos, noside);
if (value_type (element) != element_type)
element = value_cast (element_type, element);
@@ -958,22 +937,10 @@ evaluate_subexp_standard (struct type *expect_type,
struct type *range_low_type, *range_high_type;
struct value *elem_val;
- if (exp->elts[*pos].opcode == BINOP_RANGE)
- {
- (*pos)++;
- elem_val = evaluate_subexp (element_type, exp, pos, noside);
- range_low_type = value_type (elem_val);
- range_low = value_as_long (elem_val);
- elem_val = evaluate_subexp (element_type, exp, pos, noside);
- range_high_type = value_type (elem_val);
- range_high = value_as_long (elem_val);
- }
- else
- {
- elem_val = evaluate_subexp (element_type, exp, pos, noside);
- range_low_type = range_high_type = value_type (elem_val);
- range_low = range_high = value_as_long (elem_val);
- }
+ elem_val = evaluate_subexp (element_type, exp, pos, noside);
+ range_low_type = range_high_type = value_type (elem_val);
+ range_low = range_high = value_as_long (elem_val);
+
/* Check types of elements to avoid mixture of elements from
different types. Also check if type of element is "compatible"
with element type of powerset. */
@@ -2127,13 +2094,6 @@ evaluate_subexp_standard (struct type *expect_type,
}
}
- case BINOP_RANGE:
- evaluate_subexp (NULL_TYPE, exp, pos, noside);
- evaluate_subexp (NULL_TYPE, exp, pos, noside);
- if (noside == EVAL_SKIP)
- goto nosideret;
- error (_("':' operator used in invalid context"));
-
case BINOP_SUBSCRIPT:
arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside);
arg2 = evaluate_subexp (NULL_TYPE, exp, pos, noside);
diff --git a/gdb/expprint.c b/gdb/expprint.c
index a966203..4e73791 100644
--- a/gdb/expprint.c
+++ b/gdb/expprint.c
@@ -802,7 +802,6 @@ dump_subexp_body_standard (struct expression *exp,
case BINOP_ASSIGN_MODIFY:
case BINOP_VAL:
case BINOP_CONCAT:
- case BINOP_RANGE:
case BINOP_END:
case STRUCTOP_MEMBER:
case STRUCTOP_MPTR:
diff --git a/gdb/std-operator.def b/gdb/std-operator.def
index 16014e0..c33a287 100644
--- a/gdb/std-operator.def
+++ b/gdb/std-operator.def
@@ -87,10 +87,6 @@ OP (BINOP_VAL)
the second operand with itself that many times. */
OP (BINOP_CONCAT)
-/* This is the "colon operator" used various places in (the
- deleted) Chill. */
-OP (BINOP_RANGE)
-
/* This must be the highest BINOP_ value, for expprint.c. */
OP (BINOP_END)
--
1.9.0
next prev parent reply other threads:[~2014-07-16 5:19 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-16 5:19 [PATCH 0/4] Remove operators for language chill Yao Qi
2014-07-16 5:19 ` [PATCH 1/4] Remove operator BINOP_IN Yao Qi
2014-07-16 5:19 ` Yao Qi [this message]
2014-07-16 5:19 ` [PATCH 3/4] Update comments to TERNOP_SLICE Yao Qi
2014-07-16 8:53 ` [PATCH 4/4] Remove Chill from comments Yao Qi
2014-07-19 9:17 ` [PATCH 0/4] Remove operators for language chill Tom Tromey
2014-07-20 23:47 ` Yao Qi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1405487742-32613-3-git-send-email-yao@codesourcery.com \
--to=yao@codesourcery.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox