home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gnat-2.06-src.tgz / tar.out / fsf / gnat / ada / a-tree.def < prev    next >
Text File  |  1996-09-28  |  3KB  |  59 lines

  1. /****************************************************************************/
  2. /*                                        */
  3. /*               GNAT COMPILER COMPONENTS                */
  4. /*                                                                          */
  5. /*                       GNAT-SPECIFIC GCC TREE CODES                       */
  6. /*                                                                          */
  7. /*                              Specification                               */
  8. /*                                        */
  9. /*                  $Revision: 1.5 $                 */
  10. /*                                        */
  11. /*           Copyright (c) 1993, NYU, All Rights Reserved                */
  12. /*                                        */
  13. /* GNAT is free software;  you can  redistribute it  and/or modify it under */
  14. /* terms  of the GNU  General  Public  License    as  published  by the  Free */
  15. /* Software  Foundation;  either version 2,  or (at your option)  any later */
  16. /* version.  GNAT is distributed  in the hope  that it will be useful,    but */
  17. /* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT- */
  18. /* ABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public */
  19. /* License  for  more details.    You should have received  a copy of the GNU */
  20. /* General Public License along with GNAT;  see file COPYING. If not, write */
  21. /* to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
  22. /*                                        */
  23. /****************************************************************************/
  24.  
  25. /* A GNAT tree node to transform to a GCC tree.  This is only used when the
  26.    node would generate code, rather then just a tree, and we are in the global
  27.    context.
  28.  
  29.    The only field used if TREE_COMPLEXITY, which contains the GNAT node
  30.    number.  */
  31.  
  32. DEFTREECODE (TRANSFORM_EXPR, "transform_expr", "e", 0)
  33.  
  34. /* Perform an unchecked conversion between the input and the output.  */
  35.  
  36. DEFTREECODE (UNCHECKED_CONVERT_EXPR, "unchecked_convert_expr", "1", 1)
  37.  
  38. /* A type that is an unconstrained array itself.  This note is never passed
  39.    to GCC and the only field is TREE_TYPE, which is the type of the fat
  40.    pointer.  */
  41.  
  42. DEFTREECODE (UNCONSTRAINED_ARRAY_TYPE, "unconstrained_array_type", "t", 0)
  43.  
  44. /* A reference to an unconstrained array.  This node only exists as an
  45.    intermediate node during the translation of a GNAT tree to a GCC tree;
  46.    it is never passed to GCC.  The only field used is operand 0, which
  47.    is the fat pointer object.  */
  48.  
  49. DEFTREECODE (UNCONSTRAINED_ARRAY_REF, "unconstrained_array_ref", "r", 1)
  50.  
  51. /* An expression that returns an RTL suitable for its type.  Operand 0
  52.    is an expression to be evaluated for side effects only.  */
  53.  
  54. DEFTREECODE (NULL_EXPR, "null_expr", "e", 1)
  55.  
  56. /* An expression that emits a USE for its single operand.  */
  57.  
  58. DEFTREECODE (USE_EXPR, "use_expr", "e", 1)
  59.