(root)/
gcc-13.2.0/
gcc/
ada/
repinfo.h
       1  /****************************************************************************
       2   *                                                                          *
       3   *                         GNAT COMPILER COMPONENTS                         *
       4   *                                                                          *
       5   *                              R E P I N F O                               *
       6   *                                                                          *
       7   *                              C Header File                               *
       8   *                                                                          *
       9   *          Copyright (C) 1999-2023, Free Software Foundation, Inc.         *
      10   *                                                                          *
      11   * GNAT is free software;  you can  redistribute it  and/or modify it under *
      12   * terms of the  GNU General Public License as published  by the Free Soft- *
      13   * ware  Foundation;  either version 3,  or (at your option) any later ver- *
      14   * sion.  GNAT is distributed in the hope that it will be useful, but WITH- *
      15   * OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY *
      16   * or FITNESS FOR A PARTICULAR PURPOSE.                                     *
      17   *                                                                          *
      18   * As a special exception under Section 7 of GPL version 3, you are granted *
      19   * additional permissions described in the GCC Runtime Library Exception,   *
      20   * version 3.1, as published by the Free Software Foundation.               *
      21   *                                                                          *
      22   * You should have received a copy of the GNU General Public License and    *
      23   * a copy of the GCC Runtime Library Exception along with this program;     *
      24   * see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    *
      25   * <http://www.gnu.org/licenses/>.                                          *
      26   *                                                                          *
      27   * GNAT was originally developed  by the GNAT team at  New York University. *
      28   * Extensive contributions were provided by Ada Core Technologies Inc.      *
      29   *                                                                          *
      30   ****************************************************************************/
      31  
      32  /* This is the C header that corresponds to the Ada package specification for
      33     Repinfo.  It was created manually from repinfo.ads and must be kept
      34     synchronized with changes in this file.  */
      35  
      36  #ifdef __cplusplus
      37  extern "C" {
      38  #endif
      39  
      40  typedef Uint Node_Ref;
      41  typedef Uint Node_Ref_Or_Val;
      42  typedef char TCode;
      43  
      44  /* These are the values of TCcode that correspond to tree codes in tree.def,
      45     except for the first, which is how we encode discriminants.  */
      46  
      47  #define Discrim_Val       0
      48  #define Cond_Expr         1
      49  #define Plus_Expr         2
      50  #define Minus_Expr        3
      51  #define Mult_Expr         4
      52  #define Trunc_Div_Expr    5
      53  #define Ceil_Div_Expr     6
      54  #define Floor_Div_Expr    7
      55  #define Trunc_Mod_Expr    8
      56  #define Ceil_Mod_Expr     9
      57  #define Floor_Mod_Expr   10
      58  #define Exact_Div_Expr   11
      59  #define Negate_Expr      12
      60  #define Min_Expr         13
      61  #define Max_Expr         14
      62  #define Abs_Expr         15
      63  #define Truth_And_Expr   16
      64  #define Truth_Or_Expr    17
      65  #define Truth_Xor_Expr   18
      66  #define Truth_Not_Expr   19
      67  #define Lt_Expr          20
      68  #define Le_Expr          21
      69  #define Gt_Expr          22
      70  #define Ge_Expr          23
      71  #define Eq_Expr          24
      72  #define Ne_Expr          25
      73  #define Bit_And_Expr     26
      74  #define Dynamic_Val      27
      75  
      76  /* Creates a node using the tree code defined by Expr and from 1-3
      77     operands as required (unused operands set as shown to No_Uint) Note
      78     that this call can be used to create a discriminant reference by
      79     using (Expr => Discrim_Val, Op1 => discriminant_number).  */
      80  #define Create_Node repinfo__create_node
      81  extern Node_Ref Create_Node	(TCode, Node_Ref_Or_Val,
      82  				 Node_Ref_Or_Val, Node_Ref_Or_Val);
      83  
      84  #ifdef __cplusplus
      85  }
      86  #endif