/* For DELETE_EXPR, operand 0 is the store to be destroyed.
   Operand 1 is the value to pass to the destroying function
   saying whether the store should be deallocated as well.  */
DEFTREECODE (DELETE_EXPR, "delete_expr", "e", 2)

/* Value is reference to particular overloaded class method.
   Operand 0 is the class name (an IDENTIFIER_NODE);
   operand 1 is the field (also an IDENTIFIER_NODE).  */
DEFTREECODE (SCOPE_REF, "scope_ref", "r", 2)

/* When composing an object with a member, this is the result.
   Operand 0 is the object.  Operand 1 is the member (usually
   a dereferenced pointer to member).  */
DEFTREECODE (MEMBER_REF, "member_ref", "r", 2)

/* Type conversion operator in C++.  TREE_TYPE is type that this
   operator converts to.  Operand is expression to be converted.  */
DEFTREECODE (TYPE_EXPR, "type_expr", "e", 1)

/* For CPLUS_NEW_EXPR, operand 0 is function which performs initialization,
   operand 1 is argument list to initialization function,
   and operand 2 is the slot which was allocated for this expression.  */
DEFTREECODE (CPLUS_NEW_EXPR, "cplus_new_expr", "e", 3)

/* Distinguish variables that are only used to identify exceptions
   that were caught.  Only the DECL_NAME (and TREE_CHAIN)
   is really used.  */
DEFTREECODE (CPLUS_CATCH_DECL, "cplus_catch_decl", "d", 0)