diff options
author | Tom Tromey <tom@tromey.com> | 2021-03-08 07:27:57 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2021-03-08 07:28:35 -0700 |
commit | 7631cf6cc8812fef7d27aff800e12f8e31393f29 (patch) | |
tree | cf5d4690a25592b5c333d8cb258fc051bb6ab86c /gdb | |
parent | 7992accc6e5dc674ab209397acc1d840f869c326 (diff) | |
download | gdb-7631cf6cc8812fef7d27aff800e12f8e31393f29.zip gdb-7631cf6cc8812fef7d27aff800e12f8e31393f29.tar.gz gdb-7631cf6cc8812fef7d27aff800e12f8e31393f29.tar.bz2 |
Introduce ada_pos_operation
This adds class ada_pos_operation, a new typedef that implements
OP_ATR_POS.
gdb/ChangeLog
2021-03-08 Tom Tromey <tom@tromey.com>
* ada-lang.c (ada_pos_atr): No longer static.
* ada-exp.h (ada_pos_operation): New typedef.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/ada-exp.h | 5 | ||||
-rw-r--r-- | gdb/ada-lang.c | 2 |
3 files changed, 11 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9a13a03..adb5140 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2021-03-08 Tom Tromey <tom@tromey.com> + * ada-lang.c (ada_pos_atr): No longer static. + * ada-exp.h (ada_pos_operation): New typedef. + +2021-03-08 Tom Tromey <tom@tromey.com> + * ada-lang.c (ada_pos_atr): Rename from value_pos_atr. Change parameters. (ada_evaluate_subexp): Use it. diff --git a/gdb/ada-exp.h b/gdb/ada-exp.h index f380893..07744c1 100644 --- a/gdb/ada-exp.h +++ b/gdb/ada-exp.h @@ -65,6 +65,10 @@ extern struct value *ada_binop_minmax (struct type *expect_type, enum noside noside, enum exp_opcode op, struct value *arg1, struct value *arg2); +extern struct value *ada_pos_atr (struct type *expect_type, + struct expression *exp, + enum noside noside, enum exp_opcode op, + struct value *arg); namespace expr { @@ -135,6 +139,7 @@ using ada_neg_operation = unop_operation<UNOP_NEG, ada_unop_neg>; using ada_atr_tag_operation = unop_operation<OP_ATR_TAG, ada_atr_tag>; using ada_atr_size_operation = unop_operation<OP_ATR_SIZE, ada_atr_size>; using ada_abs_operation = unop_operation<UNOP_ABS, ada_abs>; +using ada_pos_operation = unop_operation<OP_ATR_POS, ada_pos_atr>; /* The in-range operation, given a type. */ class ada_unop_range_operation diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index cbb1dee..52766ae 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -8863,7 +8863,7 @@ pos_atr (struct value *arg) return *result; } -static struct value * +struct value * ada_pos_atr (struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode op, |