This section describes expressions specific to the C and C++ front ends.
TYPEID_EXPRUsed to represent a typeid expression.
NEW_EXPRVEC_NEW_EXPRUsed to represent a call to new and new[] respectively.
DELETE_EXPRVEC_DELETE_EXPRUsed to represent a call to delete and delete[] respectively.
MEMBER_REFRepresents a reference to a member of a class.
THROW_EXPRRepresents an instance of throw in the program.  Operand 0,
which is the expression to throw, may be NULL_TREE.
AGGR_INIT_EXPRAn AGGR_INIT_EXPR represents the initialization as the return
value of a function call, or as the result of a constructor.  An
AGGR_INIT_EXPR will only appear as a full-expression, or as the
second operand of a TARGET_EXPR.  AGGR_INIT_EXPRs have
a representation similar to that of CALL_EXPRs.  You can use
the AGGR_INIT_EXPR_FN and AGGR_INIT_EXPR_ARG macros to access
the function to call and the arguments to pass.
If AGGR_INIT_VIA_CTOR_P holds of the AGGR_INIT_EXPR, then
the initialization is via a constructor call.  The address of the
AGGR_INIT_EXPR_SLOT operand, which is always a VAR_DECL,
is taken, and this value replaces the first argument in the argument
list.
In either case, the expression is void.