110d565efSmrg /* Definitions for <stdint.h> types on systems using GNU libc or uClibc.
2*ec02198aSmrg    Copyright (C) 2008-2020 Free Software Foundation, Inc.
310d565efSmrg 
410d565efSmrg This file is part of GCC.
510d565efSmrg 
610d565efSmrg GCC is free software; you can redistribute it and/or modify
710d565efSmrg it under the terms of the GNU General Public License as published by
810d565efSmrg the Free Software Foundation; either version 3, or (at your option)
910d565efSmrg any later version.
1010d565efSmrg 
1110d565efSmrg GCC is distributed in the hope that it will be useful,
1210d565efSmrg but WITHOUT ANY WARRANTY; without even the implied warranty of
1310d565efSmrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1410d565efSmrg GNU General Public License for more details.
1510d565efSmrg 
1610d565efSmrg Under Section 7 of GPL version 3, you are granted additional
1710d565efSmrg permissions described in the GCC Runtime Library Exception, version
1810d565efSmrg 3.1, as published by the Free Software Foundation.
1910d565efSmrg 
2010d565efSmrg You should have received a copy of the GNU General Public License and
2110d565efSmrg a copy of the GCC Runtime Library Exception along with this program;
2210d565efSmrg see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
2310d565efSmrg <http://www.gnu.org/licenses/>.  */
2410d565efSmrg 
2510d565efSmrg /* Systems using musl libc should use this header and make sure
2610d565efSmrg    OPTION_MUSL is defined correctly before using the TYPE macros. */
2710d565efSmrg #ifndef OPTION_MUSL
2810d565efSmrg #define OPTION_MUSL 0
2910d565efSmrg #endif
3010d565efSmrg 
3110d565efSmrg #define SIG_ATOMIC_TYPE "int"
3210d565efSmrg 
3310d565efSmrg #define INT8_TYPE "signed char"
3410d565efSmrg #define INT16_TYPE "short int"
3510d565efSmrg #define INT32_TYPE "int"
3610d565efSmrg #define INT64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
3710d565efSmrg #define UINT8_TYPE "unsigned char"
3810d565efSmrg #define UINT16_TYPE "short unsigned int"
3910d565efSmrg #define UINT32_TYPE "unsigned int"
4010d565efSmrg #define UINT64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
4110d565efSmrg 
4210d565efSmrg #define INT_LEAST8_TYPE "signed char"
4310d565efSmrg #define INT_LEAST16_TYPE "short int"
4410d565efSmrg #define INT_LEAST32_TYPE "int"
4510d565efSmrg #define INT_LEAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
4610d565efSmrg #define UINT_LEAST8_TYPE "unsigned char"
4710d565efSmrg #define UINT_LEAST16_TYPE "short unsigned int"
4810d565efSmrg #define UINT_LEAST32_TYPE "unsigned int"
4910d565efSmrg #define UINT_LEAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
5010d565efSmrg 
5110d565efSmrg #define INT_FAST8_TYPE "signed char"
5210d565efSmrg #define INT_FAST16_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long int" : "int")
5310d565efSmrg #define INT_FAST32_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long int" : "int")
5410d565efSmrg #define INT_FAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
5510d565efSmrg #define UINT_FAST8_TYPE "unsigned char"
5610d565efSmrg #define UINT_FAST16_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long unsigned int" : "unsigned int")
5710d565efSmrg #define UINT_FAST32_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long unsigned int" : "unsigned int")
5810d565efSmrg #define UINT_FAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
5910d565efSmrg 
6010d565efSmrg #define INTPTR_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "int")
6110d565efSmrg #define UINTPTR_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "unsigned int")
62