/****************************************************************************/
/*									    */
/*			   GNAT COMPILER COMPONENTS			    */
/*                                                                          */
/*                       GNAT-SPECIFIC GCC TREE CODES                       */
/*                                                                          */
/*                              Specification                               */
/*									    */
/*			      $Revision: 1.5 $ 			    */
/*									    */
/*	       Copyright (c) 1993, NYU, All Rights Reserved	    	    */
/*									    */
/* GNAT is free software;  you can  redistribute it  and/or modify it under */
/* terms  of the GNU  General  Public  License	as  published  by the  Free */
/* Software  Foundation;  either version 2,  or (at your option)  any later */
/* version.  GNAT is distributed  in the hope  that it will be useful,	but */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT- */
/* ABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public */
/* License  for  more details.	You should have received  a copy of the GNU */
/* General Public License along with GNAT;  see file COPYING. If not, write */
/* to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/*									    */
/****************************************************************************/

/* A GNAT tree node to transform to a GCC tree.  This is only used when the
   node would generate code, rather then just a tree, and we are in the global
   context.

   The only field used if TREE_COMPLEXITY, which contains the GNAT node
   number.  */

DEFTREECODE (TRANSFORM_EXPR, "transform_expr", "e", 0)

/* Perform an unchecked conversion between the input and the output.  */

DEFTREECODE (UNCHECKED_CONVERT_EXPR, "unchecked_convert_expr", "1", 1)

/* A type that is an unconstrained array itself.  This note is never passed
   to GCC and the only field is TREE_TYPE, which is the type of the fat
   pointer.  */

DEFTREECODE (UNCONSTRAINED_ARRAY_TYPE, "unconstrained_array_type", "t", 0)

/* A reference to an unconstrained array.  This node only exists as an
   intermediate node during the translation of a GNAT tree to a GCC tree;
   it is never passed to GCC.  The only field used is operand 0, which
   is the fat pointer object.  */

DEFTREECODE (UNCONSTRAINED_ARRAY_REF, "unconstrained_array_ref", "r", 1)

/* An expression that returns an RTL suitable for its type.  Operand 0
   is an expression to be evaluated for side effects only.  */

DEFTREECODE (NULL_EXPR, "null_expr", "e", 1)

/* An expression that emits a USE for its single operand.  */

DEFTREECODE (USE_EXPR, "use_expr", "e", 1)
