* [PATCH] Remove eval_op_ternop
@ 2023-08-29 16:55 Tom Tromey
2023-08-31 16:11 ` Kevin Buettner
0 siblings, 1 reply; 2+ messages in thread
From: Tom Tromey @ 2023-08-29 16:55 UTC (permalink / raw)
To: gdb-patches; +Cc: Tom Tromey
eval_op_ternop is only used by the implementation of
ternop_slice_operation. While working on another series, it was
convenient for me to merge this function into its only caller.
---
gdb/eval.c | 29 +++++++++++++++++------------
gdb/expop.h | 16 +---------------
2 files changed, 18 insertions(+), 27 deletions(-)
diff --git a/gdb/eval.c b/gdb/eval.c
index 457a6697923..228862e22d0 100644
--- a/gdb/eval.c
+++ b/gdb/eval.c
@@ -1155,6 +1155,23 @@ string_operation::evaluate (struct type *expect_type,
return value_string (str.c_str (), str.size (), type);
}
+struct value *
+ternop_slice_operation::evaluate (struct type *expect_type,
+ struct expression *exp,
+ enum noside noside)
+{
+ struct value *array
+ = std::get<0> (m_storage)->evaluate (nullptr, exp, noside);
+ struct value *low
+ = std::get<1> (m_storage)->evaluate (nullptr, exp, noside);
+ struct value *upper
+ = std::get<2> (m_storage)->evaluate (nullptr, exp, noside);
+
+ int lowbound = value_as_long (low);
+ int upperbound = value_as_long (upper);
+ return value_slice (array, lowbound, upperbound - lowbound + 1);
+}
+
} /* namespace expr */
/* Helper function that implements the body of OP_OBJC_SELECTOR. */
@@ -1169,18 +1186,6 @@ eval_op_objc_selector (struct type *expect_type, struct expression *exp,
lookup_child_selector (exp->gdbarch, sel));
}
-/* A helper function for TERNOP_SLICE. */
-
-struct value *
-eval_op_ternop (struct type *expect_type, struct expression *exp,
- enum noside noside,
- struct value *array, struct value *low, struct value *upper)
-{
- int lowbound = value_as_long (low);
- int upperbound = value_as_long (upper);
- return value_slice (array, lowbound, upperbound - lowbound + 1);
-}
-
/* A helper function for STRUCTOP_STRUCT. */
struct value *
diff --git a/gdb/expop.h b/gdb/expop.h
index a9da11cc70d..25769d5b810 100644
--- a/gdb/expop.h
+++ b/gdb/expop.h
@@ -64,11 +64,6 @@ extern struct value *eval_op_func_static_var (struct type *expect_type,
extern struct value *eval_op_register (struct type *expect_type,
struct expression *exp,
enum noside noside, const char *name);
-extern struct value *eval_op_ternop (struct type *expect_type,
- struct expression *exp,
- enum noside noside,
- struct value *array, struct value *low,
- struct value *upper);
extern struct value *eval_op_structop_struct (struct type *expect_type,
struct expression *exp,
enum noside noside,
@@ -939,16 +934,7 @@ class ternop_slice_operation
value *evaluate (struct type *expect_type,
struct expression *exp,
- enum noside noside) override
- {
- struct value *array
- = std::get<0> (m_storage)->evaluate (nullptr, exp, noside);
- struct value *low
- = std::get<1> (m_storage)->evaluate (nullptr, exp, noside);
- struct value *upper
- = std::get<2> (m_storage)->evaluate (nullptr, exp, noside);
- return eval_op_ternop (expect_type, exp, noside, array, low, upper);
- }
+ enum noside noside) override;
enum exp_opcode opcode () const override
{ return TERNOP_SLICE; }
--
2.40.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] Remove eval_op_ternop
2023-08-29 16:55 [PATCH] Remove eval_op_ternop Tom Tromey
@ 2023-08-31 16:11 ` Kevin Buettner
0 siblings, 0 replies; 2+ messages in thread
From: Kevin Buettner @ 2023-08-31 16:11 UTC (permalink / raw)
To: Tom Tromey via Gdb-patches; +Cc: Tom Tromey
On Tue, 29 Aug 2023 10:55:22 -0600
Tom Tromey via Gdb-patches <gdb-patches@sourceware.org> wrote:
> eval_op_ternop is only used by the implementation of
> ternop_slice_operation. While working on another series, it was
> convenient for me to merge this function into its only caller.
> ---
> gdb/eval.c | 29 +++++++++++++++++------------
> gdb/expop.h | 16 +---------------
> 2 files changed, 18 insertions(+), 27 deletions(-)
LGTM.
Reviewed-by: Kevin Buettner <kevinb@redhat.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-08-31 16:11 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-29 16:55 [PATCH] Remove eval_op_ternop Tom Tromey
2023-08-31 16:11 ` Kevin Buettner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).