Implement some unary operations
authorTom Tromey <tom@tromey.com>
Mon, 8 Mar 2021 14:27:57 +0000 (07:27 -0700)
committerTom Tromey <tom@tromey.com>
Mon, 8 Mar 2021 14:28:20 +0000 (07:28 -0700)
commit9307d17b7a97bd49baf0d877785c43cf203b7cee
tree2a3cc7312867dfa2d2c1565739a3bf77b2be9e4c
parentae64ba58b3bc5a9a023974f37515aee9862548fd
Implement some unary operations

This introduces a couple of new template classes and then uses them to
implement some simple unary operations.

gdb/ChangeLog
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.
gdb/ChangeLog
gdb/ax-gdb.c
gdb/eval.c
gdb/expop.h