Introduce last_operation

This adds class last_operation, which implements OP_LAST.

gdb/ChangeLog
2021-03-08  Tom Tromey  <tom@tromey.com>

	* expop.h (class last_operation): New.
This commit is contained in:
Tom Tromey
2021-03-08 07:27:57 -07:00
parent 176793957a
commit 247d935b83
2 changed files with 22 additions and 0 deletions

View File

@ -1,3 +1,7 @@
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.

View File

@ -579,6 +579,24 @@ public:
{ return OP_FUNC_STATIC_VAR; }
};
class last_operation
: public tuple_holding_operation<int>
{
public:
using tuple_holding_operation::tuple_holding_operation;
value *evaluate (struct type *expect_type,
struct expression *exp,
enum noside noside) override
{
return access_value_history (std::get<0> (m_storage));
}
enum exp_opcode opcode () const override
{ return OP_LAST; }
};
} /* namespace expr */
#endif /* EXPOP_H */