aboutsummaryrefslogtreecommitdiff
path: root/gdb/expression.h
diff options
context:
space:
mode:
authorgdb-2.5.1 <gdb@fsf.org>1988-05-02 01:00:00 +0100
committerPedro Alves <palves@redhat.com>2012-06-03 15:36:30 +0100
commit632ea0ccc5c4c3f9fc06881bfedfc4b075873941 (patch)
tree96f152433c41c5f51fe57307b287eb85865a43e2 /gdb/expression.h
parent7b4ac7e1ed2c4616bce56d1760807798be87ac9e (diff)
downloadfsf-binutils-gdb-632ea0ccc5c4c3f9fc06881bfedfc4b075873941.zip
fsf-binutils-gdb-632ea0ccc5c4c3f9fc06881bfedfc4b075873941.tar.gz
fsf-binutils-gdb-632ea0ccc5c4c3f9fc06881bfedfc4b075873941.tar.bz2
gdb-2.5.1
Diffstat (limited to 'gdb/expression.h')
-rw-r--r--gdb/expression.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/gdb/expression.h b/gdb/expression.h
index 7a7bd83..ee3791f 100644
--- a/gdb/expression.h
+++ b/gdb/expression.h
@@ -60,6 +60,18 @@ enum exp_opcode
BINOP_COMMA, /* , */
BINOP_SUBSCRIPT, /* x[y] */
BINOP_EXP, /* Exponentiation */
+
+/* C++. */
+ BINOP_SCOPE, /* :: */
+
+ /* STRUCTOP_MEMBER is used for pointer-to-member constructs.
+ X . * Y translates into X STRUCTOP_MEMBER Y. */
+ STRUCTOP_MEMBER,
+ /* STRUCTOP_MPTR is used for pointer-to-member constructs
+ when X is a pointer instead of an aggregate. */
+ STRUCTOP_MPTR,
+/* end of C++. */
+
BINOP_END,
BINOP_ASSIGN_MODIFY, /* +=, -=, *=, and so on.
@@ -144,6 +156,17 @@ enum exp_opcode
(after the string), followed by another STRUCTOP_... code. */
STRUCTOP_STRUCT,
STRUCTOP_PTR,
+
+/* C++ */
+ /* OP_THIS is just a placeholder for the class instance variable.
+ It just comes in a tight (OP_THIS, OP_THIS) pair. */
+ OP_THIS,
+
+ /* OP_SCOPE surrounds a type name and a field name. The type
+ name is encoded as one element, but the field name stays as
+ a string, which, of course, is variable length. */
+ OP_SCOPE,
+
};
union exp_element