aboutsummaryrefslogtreecommitdiff
path: root/gdb/expop.h
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/expop.h')
-rw-r--r--gdb/expop.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/gdb/expop.h b/gdb/expop.h
index 4624c2f..5c3b0af 100644
--- a/gdb/expop.h
+++ b/gdb/expop.h
@@ -100,6 +100,11 @@ extern struct value *eval_op_binary (struct type *expect_type,
struct expression *exp,
enum noside noside, enum exp_opcode op,
struct value *arg1, struct value *arg2);
+extern struct value *eval_op_subscript (struct type *expect_type,
+ struct expression *exp,
+ enum noside noside, enum exp_opcode op,
+ struct value *arg1,
+ struct value *arg2);
namespace expr
{
@@ -1112,6 +1117,17 @@ using bitwise_ior_operation
using bitwise_xor_operation
= usual_ax_binop_operation<BINOP_BITWISE_XOR, eval_op_binary>;
+class subscript_operation
+ : public usual_ax_binop_operation<BINOP_SUBSCRIPT, eval_op_subscript>
+{
+public:
+ using usual_ax_binop_operation<BINOP_SUBSCRIPT,
+ eval_op_subscript>::usual_ax_binop_operation;
+
+ value *evaluate_for_sizeof (struct expression *exp,
+ enum noside noside) override;
+};
+
} /* namespace expr */
#endif /* EXPOP_H */