]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Remove ada_ternop_slice
authorTom Tromey <tromey@adacore.com>
Mon, 8 Sep 2025 16:25:13 +0000 (10:25 -0600)
committerTom Tromey <tromey@adacore.com>
Tue, 9 Sep 2025 15:28:22 +0000 (09:28 -0600)
ada_ternop_slice can be merged with its sole caller.

Approved-By: Simon Marchi <simon.marchi@efficios.com>
gdb/ada-exp.h
gdb/ada-lang.c

index d797cdad75071f64499149110e7bbd800622d248..6703a54ef55782abbc513cf961f3b82ad794c65b 100644 (file)
@@ -38,11 +38,6 @@ extern struct value *ada_mult_binop (struct type *expect_type,
                                     struct expression *exp,
                                     enum noside noside, enum exp_opcode op,
                                     struct value *arg1, struct value *arg2);
-extern struct value *ada_ternop_slice (struct expression *exp,
-                                      enum noside noside,
-                                      struct value *array,
-                                      struct value *low_bound_val,
-                                      struct value *high_bound_val);
 extern struct value *ada_binop_in_bounds (struct expression *exp,
                                          enum noside noside,
                                          struct value *arg1,
@@ -287,13 +282,7 @@ public:
 
   value *evaluate (struct type *expect_type,
                   struct expression *exp,
-                  enum noside noside) override
-  {
-    value *array = std::get<0> (m_storage)->evaluate (nullptr, exp, noside);
-    value *low = std::get<1> (m_storage)->evaluate (nullptr, exp, noside);
-    value *high = std::get<2> (m_storage)->evaluate (nullptr, exp, noside);
-    return ada_ternop_slice (exp, noside, array, low, high);
-  }
+                  enum noside noside) override;
 
   enum exp_opcode opcode () const override
   { return TERNOP_SLICE; }
index 253b85ed1352ce47ac211f3f229decc7d5c8d637..323abee7c9e1633ab98e793a955c5631ead42773 100644 (file)
@@ -10198,16 +10198,19 @@ ada_binop_equal_operation::evaluate (struct type *expect_type,
   return value_from_longest (type, tem);
 }
 
-} /* namespace expr */
-
-/* A helper function for TERNOP_SLICE.  */
+/* Implement TERNOP_SLICE.  */
 
 value *
-ada_ternop_slice (struct expression *exp,
-                 enum noside noside,
-                 struct value *array, struct value *low_bound_val,
-                 struct value *high_bound_val)
+ada_ternop_slice_operation::evaluate (struct type *expect_type,
+                                     struct expression *exp,
+                                     enum noside noside)
 {
+  value *array = std::get<0> (m_storage)->evaluate (nullptr, exp, noside);
+  value *low_bound_val
+    = std::get<1> (m_storage)->evaluate (nullptr, exp, noside);
+  value *high_bound_val
+    = std::get<2> (m_storage)->evaluate (nullptr, exp, noside);
+
   LONGEST low_bound;
   LONGEST high_bound;
 
@@ -10281,6 +10284,8 @@ ada_ternop_slice (struct expression *exp,
                            longest_to_int (high_bound));
 }
 
+} /* namespace expr */
+
 /* A helper function for BINOP_IN_BOUNDS.  */
 
 value *