+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class assign_modify_operation): New.
+ * eval.c (eval_binop_assign_modify): No longer static.
+ * ax-gdb.c (assign_modify_operation::do_generate_ax): New method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class assign_operation): New.
+ * ax-gdb.c (assign_operation::do_generate_ax): New method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class type_instance_operation): New.
+ * eval.c (type_instance_operation::evaluate): New method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class op_this_operation): New.
+ * ax-gdb.c (op_this_operation::do_generate_ax): New method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class unop_memval_operation)
+ (class unop_memval_type_operation): New.
+ * eval.c (eval_op_memval): No longer static.
+ (unop_memval_operation::evaluate_for_address)
+ (unop_memval_type_operation::evaluate_for_address)
+ (unop_memval_operation::evaluate_for_sizeof)
+ (unop_memval_type_operation::evaluate_for_sizeof): New methods.
+ * ax-gdb.c (unop_memval_operation::do_generate_ax)
+ (unop_memval_type_operation::do_generate_ax): New methods.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class unop_alignof_operation): New.
+ * eval.c (eval_op_alignof): No longer static.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class unop_sizeof_operation): New.
+ * ax-gdb.c (unop_sizeof_operation::do_generate_ax): New method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class unop_addr_operation): New.
+ * ax-gdb.c (gen_expr_unop) <case UNOP_ADDR>: New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class typeid_operation): New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class decltype_operation): New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class typeof_operation): New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class type_operation): New.
+ * eval.c (eval_op_type): No longer static.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class unop_ind_base_operation)
+ (class unop_ind_operation): New.
+ * eval.c (eval_op_ind): No longer static. Remove "op" parameter.
+ (unop_ind_base_operation::evaluate_for_address)
+ (unop_ind_base_operation::evaluate_for_sizeof): New method.
+ * ax-gdb.c (gen_expr_unop) <case UNOP_IND>: New.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (unop_incr_operation): New template.
+ (preinc_operation, predec_operation, postinc_operation)
+ (postdec_operation): New typedefs.
+ * eval.c (eval_op_preinc, eval_op_predec, eval_op_postinc)
+ (eval_op_postdec): No longer static.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (unary_ftype): New typedef.
+ (unop_operation, usual_ax_binop_operation): New templates.
+ (unary_plus_operation, unary_neg_operation)
+ (unary_complement_operation, unary_logical_not_operation): New
+ typedefs.
+ * eval.c (eval_op_plus, eval_op_neg, eval_op_complement)
+ (eval_op_lognot): No longer static.
+ * ax-gdb.c (gen_expr_unop): New function.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * ax-gdb.c (comma_operation::do_generate_ax): New method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class repeat_operation): New.
+ * eval.c (eval_op_repeat): No longer static. Remove "op"
+ parameter.
+ (evaluate_subexp_standard): Update.
+ * ax-gdb.c (repeat_operation::do_generate_ax): New method.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class comparison_operation): New.
+ (equal_operation, notequal_operation, less_operation)
+ (gtr_operation, geq_operation, leq_operation): New typedefs.
+ * eval.c (eval_op_equal, eval_op_notequal, eval_op_less)
+ (eval_op_gtr, eval_op_geq, eval_op_leq): No longer static.
+
+2021-03-08 Tom Tromey <tom@tromey.com>
+
+ * expop.h (class subscript_operation): New.
+ * eval.c (eval_op_subscript): No longer static.
+
2021-03-08 Tom Tromey <tom@tromey.com>
* expop.h (class binop_operation, class usual_ax_binop_operation):