Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(461)

Side by Side Diff: bison/src/bison/2.4.1/bison-2.4.1-src/lib/stdint.in.h

Issue 10807020: Add native Windows binary for bison. (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 /* -*- buffer-read-only: t -*- vi: set ro: */
2 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
3 /* Copyright (C) 2001-2002, 2004-2008 Free Software Foundation, Inc.
4 Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
5 This file is part of gnulib.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3, or (at your option)
10 any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software Foundation,
19 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
20
21 /*
22 * ISO C 99 <stdint.h> for platforms that lack it.
23 * <http://www.opengroup.org/susv3xbd/stdint.h.html>
24 */
25
26 #ifndef _GL_STDINT_H
27
28 /* When including a system file that in turn includes <inttypes.h>,
29 use the system <inttypes.h>, not our substitute. This avoids
30 problems with (for example) VMS, whose <sys/bitypes.h> includes
31 <inttypes.h>. */
32 #define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
33
34 /* Get those types that are already defined in other system include
35 files, so that we can "#define int8_t signed char" below without
36 worrying about a later system include file containing a "typedef
37 signed char int8_t;" that will get messed up by our macro. Our
38 macros should all be consistent with the system versions, except
39 for the "fast" types and macros, which we recommend against using
40 in public interfaces due to compiler differences. */
41
42 #if @HAVE_STDINT_H@
43 # if defined __sgi && ! defined __c99
44 /* Bypass IRIX's <stdint.h> if in C89 mode, since it merely annoys users
45 with "This header file is to be used only for c99 mode compilations"
46 diagnostics. */
47 # define __STDINT_H__
48 # endif
49 /* Other systems may have an incomplete or buggy <stdint.h>.
50 Include it before <inttypes.h>, since any "#include <stdint.h>"
51 in <inttypes.h> would reinclude us, skipping our contents because
52 _GL_STDINT_H is defined.
53 The include_next requires a split double-inclusion guard. */
54 # if __GNUC__ >= 3
55 @PRAGMA_SYSTEM_HEADER@
56 # endif
57 # @INCLUDE_NEXT@ @NEXT_STDINT_H@
58 #endif
59
60 #if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
61 #define _GL_STDINT_H
62
63 /* <sys/types.h> defines some of the stdint.h types as well, on glibc,
64 IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
65 AIX 5.2 <sys/types.h> isn't needed and causes troubles.
66 MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
67 relies on the system <stdint.h> definitions, so include
68 <sys/types.h> after @NEXT_STDINT_H@. */
69 #if @HAVE_SYS_TYPES_H@ && ! defined _AIX
70 # include <sys/types.h>
71 #endif
72
73 /* Get LONG_MIN, LONG_MAX, ULONG_MAX. */
74 #include <limits.h>
75
76 #if @HAVE_INTTYPES_H@
77 /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines
78 int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
79 <inttypes.h> also defines intptr_t and uintptr_t. */
80 # include <inttypes.h>
81 #elif @HAVE_SYS_INTTYPES_H@
82 /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
83 the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */
84 # include <sys/inttypes.h>
85 #endif
86
87 #if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
88 /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines
89 int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is
90 included by <sys/types.h>. */
91 # include <sys/bitypes.h>
92 #endif
93
94 #if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS
95
96 /* Get WCHAR_MIN, WCHAR_MAX. */
97 # if ! (defined WCHAR_MIN && defined WCHAR_MAX)
98 # include <wchar.h>
99 # endif
100
101 #endif
102
103 #undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
104
105 /* Minimum and maximum values for a integer type under the usual assumption.
106 Return an unspecified value if BITS == 0, adding a check to pacify
107 picky compilers. */
108
109 #define _STDINT_MIN(signed, bits, zero) \
110 ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero))
111
112 #define _STDINT_MAX(signed, bits, zero) \
113 ((signed) \
114 ? ~ _STDINT_MIN (signed, bits, zero) \
115 : /* The expression for the unsigned case. The subtraction of (signed) \
116 is a nop in the unsigned case and avoids "signed integer overflow" \
117 warnings in the signed case. */ \
118 ((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
119
120 /* 7.18.1.1. Exact-width integer types */
121
122 /* Here we assume a standard architecture where the hardware integer
123 types have 8, 16, 32, optionally 64 bits. */
124
125 #undef int8_t
126 #undef uint8_t
127 typedef signed char gl_int8_t;
128 typedef unsigned char gl_uint8_t;
129 #define int8_t gl_int8_t
130 #define uint8_t gl_uint8_t
131
132 #undef int16_t
133 #undef uint16_t
134 typedef short int gl_int16_t;
135 typedef unsigned short int gl_uint16_t;
136 #define int16_t gl_int16_t
137 #define uint16_t gl_uint16_t
138
139 #undef int32_t
140 #undef uint32_t
141 typedef int gl_int32_t;
142 typedef unsigned int gl_uint32_t;
143 #define int32_t gl_int32_t
144 #define uint32_t gl_uint32_t
145
146 /* Do not undefine int64_t if gnulib is not being used with 64-bit
147 types, since otherwise it breaks platforms like Tandem/NSK. */
148 #if LONG_MAX >> 31 >> 31 == 1
149 # undef int64_t
150 typedef long int gl_int64_t;
151 # define int64_t gl_int64_t
152 # define GL_INT64_T
153 #elif defined _MSC_VER
154 # undef int64_t
155 typedef __int64 gl_int64_t;
156 # define int64_t gl_int64_t
157 # define GL_INT64_T
158 #elif @HAVE_LONG_LONG_INT@
159 # undef int64_t
160 typedef long long int gl_int64_t;
161 # define int64_t gl_int64_t
162 # define GL_INT64_T
163 #endif
164
165 #if ULONG_MAX >> 31 >> 31 >> 1 == 1
166 # undef uint64_t
167 typedef unsigned long int gl_uint64_t;
168 # define uint64_t gl_uint64_t
169 # define GL_UINT64_T
170 #elif defined _MSC_VER
171 # undef uint64_t
172 typedef unsigned __int64 gl_uint64_t;
173 # define uint64_t gl_uint64_t
174 # define GL_UINT64_T
175 #elif @HAVE_UNSIGNED_LONG_LONG_INT@
176 # undef uint64_t
177 typedef unsigned long long int gl_uint64_t;
178 # define uint64_t gl_uint64_t
179 # define GL_UINT64_T
180 #endif
181
182 /* Avoid collision with Solaris 2.5.1 <pthread.h> etc. */
183 #define _UINT8_T
184 #define _UINT32_T
185 #define _UINT64_T
186
187
188 /* 7.18.1.2. Minimum-width integer types */
189
190 /* Here we assume a standard architecture where the hardware integer
191 types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
192 are the same as the corresponding N_t types. */
193
194 #undef int_least8_t
195 #undef uint_least8_t
196 #undef int_least16_t
197 #undef uint_least16_t
198 #undef int_least32_t
199 #undef uint_least32_t
200 #undef int_least64_t
201 #undef uint_least64_t
202 #define int_least8_t int8_t
203 #define uint_least8_t uint8_t
204 #define int_least16_t int16_t
205 #define uint_least16_t uint16_t
206 #define int_least32_t int32_t
207 #define uint_least32_t uint32_t
208 #ifdef GL_INT64_T
209 # define int_least64_t int64_t
210 #endif
211 #ifdef GL_UINT64_T
212 # define uint_least64_t uint64_t
213 #endif
214
215 /* 7.18.1.3. Fastest minimum-width integer types */
216
217 /* Note: Other <stdint.h> substitutes may define these types differently.
218 It is not recommended to use these types in public header files. */
219
220 /* Here we assume a standard architecture where the hardware integer
221 types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
222 are taken from the same list of types. Assume that 'long int'
223 is fast enough for all narrower integers. */
224
225 #undef int_fast8_t
226 #undef uint_fast8_t
227 #undef int_fast16_t
228 #undef uint_fast16_t
229 #undef int_fast32_t
230 #undef uint_fast32_t
231 #undef int_fast64_t
232 #undef uint_fast64_t
233 typedef long int gl_int_fast8_t;
234 typedef unsigned long int gl_uint_fast8_t;
235 typedef long int gl_int_fast16_t;
236 typedef unsigned long int gl_uint_fast16_t;
237 typedef long int gl_int_fast32_t;
238 typedef unsigned long int gl_uint_fast32_t;
239 #define int_fast8_t gl_int_fast8_t
240 #define uint_fast8_t gl_uint_fast8_t
241 #define int_fast16_t gl_int_fast16_t
242 #define uint_fast16_t gl_uint_fast16_t
243 #define int_fast32_t gl_int_fast32_t
244 #define uint_fast32_t gl_uint_fast32_t
245 #ifdef GL_INT64_T
246 # define int_fast64_t int64_t
247 #endif
248 #ifdef GL_UINT64_T
249 # define uint_fast64_t uint64_t
250 #endif
251
252 /* 7.18.1.4. Integer types capable of holding object pointers */
253
254 #undef intptr_t
255 #undef uintptr_t
256 typedef long int gl_intptr_t;
257 typedef unsigned long int gl_uintptr_t;
258 #define intptr_t gl_intptr_t
259 #define uintptr_t gl_uintptr_t
260
261 /* 7.18.1.5. Greatest-width integer types */
262
263 /* Note: These types are compiler dependent. It may be unwise to use them in
264 public header files. */
265
266 #undef intmax_t
267 #if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
268 typedef long long int gl_intmax_t;
269 # define intmax_t gl_intmax_t
270 #elif defined GL_INT64_T
271 # define intmax_t int64_t
272 #else
273 typedef long int gl_intmax_t;
274 # define intmax_t gl_intmax_t
275 #endif
276
277 #undef uintmax_t
278 #if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
279 typedef unsigned long long int gl_uintmax_t;
280 # define uintmax_t gl_uintmax_t
281 #elif defined GL_UINT64_T
282 # define uintmax_t uint64_t
283 #else
284 typedef unsigned long int gl_uintmax_t;
285 # define uintmax_t gl_uintmax_t
286 #endif
287
288 /* Verify that intmax_t and uintmax_t have the same size. Too much code
289 breaks if this is not the case. If this check fails, the reason is likely
290 to be found in the autoconf macros. */
291 typedef int _verify_intmax_size[2 * (sizeof (intmax_t) == sizeof (uintmax_t)) - 1];
292
293 /* 7.18.2. Limits of specified-width integer types */
294
295 #if ! defined __cplusplus || defined __STDC_LIMIT_MACROS
296
297 /* 7.18.2.1. Limits of exact-width integer types */
298
299 /* Here we assume a standard architecture where the hardware integer
300 types have 8, 16, 32, optionally 64 bits. */
301
302 #undef INT8_MIN
303 #undef INT8_MAX
304 #undef UINT8_MAX
305 #define INT8_MIN (~ INT8_MAX)
306 #define INT8_MAX 127
307 #define UINT8_MAX 255
308
309 #undef INT16_MIN
310 #undef INT16_MAX
311 #undef UINT16_MAX
312 #define INT16_MIN (~ INT16_MAX)
313 #define INT16_MAX 32767
314 #define UINT16_MAX 65535
315
316 #undef INT32_MIN
317 #undef INT32_MAX
318 #undef UINT32_MAX
319 #define INT32_MIN (~ INT32_MAX)
320 #define INT32_MAX 2147483647
321 #define UINT32_MAX 4294967295U
322
323 #undef INT64_MIN
324 #undef INT64_MAX
325 #ifdef GL_INT64_T
326 /* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0
327 evaluates the latter incorrectly in preprocessor expressions. */
328 # define INT64_MIN (- INTMAX_C (1) << 63)
329 # define INT64_MAX INTMAX_C (9223372036854775807)
330 #endif
331
332 #undef UINT64_MAX
333 #ifdef GL_UINT64_T
334 # define UINT64_MAX UINTMAX_C (18446744073709551615)
335 #endif
336
337 /* 7.18.2.2. Limits of minimum-width integer types */
338
339 /* Here we assume a standard architecture where the hardware integer
340 types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
341 are the same as the corresponding N_t types. */
342
343 #undef INT_LEAST8_MIN
344 #undef INT_LEAST8_MAX
345 #undef UINT_LEAST8_MAX
346 #define INT_LEAST8_MIN INT8_MIN
347 #define INT_LEAST8_MAX INT8_MAX
348 #define UINT_LEAST8_MAX UINT8_MAX
349
350 #undef INT_LEAST16_MIN
351 #undef INT_LEAST16_MAX
352 #undef UINT_LEAST16_MAX
353 #define INT_LEAST16_MIN INT16_MIN
354 #define INT_LEAST16_MAX INT16_MAX
355 #define UINT_LEAST16_MAX UINT16_MAX
356
357 #undef INT_LEAST32_MIN
358 #undef INT_LEAST32_MAX
359 #undef UINT_LEAST32_MAX
360 #define INT_LEAST32_MIN INT32_MIN
361 #define INT_LEAST32_MAX INT32_MAX
362 #define UINT_LEAST32_MAX UINT32_MAX
363
364 #undef INT_LEAST64_MIN
365 #undef INT_LEAST64_MAX
366 #ifdef GL_INT64_T
367 # define INT_LEAST64_MIN INT64_MIN
368 # define INT_LEAST64_MAX INT64_MAX
369 #endif
370
371 #undef UINT_LEAST64_MAX
372 #ifdef GL_UINT64_T
373 # define UINT_LEAST64_MAX UINT64_MAX
374 #endif
375
376 /* 7.18.2.3. Limits of fastest minimum-width integer types */
377
378 /* Here we assume a standard architecture where the hardware integer
379 types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
380 are taken from the same list of types. */
381
382 #undef INT_FAST8_MIN
383 #undef INT_FAST8_MAX
384 #undef UINT_FAST8_MAX
385 #define INT_FAST8_MIN LONG_MIN
386 #define INT_FAST8_MAX LONG_MAX
387 #define UINT_FAST8_MAX ULONG_MAX
388
389 #undef INT_FAST16_MIN
390 #undef INT_FAST16_MAX
391 #undef UINT_FAST16_MAX
392 #define INT_FAST16_MIN LONG_MIN
393 #define INT_FAST16_MAX LONG_MAX
394 #define UINT_FAST16_MAX ULONG_MAX
395
396 #undef INT_FAST32_MIN
397 #undef INT_FAST32_MAX
398 #undef UINT_FAST32_MAX
399 #define INT_FAST32_MIN LONG_MIN
400 #define INT_FAST32_MAX LONG_MAX
401 #define UINT_FAST32_MAX ULONG_MAX
402
403 #undef INT_FAST64_MIN
404 #undef INT_FAST64_MAX
405 #ifdef GL_INT64_T
406 # define INT_FAST64_MIN INT64_MIN
407 # define INT_FAST64_MAX INT64_MAX
408 #endif
409
410 #undef UINT_FAST64_MAX
411 #ifdef GL_UINT64_T
412 # define UINT_FAST64_MAX UINT64_MAX
413 #endif
414
415 /* 7.18.2.4. Limits of integer types capable of holding object pointers */
416
417 #undef INTPTR_MIN
418 #undef INTPTR_MAX
419 #undef UINTPTR_MAX
420 #define INTPTR_MIN LONG_MIN
421 #define INTPTR_MAX LONG_MAX
422 #define UINTPTR_MAX ULONG_MAX
423
424 /* 7.18.2.5. Limits of greatest-width integer types */
425
426 #undef INTMAX_MIN
427 #undef INTMAX_MAX
428 #ifdef INT64_MAX
429 # define INTMAX_MIN INT64_MIN
430 # define INTMAX_MAX INT64_MAX
431 #else
432 # define INTMAX_MIN INT32_MIN
433 # define INTMAX_MAX INT32_MAX
434 #endif
435
436 #undef UINTMAX_MAX
437 #ifdef UINT64_MAX
438 # define UINTMAX_MAX UINT64_MAX
439 #else
440 # define UINTMAX_MAX UINT32_MAX
441 #endif
442
443 /* 7.18.3. Limits of other integer types */
444
445 /* ptrdiff_t limits */
446 #undef PTRDIFF_MIN
447 #undef PTRDIFF_MAX
448 #define PTRDIFF_MIN \
449 _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
450 #define PTRDIFF_MAX \
451 _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
452
453 /* sig_atomic_t limits */
454 #undef SIG_ATOMIC_MIN
455 #undef SIG_ATOMIC_MAX
456 #define SIG_ATOMIC_MIN \
457 _STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
458 0@SIG_ATOMIC_T_SUFFIX@)
459 #define SIG_ATOMIC_MAX \
460 _STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
461 0@SIG_ATOMIC_T_SUFFIX@)
462
463
464 /* size_t limit */
465 #undef SIZE_MAX
466 #define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
467
468 /* wchar_t limits */
469 #undef WCHAR_MIN
470 #undef WCHAR_MAX
471 #define WCHAR_MIN \
472 _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
473 #define WCHAR_MAX \
474 _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
475
476 /* wint_t limits */
477 #undef WINT_MIN
478 #undef WINT_MAX
479 #define WINT_MIN \
480 _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
481 #define WINT_MAX \
482 _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
483
484 #endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */
485
486 /* 7.18.4. Macros for integer constants */
487
488 #if ! defined __cplusplus || defined __STDC_CONSTANT_MACROS
489
490 /* 7.18.4.1. Macros for minimum-width integer constants */
491 /* According to ISO C 99 Technical Corrigendum 1 */
492
493 /* Here we assume a standard architecture where the hardware integer
494 types have 8, 16, 32, optionally 64 bits, and int is 32 bits. */
495
496 #undef INT8_C
497 #undef UINT8_C
498 #define INT8_C(x) x
499 #define UINT8_C(x) x
500
501 #undef INT16_C
502 #undef UINT16_C
503 #define INT16_C(x) x
504 #define UINT16_C(x) x
505
506 #undef INT32_C
507 #undef UINT32_C
508 #define INT32_C(x) x
509 #define UINT32_C(x) x ## U
510
511 #undef INT64_C
512 #undef UINT64_C
513 #if LONG_MAX >> 31 >> 31 == 1
514 # define INT64_C(x) x##L
515 #elif defined _MSC_VER
516 # define INT64_C(x) x##i64
517 #elif @HAVE_LONG_LONG_INT@
518 # define INT64_C(x) x##LL
519 #endif
520 #if ULONG_MAX >> 31 >> 31 >> 1 == 1
521 # define UINT64_C(x) x##UL
522 #elif defined _MSC_VER
523 # define UINT64_C(x) x##ui64
524 #elif @HAVE_UNSIGNED_LONG_LONG_INT@
525 # define UINT64_C(x) x##ULL
526 #endif
527
528 /* 7.18.4.2. Macros for greatest-width integer constants */
529
530 #undef INTMAX_C
531 #if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
532 # define INTMAX_C(x) x##LL
533 #elif defined GL_INT64_T
534 # define INTMAX_C(x) INT64_C(x)
535 #else
536 # define INTMAX_C(x) x##L
537 #endif
538
539 #undef UINTMAX_C
540 #if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
541 # define UINTMAX_C(x) x##ULL
542 #elif defined GL_UINT64_T
543 # define UINTMAX_C(x) UINT64_C(x)
544 #else
545 # define UINTMAX_C(x) x##UL
546 #endif
547
548 #endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */
549
550 #endif /* _GL_STDINT_H */
551 #endif /* !defined _GL_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */
OLDNEW
« no previous file with comments | « bison/src/bison/2.4.1/bison-2.4.1-src/lib/stdbool.in.h ('k') | bison/src/bison/2.4.1/bison-2.4.1-src/lib/stdio--.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698