1189251Ssam/* This file is automatically generated. DO NOT EDIT! */ 2189251Ssam/* Generated from: NetBSD: mknative-gdb,v 1.16 2023/07/31 17:09:59 christos Exp */ 3189251Ssam/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp */ 4189251Ssam 5252726Srpaulo/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ 6252726Srpaulo/* A GNU-like <limits.h>. 7189251Ssam 8189251Ssam Copyright 2016-2022 Free Software Foundation, Inc. 9189251Ssam 10189251Ssam This file is free software: you can redistribute it and/or modify 11189251Ssam it under the terms of the GNU Lesser General Public License as 12214734Srpaulo published by the Free Software Foundation; either version 2.1 of the 13214734Srpaulo License, or (at your option) any later version. 14214734Srpaulo 15189251Ssam This file is distributed in the hope that it will be useful, 16189251Ssam but WITHOUT ANY WARRANTY; without even the implied warranty of 17189251Ssam MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18189251Ssam GNU Lesser General Public License for more details. 19189251Ssam 20189251Ssam You should have received a copy of the GNU Lesser General Public License 21189251Ssam along with this program. If not, see <https://www.gnu.org/licenses/>. */ 22214734Srpaulo 23189251Ssam#if __GNUC__ >= 3 24214734Srpaulo#pragma GCC system_header 25214734Srpaulo#endif 26189251Ssam 27214734Srpaulo 28189251Ssam#if defined _GL_ALREADY_INCLUDING_LIMITS_H 29189251Ssam/* Special invocation convention: 30189251Ssam On Haiku/x86_64, we have a sequence of nested includes 31189251Ssam <limits.h> -> <syslimits.h> -> <limits.h>. 32189251Ssam In this situation, LONG_MAX and INT_MAX are not yet defined, 33189251Ssam therefore we should not attempt to define LONG_BIT. */ 34189251Ssam 35189251Ssam#include_next <limits.h> 36189251Ssam 37189251Ssam#else 38189251Ssam/* Normal invocation convention. */ 39189251Ssam 40189251Ssam#ifndef _GL_LIMITS_H 41189251Ssam 42189251Ssam# define _GL_ALREADY_INCLUDING_LIMITS_H 43189251Ssam 44189251Ssam/* The include_next requires a split double-inclusion guard. */ 45189251Ssam# include_next <limits.h> 46189251Ssam 47189251Ssam# undef _GL_ALREADY_INCLUDING_LIMITS_H 48189251Ssam 49189251Ssam#ifndef _GL_LIMITS_H 50214734Srpaulo#define _GL_LIMITS_H 51252726Srpaulo 52252726Srpaulo#ifndef LLONG_MIN 53252726Srpaulo# if defined LONG_LONG_MIN /* HP-UX 11.31 */ 54252726Srpaulo# define LLONG_MIN LONG_LONG_MIN 55252726Srpaulo# elif defined LONGLONG_MIN /* IRIX 6.5 */ 56252726Srpaulo# define LLONG_MIN LONGLONG_MIN 57252726Srpaulo# elif defined __GNUC__ 58252726Srpaulo# define LLONG_MIN (- __LONG_LONG_MAX__ - 1LL) 59252726Srpaulo# endif 60252726Srpaulo#endif 61252726Srpaulo#ifndef LLONG_MAX 62252726Srpaulo# if defined LONG_LONG_MAX /* HP-UX 11.31 */ 63252726Srpaulo# define LLONG_MAX LONG_LONG_MAX 64189251Ssam# elif defined LONGLONG_MAX /* IRIX 6.5 */ 65189251Ssam# define LLONG_MAX LONGLONG_MAX 66189251Ssam# elif defined __GNUC__ 67189251Ssam# define LLONG_MAX __LONG_LONG_MAX__ 68189251Ssam# endif 69189251Ssam#endif 70189251Ssam#ifndef ULLONG_MAX 71189251Ssam# if defined ULONG_LONG_MAX /* HP-UX 11.31 */ 72189251Ssam# define ULLONG_MAX ULONG_LONG_MAX 73189251Ssam# elif defined ULONGLONG_MAX /* IRIX 6.5 */ 74189251Ssam# define ULLONG_MAX ULONGLONG_MAX 75189251Ssam# elif defined __GNUC__ 76214734Srpaulo# define ULLONG_MAX (__LONG_LONG_MAX__ * 2ULL + 1ULL) 77214734Srpaulo# endif 78189251Ssam#endif 79189251Ssam 80189251Ssam/* The number of usable bits in an unsigned or signed integer type 81189251Ssam with minimum value MIN and maximum value MAX, as an int expression 82189251Ssam suitable in #if. Cover all known practical hosts. This 83189251Ssam implementation exploits the fact that MAX is 1 less than a power of 84189251Ssam 2, and merely counts the number of 1 bits in MAX; "COBn" means 85189251Ssam "count the number of 1 bits in the low-order n bits"). */ 86189251Ssam#define _GL_INTEGER_WIDTH(min, max) (((min) < 0) + _GL_COB128 (max)) 87189251Ssam#define _GL_COB128(n) (_GL_COB64 ((n) >> 31 >> 31 >> 2) + _GL_COB64 (n)) 88189251Ssam#define _GL_COB64(n) (_GL_COB32 ((n) >> 31 >> 1) + _GL_COB32 (n)) 89189251Ssam#define _GL_COB32(n) (_GL_COB16 ((n) >> 16) + _GL_COB16 (n)) 90189251Ssam#define _GL_COB16(n) (_GL_COB8 ((n) >> 8) + _GL_COB8 (n)) 91189251Ssam#define _GL_COB8(n) (_GL_COB4 ((n) >> 4) + _GL_COB4 (n)) 92189251Ssam#define _GL_COB4(n) (!!((n) & 8) + !!((n) & 4) + !!((n) & 2) + !!((n) & 1)) 93189251Ssam 94189251Ssam#ifndef WORD_BIT 95189251Ssam/* Assume 'int' is 32 bits wide. */ 96189251Ssam# define WORD_BIT 32 97189251Ssam#endif 98189251Ssam#ifndef LONG_BIT 99189251Ssam/* Assume 'long' is 32 or 64 bits wide. */ 100189251Ssam# if LONG_MAX == INT_MAX 101189251Ssam# define LONG_BIT 32 102189251Ssam# else 103189251Ssam# define LONG_BIT 64 104189251Ssam# endif 105189251Ssam#endif 106189251Ssam 107189251Ssam/* Macros specified by C2x and by ISO/IEC TS 18661-1:2014. */ 108189251Ssam 109189251Ssam#if (! defined ULLONG_WIDTH \ 110189251Ssam && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__ \ 111189251Ssam || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))) 112189251Ssam# define CHAR_WIDTH _GL_INTEGER_WIDTH (CHAR_MIN, CHAR_MAX) 113189251Ssam# define SCHAR_WIDTH _GL_INTEGER_WIDTH (SCHAR_MIN, SCHAR_MAX) 114189251Ssam# define UCHAR_WIDTH _GL_INTEGER_WIDTH (0, UCHAR_MAX) 115189251Ssam# define SHRT_WIDTH _GL_INTEGER_WIDTH (SHRT_MIN, SHRT_MAX) 116189251Ssam# define USHRT_WIDTH _GL_INTEGER_WIDTH (0, USHRT_MAX) 117189251Ssam# define INT_WIDTH _GL_INTEGER_WIDTH (INT_MIN, INT_MAX) 118189251Ssam# define UINT_WIDTH _GL_INTEGER_WIDTH (0, UINT_MAX) 119189251Ssam# define LONG_WIDTH _GL_INTEGER_WIDTH (LONG_MIN, LONG_MAX) 120189251Ssam# define ULONG_WIDTH _GL_INTEGER_WIDTH (0, ULONG_MAX) 121189251Ssam# define LLONG_WIDTH _GL_INTEGER_WIDTH (LLONG_MIN, LLONG_MAX) 122189251Ssam# define ULLONG_WIDTH _GL_INTEGER_WIDTH (0, ULLONG_MAX) 123189251Ssam#endif 124189251Ssam 125189251Ssam/* Macros specified by C2x. */ 126189251Ssam 127189251Ssam#if (! defined BOOL_WIDTH \ 128189251Ssam && (defined _GNU_SOURCE \ 129189251Ssam || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))) 130189251Ssam# define BOOL_MAX 1 131214734Srpaulo# define BOOL_WIDTH 1 132214734Srpaulo#endif 133214734Srpaulo 134189251Ssam#endif /* _GL_LIMITS_H */ 135252726Srpaulo#endif /* _GL_LIMITS_H */ 136252726Srpaulo#endif 137252726Srpaulo