1  /* Definitions for <stdint.h> types on systems using Cygwin.
       2     Copyright (C) 2009-2023 Free Software Foundation, Inc.
       3  
       4  This file is part of GCC.
       5  
       6  GCC is free software; you can redistribute it and/or modify
       7  it under the terms of the GNU General Public License as published by
       8  the Free Software Foundation; either version 3, or (at your option)
       9  any later version.
      10  
      11  GCC is distributed in the hope that it will be useful,
      12  but WITHOUT ANY WARRANTY; without even the implied warranty of
      13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      14  GNU General Public License for more details.
      15  
      16  You should have received a copy of the GNU General Public License
      17  along with GCC; see the file COPYING3.  If not see
      18  <http://www.gnu.org/licenses/>.  */
      19  
      20  #define SIG_ATOMIC_TYPE "int"
      21  
      22  /* Exact-width integer types */
      23  
      24  #define INT8_TYPE "signed char"
      25  #define INT16_TYPE "short int"
      26  #define INT32_TYPE "int"
      27  #define INT64_TYPE (TARGET_64BIT ? "long int" : "long long int")
      28  
      29  #define UINT8_TYPE "unsigned char"
      30  #define UINT16_TYPE "short unsigned int"
      31  #define UINT32_TYPE "unsigned int"
      32  #define UINT64_TYPE (TARGET_64BIT ? "long unsigned int" : "long long unsigned int")
      33  
      34  /* Minimum-width integer types */
      35  
      36  #define INT_LEAST8_TYPE "signed char"
      37  #define INT_LEAST16_TYPE "short int"
      38  #define INT_LEAST32_TYPE "int"
      39  #define INT_LEAST64_TYPE (TARGET_64BIT ? "long int" : "long long int")
      40  
      41  #define UINT_LEAST8_TYPE "unsigned char"
      42  #define UINT_LEAST16_TYPE "short unsigned int"
      43  #define UINT_LEAST32_TYPE "unsigned int"
      44  #define UINT_LEAST64_TYPE (TARGET_64BIT ? "long unsigned int" : "long long unsigned int")
      45  
      46  /* Fastest minimum-width integer types */
      47  
      48  #define INT_FAST8_TYPE "signed char"
      49  #define INT_FAST16_TYPE (TARGET_64BIT ? "long int" : "int")
      50  #define INT_FAST32_TYPE (TARGET_64BIT ? "long int" : "int")
      51  #define INT_FAST64_TYPE (TARGET_64BIT ? "long int" : "long long int")
      52  
      53  #define UINT_FAST8_TYPE "unsigned char"
      54  #define UINT_FAST16_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int")
      55  #define UINT_FAST32_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int")
      56  #define UINT_FAST64_TYPE (TARGET_64BIT ? "long unsigned int" : "long long unsigned int")
      57  
      58  /* Integer types capable of holding object pointers */
      59  
      60  #define INTPTR_TYPE (TARGET_64BIT ? "long int" : "int")
      61  #define UINTPTR_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int")