/* Standard language operator definitions for GDB, the GNU debugger.
- Copyright (C) 1986-2014 Free Software Foundation, Inc.
+ Copyright (C) 1986-2017 Free Software Foundation, Inc.
This file is part of GDB.
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)
/* Multidimensional subscript operator, such as Modula-2 x[a,b,...].
/* 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. */
+ current function. Implemented via DW_OP_entry_value. */
OP (OP_VAR_ENTRY_VALUE)
/* OP_LAST is followed by an integer in the next exp_element.
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)
/* 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.
/* 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)