+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class ternop_cond_operation): New.
+ * ax-gdb.c (ternop_cond_operation::do_generate_ax): New method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class ternop_slice_operation): New.
+ * eval.c (eval_op_ternop): No longer static.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class string_operation): New.
+ * eval.c (eval_op_string): No longer static.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class internalvar_operation): New.
+ * ax-gdb.c (internalvar_operation::do_generate_ax): New method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class bool_operation): New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class register_operation): New.
+ * eval.c (eval_op_register): No longer static.
+ * ax-gdb.c (register_operation::do_generate_ax): New method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class last_operation): New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class func_static_var_operation): New.
+ * eval.c (eval_op_func_static_var): No longer static.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class var_entry_value_operation): New.
+ * eval.c (eval_op_var_entry_value): No longer static.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expression.h (class operation) <set_outermost>: New method.
+ * expop.h (class var_msym_value_operation): New.
+ * eval.c (eval_op_var_msym_value): No longer static.
+ (var_msym_value_operation::evaluate_for_address)
+ (var_msym_value_operation::evaluate_for_sizeof)
+ (var_msym_value_operation::evaluate_for_cast): New methods.
+ * ax-gdb.c (var_msym_value_operation::do_generate_ax): New
+ method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class long_const_operation): New.
+ * ax-gdb.c (long_const_operation::do_generate_ax): New method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class scope_operation): New.
+ * eval.c (eval_op_scope): No longer static.
+ (scope_operation::evaluate_for_address): New method.
+ * ax-gdb.c (scope_operation::do_generate_ax): New method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expprint.c (float_const_operation::dump): New method.
+ * expop.h (float_data): New typedef.
+ (class float_const_operation): New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (gen_expr_binop, gen_expr_structop): Declare.
+ * ax-gdb.c (gen_expr_binop): New function.
+ (gen_expr_structop): Likewise.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expprint.c (expr::dump_for_expression): New functions.
+ * expop.h (dump_for_expression): New overloads.
+ (tuple_holding_operation::dump, tuple_holding_operation::do_dump):
+ Update.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expression.h (expr::operation): New class.
+ (expr::make_operation): New function.
+ (expr::operation_up): New typedef.
+ * expop.h: New file.
+ * eval.c (operation::evaluate_for_cast)
+ (operation::evaluate_for_address, operation::evaluate_for_sizeof):
+ New methods.
+ * ax-gdb.c (operation::generate_ax): New method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ax-gdb.c (gen_expr_binop_rest): Remove "pc" parameter.
+ (gen_expr_binop_rest): New overload.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * eval.c (eval_multi_subscript): New function.
+ (evaluate_subexp_standard): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_binop_exp): New function.
+ (ada_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_val_atr): Rename from value_val_atr. Change
+ parameters.
+ (ada_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_binop_minmax): New function.
+ (ada_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_unop_atr): New function.
+ (ada_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_binop_in_bounds): New function.
+ (ada_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_ternop_slice): New function.
+ (ada_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_equal_binop): New function.
+ (ada_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_mult_binop): New function.
+ (ada_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_abs): New function.
+ (ada_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_atr_size): New function.
+ (ada_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_atr_tag): New function.
+ (ada_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_unop_in_range): New function.
+ (ada_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (ada_unop_neg): New function.
+ (ada_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ada-lang.c (eval_ternop_in_range): New function.
+ (ada_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * opencl-lang.c (eval_opencl_assign): New function.
+ (evaluate_subexp_opencl): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * eval.c (eval_op_objc_msgcall): New function.
+ (evaluate_subexp_standard): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * eval.c (eval_binop_assign_modify): New function.
+ (evaluate_subexp_standard): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * m2-lang.c (eval_op_m2_subscript): New function.
+ (evaluate_subexp_modula2): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * m2-lang.c (eval_op_m2_high): New function.
+ (evaluate_subexp_modula2): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * eval.c (evaluate_subexp_for_address_base): New function.
+ (evaluate_subexp_for_address): Use it.
+ (evaluate_subexp_for_sizeof_base): New function.
+ (evaluate_subexp_for_sizeof): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.c (eval_op_rust_structop): New function.
+ (rust_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.c (eval_op_rust_struct_anon): New function.
+ (rust_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.c (eval_op_rust_array): New function.
+ (rust_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.c (eval_op_rust_complement): New function.
+ (rust_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.c (eval_op_rust_ind): New function.
+ (rust_evaluate_subexp): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.c (rust_subscript): Change parameters.
+ (rust_evaluate_subexp): Update.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * rust-lang.c (rust_range): Change parameters.
+ (rust_evaluate_subexp): Update.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * f-lang.c (eval_op_f_allocated): New function.
+ (evaluate_subexp_f): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * f-lang.c (fortran_require_array): New function.
+ (evaluate_subexp_f): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * f-lang.c (eval_op_f_kind): New function.
+ (evaluate_subexp_f): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * f-lang.c (eval_op_f_cmplx): New function.
+ (evaluate_subexp_f): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * f-lang.c (eval_op_f_modulo): New function.
+ (evaluate_subexp_f): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * f-lang.c (eval_op_f_floor): New function.
+ (evaluate_subexp_f): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * f-lang.c (eval_op_f_ceil): New function.
+ (evaluate_subexp_f): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * f-lang.c (eval_op_f_mod): New function.
+ (evaluate_subexp_f): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * f-lang.c (eval_op_f_abs): New function.
+ (evaluate_subexp_f): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * eval.c (eval_op_type): New function.
+ (evaluate_subexp_standard): Use it.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * eval.c (eval_op_postdec): New function.
+ (evaluate_subexp_standard): Use it.
+
2021-03-08 Tom Tromey <tom@tromey.com>
* eval.c (eval_op_postinc): New function.