ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/lib/gcc/i686-w64-mingw32/11.2.0/include-fixed/limits.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 6355 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /* Copyright (C) 1992-2021 Free Software Foundation, Inc.
2
3 This file is part of GCC.
4
5 GCC is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free
7 Software Foundation; either version 3, or (at your option) any later
8 version.
9
10 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11 WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 for more details.
14
15 Under Section 7 of GPL version 3, you are granted additional
16 permissions described in the GCC Runtime Library Exception, version
17 3.1, as published by the Free Software Foundation.
18
19 You should have received a copy of the GNU General Public License and
20 a copy of the GCC Runtime Library Exception along with this program;
21 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
22 <http://www.gnu.org/licenses/>. */
23
24 /* This administrivia gets added to the beginning of limits.h
25 if the system has its own version of limits.h. */
26
27 /* We use _GCC_LIMITS_H_ because we want this not to match
28 any macros that the system's limits.h uses for its own purposes. */
29 #ifndef _GCC_LIMITS_H_ /* Terminated in limity.h. */
30 #define _GCC_LIMITS_H_
31
32 #ifndef _LIBC_LIMITS_H_
33 /* Use "..." so that we find syslimits.h only in this same directory. */
34 #include "syslimits.h"
35 #endif
36 /* Copyright (C) 1991-2021 Free Software Foundation, Inc.
37
38 This file is part of GCC.
39
40 GCC is free software; you can redistribute it and/or modify it under
41 the terms of the GNU General Public License as published by the Free
42 Software Foundation; either version 3, or (at your option) any later
43 version.
44
45 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
46 WARRANTY; without even the implied warranty of MERCHANTABILITY or
47 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
48 for more details.
49
50 Under Section 7 of GPL version 3, you are granted additional
51 permissions described in the GCC Runtime Library Exception, version
52 3.1, as published by the Free Software Foundation.
53
54 You should have received a copy of the GNU General Public License and
55 a copy of the GCC Runtime Library Exception along with this program;
56 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
57 <http://www.gnu.org/licenses/>. */
58
59 #ifndef _LIMITS_H___
60 #define _LIMITS_H___
61
62 /* Number of bits in a `char'. */
63 #undef CHAR_BIT
64 #define CHAR_BIT __CHAR_BIT__
65
66 /* Maximum length of a multibyte character. */
67 #ifndef MB_LEN_MAX
68 #define MB_LEN_MAX 1
69 #endif
70
71 /* Minimum and maximum values a `signed char' can hold. */
72 #undef SCHAR_MIN
73 #define SCHAR_MIN (-SCHAR_MAX - 1)
74 #undef SCHAR_MAX
75 #define SCHAR_MAX __SCHAR_MAX__
76
77 /* Maximum value an `unsigned char' can hold. (Minimum is 0). */
78 #undef UCHAR_MAX
79 #if __SCHAR_MAX__ == __INT_MAX__
80 # define UCHAR_MAX (SCHAR_MAX * 2U + 1U)
81 #else
82 # define UCHAR_MAX (SCHAR_MAX * 2 + 1)
83 #endif
84
85 /* Minimum and maximum values a `char' can hold. */
86 #ifdef __CHAR_UNSIGNED__
87 # undef CHAR_MIN
88 # if __SCHAR_MAX__ == __INT_MAX__
89 # define CHAR_MIN 0U
90 # else
91 # define CHAR_MIN 0
92 # endif
93 # undef CHAR_MAX
94 # define CHAR_MAX UCHAR_MAX
95 #else
96 # undef CHAR_MIN
97 # define CHAR_MIN SCHAR_MIN
98 # undef CHAR_MAX
99 # define CHAR_MAX SCHAR_MAX
100 #endif
101
102 /* Minimum and maximum values a `signed short int' can hold. */
103 #undef SHRT_MIN
104 #define SHRT_MIN (-SHRT_MAX - 1)
105 #undef SHRT_MAX
106 #define SHRT_MAX __SHRT_MAX__
107
108 /* Maximum value an `unsigned short int' can hold. (Minimum is 0). */
109 #undef USHRT_MAX
110 #if __SHRT_MAX__ == __INT_MAX__
111 # define USHRT_MAX (SHRT_MAX * 2U + 1U)
112 #else
113 # define USHRT_MAX (SHRT_MAX * 2 + 1)
114 #endif
115
116 /* Minimum and maximum values a `signed int' can hold. */
117 #undef INT_MIN
118 #define INT_MIN (-INT_MAX - 1)
119 #undef INT_MAX
120 #define INT_MAX __INT_MAX__
121
122 /* Maximum value an `unsigned int' can hold. (Minimum is 0). */
123 #undef UINT_MAX
124 #define UINT_MAX (INT_MAX * 2U + 1U)
125
126 /* Minimum and maximum values a `signed long int' can hold.
127 (Same as `int'). */
128 #undef LONG_MIN
129 #define LONG_MIN (-LONG_MAX - 1L)
130 #undef LONG_MAX
131 #define LONG_MAX __LONG_MAX__
132
133 /* Maximum value an `unsigned long int' can hold. (Minimum is 0). */
134 #undef ULONG_MAX
135 #define ULONG_MAX (LONG_MAX * 2UL + 1UL)
136
137 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
138 /* Minimum and maximum values a `signed long long int' can hold. */
139 # undef LLONG_MIN
140 # define LLONG_MIN (-LLONG_MAX - 1LL)
141 # undef LLONG_MAX
142 # define LLONG_MAX __LONG_LONG_MAX__
143
144 /* Maximum value an `unsigned long long int' can hold. (Minimum is 0). */
145 # undef ULLONG_MAX
146 # define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
147 #endif
148
149 #if defined (__GNU_LIBRARY__) ? defined (__USE_GNU) : !defined (__STRICT_ANSI__)
150 /* Minimum and maximum values a `signed long long int' can hold. */
151 # undef LONG_LONG_MIN
152 # define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL)
153 # undef LONG_LONG_MAX
154 # define LONG_LONG_MAX __LONG_LONG_MAX__
155
156 /* Maximum value an `unsigned long long int' can hold. (Minimum is 0). */
157 # undef ULONG_LONG_MAX
158 # define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL)
159 #endif
160
161 #if (defined __STDC_WANT_IEC_60559_BFP_EXT__ \
162 || (defined (__STDC_VERSION__) && __STDC_VERSION__ > 201710L))
163 /* TS 18661-1 / C2X widths of integer types. */
164 # undef CHAR_WIDTH
165 # define CHAR_WIDTH __SCHAR_WIDTH__
166 # undef SCHAR_WIDTH
167 # define SCHAR_WIDTH __SCHAR_WIDTH__
168 # undef UCHAR_WIDTH
169 # define UCHAR_WIDTH __SCHAR_WIDTH__
170 # undef SHRT_WIDTH
171 # define SHRT_WIDTH __SHRT_WIDTH__
172 # undef USHRT_WIDTH
173 # define USHRT_WIDTH __SHRT_WIDTH__
174 # undef INT_WIDTH
175 # define INT_WIDTH __INT_WIDTH__
176 # undef UINT_WIDTH
177 # define UINT_WIDTH __INT_WIDTH__
178 # undef LONG_WIDTH
179 # define LONG_WIDTH __LONG_WIDTH__
180 # undef ULONG_WIDTH
181 # define ULONG_WIDTH __LONG_WIDTH__
182 # undef LLONG_WIDTH
183 # define LLONG_WIDTH __LONG_LONG_WIDTH__
184 # undef ULLONG_WIDTH
185 # define ULLONG_WIDTH __LONG_LONG_WIDTH__
186 #endif
187
188 #if defined (__STDC_VERSION__) && __STDC_VERSION__ > 201710L
189 /* C2X width and limit of _Bool. */
190 # undef BOOL_MAX
191 # define BOOL_MAX 1
192 # undef BOOL_WIDTH
193 # define BOOL_WIDTH 1
194 #endif
195
196 #endif /* _LIMITS_H___ */
197 /* This administrivia gets added to the end of limits.h
198 if the system has its own version of limits.h. */
199
200 #else /* not _GCC_LIMITS_H_ */
201
202 #ifdef _GCC_NEXT_LIMITS_H
203 #include_next <limits.h> /* recurse down to the real one */
204 #endif
205
206 #endif /* not _GCC_LIMITS_H_ */