X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fstd-operator.def;h=6123957e994c3d5bdde7f6303e1132cf874606df;hb=31925464a80970e37c06192a0c49f8948a2f5da0;hp=2c771415b787e6c563152afdcbde53b5f5c672c0;hpb=aee28ec61ad1d4027a78cdbc1da0dcd9f43e2374;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/std-operator.def b/gdb/std-operator.def index 2c771415b7..6123957e99 100644 --- a/gdb/std-operator.def +++ b/gdb/std-operator.def @@ -1,7 +1,6 @@ /* Standard language operator definitions for GDB, the GNU debugger. - Copyright (C) 1986, 1989, 1992, 1994, 2000, 2003, 2005, 2007, 2008, 2009, - 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 1986-2016 Free Software Foundation, Inc. This file is part of GDB. @@ -88,28 +87,16 @@ OP (BINOP_VAL) the second operand with itself that many times. */ OP (BINOP_CONCAT) -/* For (the deleted) Chill and Pascal. */ -OP (BINOP_IN) /* Returns 1 iff ARG1 IN ARG2. */ - -/* This is the "colon operator" used various places in (the - deleted) Chill. */ -OP (BINOP_RANGE) - /* This must be the highest BINOP_ value, for expprint.c. */ OP (BINOP_END) /* Operates on three values computed by following subexpressions. */ OP (TERNOP_COND) /* ?: */ -/* A sub-string/sub-array. (the deleted) Chill syntax: - OP1(OP2:OP3). Return elements OP2 through OP3 of OP1. */ +/* A sub-string/sub-array. Ada syntax: OP1(OP2..OP3). Return + elements OP2 through OP3 of OP1. */ OP (TERNOP_SLICE) -/* A sub-string/sub-array. (The deleted) Chill syntax: OP1(OP2 UP - OP3). Return OP3 elements of OP1, starting with element - OP2. */ -OP (TERNOP_SLICE_COUNT) - /* Multidimensional subscript operator, such as Modula-2 x[a,b,...]. The dimensionality is encoded in the operator, like the number of function arguments in OP_FUNCALL, I.E. . @@ -139,6 +126,12 @@ OP (OP_DOUBLE) use the selected frame. */ OP (OP_VAR_VALUE) +/* OP_VAR_ENTRY_VALUE takes one struct symbol * in the following element, + followed by another OP_VAR_ENTRY_VALUE, making three exp_elements. + somename@entry may mean parameter value as present at the entry of the + current function. Implemented via DW_OP_GNU_entry_value. */ +OP (OP_VAR_ENTRY_VALUE) + /* OP_LAST is followed by an integer in the next exp_element. The integer is zero for the last value printed, or it is the absolute number of a history element. @@ -188,12 +181,6 @@ OP (OP_COMPLEX) is executed. */ OP (OP_STRING) -/* OP_BITSTRING represents a packed bitstring constant. - Its format is the same as that of a STRUCTOP, but the bitstring - data is just made into a bitstring constant when the operation - is executed. */ -OP (OP_BITSTRING) - /* OP_ARRAY creates an array constant out of the following subexpressions. It is followed by two exp_elements, the first containing an integer that is the lower bound of the array and the second containing another @@ -210,6 +197,9 @@ OP (OP_ARRAY) It casts the value of the following subexpression. */ OP (UNOP_CAST) +/* Like UNOP_CAST, but the type is a subexpression. */ +OP (UNOP_CAST_TYPE) + /* The C++ dynamic_cast operator. */ OP (UNOP_DYNAMIC_CAST) @@ -229,6 +219,9 @@ OP (UNOP_MEMVAL) following subexpression from the TLS specified by `struct objfile'. */ OP (UNOP_MEMVAL_TLS) +/* Like UNOP_MEMVAL, but the type is supplied as a subexpression. */ +OP (UNOP_MEMVAL_TYPE) + /* UNOP_... operate on one value from a following subexpression and replace it with a result. They take no immediate arguments. */ @@ -273,6 +266,9 @@ OP (OP_M2_STRING) /* Modula-2 string constants */ OP (STRUCTOP_STRUCT) OP (STRUCTOP_PTR) +/* Anonymous field access, e.g. "foo.3". Used in Rust. */ +OP (STRUCTOP_ANONYMOUS) + /* C++: OP_THIS is just a placeholder for the class instance variable. It just comes in a tight (OP_THIS, OP_THIS) pair. */ OP (OP_THIS) @@ -285,19 +281,6 @@ OP (OP_OBJC_SELECTOR) a string, which, of course, is variable length. */ OP (OP_SCOPE) -/* Used to represent named structure field values in brace - initializers (or tuples as they are called in (the deleted) - Chill). - - The gcc C syntax is NAME:VALUE or .NAME=VALUE, the (the - deleted) Chill syntax is .NAME:VALUE. Multiple labels (as in - the (the deleted) Chill syntax .NAME1,.NAME2:VALUE) is - represented as if it were .NAME1:(.NAME2:VALUE) (though that is - not valid (the deleted) Chill syntax). - - The NAME is represented as for STRUCTOP_STRUCT; VALUE follows. */ -OP (OP_LABELED) - /* OP_TYPE is for parsing types, and used with the "ptype" command so we can look up types that are qualified by scope, either with the GDB "::" operator, or the Modula-2 '.' operator. */ @@ -309,8 +292,9 @@ OP (OP_NAME) /* An Objective C Foundation Class NSString constant. */ OP (OP_OBJC_NSSTRING) -/* A F90 array range operator (for "exp:exp", "exp:", ":exp" and ":"). */ -OP (OP_F90_RANGE) +/* An array range operator (in Fortran 90, for "exp:exp", "exp:", + ":exp" and ":"). */ +OP (OP_RANGE) /* OP_DECFLOAT is followed by a type pointer in the next exp_element and a dec long constant value in the following exp_element. @@ -320,3 +304,19 @@ OP (OP_DECFLOAT) /* OP_ADL_FUNC specifies that the function is to be looked up in an Argument Dependent manner (Koenig lookup). */ OP (OP_ADL_FUNC) + +/* The typeof operator. This has one expression argument, which is + evaluated solely for its type. */ +OP (OP_TYPEOF) + +/* The decltype operator. This has one expression argument, which is + evaluated solely for its type. This is similar to typeof, but has + slight different semantics. */ +OP (OP_DECLTYPE) + +/* The typeid operator. This has one expression argument. */ +OP (OP_TYPEID) + +/* This is used for the Rust [expr; N] form of array construction. It + takes two expression arguments. */ +OP (OP_RUST_ARRAY)