xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/glibc-stdint.h (revision 8feb0f0b7eaff0608f8350bbfa3098827b4bb91b)
11debfc3dSmrg /* Definitions for <stdint.h> types on systems using GNU libc or uClibc.
2*8feb0f0bSmrg    Copyright (C) 2008-2020 Free Software Foundation, Inc.
31debfc3dSmrg 
41debfc3dSmrg This file is part of GCC.
51debfc3dSmrg 
61debfc3dSmrg GCC is free software; you can redistribute it and/or modify
71debfc3dSmrg it under the terms of the GNU General Public License as published by
81debfc3dSmrg the Free Software Foundation; either version 3, or (at your option)
91debfc3dSmrg any later version.
101debfc3dSmrg 
111debfc3dSmrg GCC is distributed in the hope that it will be useful,
121debfc3dSmrg but WITHOUT ANY WARRANTY; without even the implied warranty of
131debfc3dSmrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
141debfc3dSmrg GNU General Public License for more details.
151debfc3dSmrg 
161debfc3dSmrg Under Section 7 of GPL version 3, you are granted additional
171debfc3dSmrg permissions described in the GCC Runtime Library Exception, version
181debfc3dSmrg 3.1, as published by the Free Software Foundation.
191debfc3dSmrg 
201debfc3dSmrg You should have received a copy of the GNU General Public License and
211debfc3dSmrg a copy of the GCC Runtime Library Exception along with this program;
221debfc3dSmrg see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
231debfc3dSmrg <http://www.gnu.org/licenses/>.  */
241debfc3dSmrg 
251debfc3dSmrg /* Systems using musl libc should use this header and make sure
261debfc3dSmrg    OPTION_MUSL is defined correctly before using the TYPE macros. */
271debfc3dSmrg #ifndef OPTION_MUSL
281debfc3dSmrg #define OPTION_MUSL 0
291debfc3dSmrg #endif
301debfc3dSmrg 
311debfc3dSmrg #define SIG_ATOMIC_TYPE "int"
321debfc3dSmrg 
331debfc3dSmrg #define INT8_TYPE "signed char"
341debfc3dSmrg #define INT16_TYPE "short int"
351debfc3dSmrg #define INT32_TYPE "int"
361debfc3dSmrg #define INT64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
371debfc3dSmrg #define UINT8_TYPE "unsigned char"
381debfc3dSmrg #define UINT16_TYPE "short unsigned int"
391debfc3dSmrg #define UINT32_TYPE "unsigned int"
401debfc3dSmrg #define UINT64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
411debfc3dSmrg 
421debfc3dSmrg #define INT_LEAST8_TYPE "signed char"
431debfc3dSmrg #define INT_LEAST16_TYPE "short int"
441debfc3dSmrg #define INT_LEAST32_TYPE "int"
451debfc3dSmrg #define INT_LEAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
461debfc3dSmrg #define UINT_LEAST8_TYPE "unsigned char"
471debfc3dSmrg #define UINT_LEAST16_TYPE "short unsigned int"
481debfc3dSmrg #define UINT_LEAST32_TYPE "unsigned int"
491debfc3dSmrg #define UINT_LEAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
501debfc3dSmrg 
511debfc3dSmrg #define INT_FAST8_TYPE "signed char"
521debfc3dSmrg #define INT_FAST16_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long int" : "int")
531debfc3dSmrg #define INT_FAST32_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long int" : "int")
541debfc3dSmrg #define INT_FAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "long long int")
551debfc3dSmrg #define UINT_FAST8_TYPE "unsigned char"
561debfc3dSmrg #define UINT_FAST16_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long unsigned int" : "unsigned int")
571debfc3dSmrg #define UINT_FAST32_TYPE (LONG_TYPE_SIZE == 64 && !OPTION_MUSL ? "long unsigned int" : "unsigned int")
581debfc3dSmrg #define UINT_FAST64_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "long long unsigned int")
591debfc3dSmrg 
601debfc3dSmrg #define INTPTR_TYPE (LONG_TYPE_SIZE == 64 ? "long int" : "int")
611debfc3dSmrg #define UINTPTR_TYPE (LONG_TYPE_SIZE == 64 ? "long unsigned int" : "unsigned int")
62