+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * opencl-lang.c (opencl_value_cast): No longer static.
+ * c-exp.h (opencl_cast_type_operation): New typedef.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * f-exp.h (eval_op_f_allocated): Declare.
+ (fortran_allocated_operation): New typedef.
+ * f-lang.c (eval_op_f_allocated): No longer static.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * f-lang.c (eval_op_f_associated): New functions.
+ * f-exp.h (fortran_associated_1arg, fortran_associated_2arg): New
+ typedefs.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * f-lang.c (fortran_bound_1arg::evaluate)
+ (fortran_bound_2arg::evaluate): New methods.
+ * f-exp.h (class fortran_bound_1arg, class fortran_bound_2arg):
+ New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class unop_addr_operation) <get_expression>: New
+ method.
+ * f-lang.c (fortran_undetermined::value_subarray)
+ (fortran_undetermined::evaluate): New methods.
+ (fortran_prepare_argument): New overload.
+ * f-exp.h (class fortran_range_operation)
+ (class fortran_undetermined): New classes.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.c (rust_structop::evaluate_funcall): New method.
+ * rust-exp.h (class rust_structop) <evaluate_funcall>: Declare
+ method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expression.h (class operation) <evaluate_funcall>: New methods.
+ * expop.h (class scope_operation) <evaluate_funcall>: New method.
+ (class var_value_operation) <evaluate_funcall>: New method.
+ (class structop_base_operation) <evaluate_funcall>: New method.
+ (class var_msym_value_operation) <evaluate_funcall>: New method.
+ (class structop_member_base): New class.
+ (class structop_member_operation): Derive from
+ structop_member_base.
+ (class structop_mptr_operation): Derive from
+ structop_member_base.
+ (class funcall_operation): New class.
+ * eval.c (operation::evaluate_funcall)
+ (var_value_operation::evaluate_funcall)
+ (scope_operation::evaluate_funcall)
+ (structop_member_base::evaluate_funcall)
+ (structop_base_operation::evaluate_funcall): New methods.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class array_operation): New.
+ * eval.c (array_operation::evaluate_struct_tuple)
+ (array_operation::evaluate): New methods.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class adl_func_operation): New.
+ * eval.c (adl_func_operation::evaluate): New method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_unop_in_range): No longer static.
+ * ada-exp.h (class ada_unop_range_operation): New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_unop_neg, ada_atr_tag, ada_atr_size, ada_abs):
+ No longer static.
+ * ada-exp.h (ada_neg_operation, ada_atr_tag_operation)
+ (ada_atr_size_operation, ada_abs_operation): New typedefs.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class logical_and_operation)
+ (class logical_or_operation): New.
+ * eval.c (logical_and_operation::evaluate)
+ (logical_or_operation::evaluate): New methods.
+ * ax-gdb.c (logical_and_operation::do_generate_ax)
+ (logical_or_operation::do_generate_ax): New methods.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * m2-lang.c (eval_op_m2_high, eval_op_m2_subscript): No longer
+ static.
+ * m2-exp.h: New file.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.c (rust_aggregate_operation::evaluate): New method.
+ * rust-exp.h (class rust_aggregate_operation): New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.c (eval_op_rust_struct_anon, eval_op_rust_structop):
+ No longer static.
+ * rust-exp.h (class rust_struct_anon): New.
+ (class rust_structop): New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.c (rust_range): No longer static.
+ * rust-exp.h (class rust_range_operation): New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.c (rust_subscript): No longer static.
+ * rust-exp.h (class rust_subscript_operation): New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.c (eval_op_rust_ind): No longer static. Add "opcode"
+ parameter.
+ (rust_evaluate_subexp): Update.
+ * rust-exp.h (class rust_unop_ind_operation): New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.c (eval_op_rust_complement, eval_op_rust_array): No
+ longer static. Add "opcode" parameter.
+ (rust_evaluate_subexp): Update.
+ * rust-exp.h: New file.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * f-lang.c (eval_op_f_abs, eval_op_f_mod, eval_op_f_ceil)
+ (eval_op_f_floor, eval_op_f_modulo, eval_op_f_cmplx)
+ (eval_op_f_kind): No longer static. Add "opcode" parameter.
+ (evaluate_subexp_f): Update.
+ * f-exp.h: New file.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_ternop_range_operation::evaluate): New method.
+ * ada-exp.h (class ada_ternop_range_operation): New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_qual_operation::evaluate): New method.
+ * ada-exp.h (class ada_qual_operation): New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_string_operation::evaluate): New method.
+ * ada-exp.h (class ada_string_operation): New.
+
2021-03-08 Tom Tromey <tom@tromey.com>
* ada-lang.c (ada_wrapped_operation::evaluate): New method.