• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-armeabi-2011.09/lib/gcc/arm-none-eabi/4.6.1/include/
1/* Copyright (C) 2008, 2009 Free Software Foundation, Inc.
2
3This file is part of GCC.
4
5GCC is free software; you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation; either version 3, or (at your option)
8any later version.
9
10GCC is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13GNU General Public License for more details.
14
15Under Section 7 of GPL version 3, you are granted additional
16permissions described in the GCC Runtime Library Exception, version
173.1, as published by the Free Software Foundation.
18
19You should have received a copy of the GNU General Public License and
20a copy of the GCC Runtime Library Exception along with this program;
21see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
22<http://www.gnu.org/licenses/>.  */
23
24/*
25 * ISO C Standard:  7.18  Integer types  <stdint.h>
26 */
27
28#ifndef _GCC_STDINT_H
29#define _GCC_STDINT_H
30
31/* 7.8.1.1 Exact-width integer types */
32
33#ifdef __INT8_TYPE__
34typedef __INT8_TYPE__ int8_t;
35#endif
36#ifdef __INT16_TYPE__
37typedef __INT16_TYPE__ int16_t;
38#endif
39#ifdef __INT32_TYPE__
40typedef __INT32_TYPE__ int32_t;
41#endif
42#ifdef __INT64_TYPE__
43typedef __INT64_TYPE__ int64_t;
44#endif
45#ifdef __UINT8_TYPE__
46typedef __UINT8_TYPE__ uint8_t;
47#endif
48#ifdef __UINT16_TYPE__
49typedef __UINT16_TYPE__ uint16_t;
50#endif
51#ifdef __UINT32_TYPE__
52typedef __UINT32_TYPE__ uint32_t;
53#endif
54#ifdef __UINT64_TYPE__
55typedef __UINT64_TYPE__ uint64_t;
56#endif
57
58/* 7.8.1.2 Minimum-width integer types */
59
60typedef __INT_LEAST8_TYPE__ int_least8_t;
61typedef __INT_LEAST16_TYPE__ int_least16_t;
62typedef __INT_LEAST32_TYPE__ int_least32_t;
63typedef __INT_LEAST64_TYPE__ int_least64_t;
64typedef __UINT_LEAST8_TYPE__ uint_least8_t;
65typedef __UINT_LEAST16_TYPE__ uint_least16_t;
66typedef __UINT_LEAST32_TYPE__ uint_least32_t;
67typedef __UINT_LEAST64_TYPE__ uint_least64_t;
68
69/* 7.8.1.3 Fastest minimum-width integer types */
70
71typedef __INT_FAST8_TYPE__ int_fast8_t;
72typedef __INT_FAST16_TYPE__ int_fast16_t;
73typedef __INT_FAST32_TYPE__ int_fast32_t;
74typedef __INT_FAST64_TYPE__ int_fast64_t;
75typedef __UINT_FAST8_TYPE__ uint_fast8_t;
76typedef __UINT_FAST16_TYPE__ uint_fast16_t;
77typedef __UINT_FAST32_TYPE__ uint_fast32_t;
78typedef __UINT_FAST64_TYPE__ uint_fast64_t;
79
80/* 7.8.1.4 Integer types capable of holding object pointers */
81
82#ifdef __INTPTR_TYPE__
83typedef __INTPTR_TYPE__ intptr_t;
84#endif
85#ifdef __UINTPTR_TYPE__
86typedef __UINTPTR_TYPE__ uintptr_t;
87#endif
88
89/* 7.8.1.5 Greatest-width integer types */
90
91typedef __INTMAX_TYPE__ intmax_t;
92typedef __UINTMAX_TYPE__ uintmax_t;
93
94#if !defined __cplusplus || defined __STDC_LIMIT_MACROS
95
96/* 7.18.2 Limits of specified-width integer types */
97
98#ifdef __INT8_MAX__
99# undef INT8_MAX
100# define INT8_MAX __INT8_MAX__
101# undef INT8_MIN
102# define INT8_MIN (-INT8_MAX - 1)
103#endif
104#ifdef __UINT8_MAX__
105# undef UINT8_MAX
106# define UINT8_MAX __UINT8_MAX__
107#endif
108#ifdef __INT16_MAX__
109# undef INT16_MAX
110# define INT16_MAX __INT16_MAX__
111# undef INT16_MIN
112# define INT16_MIN (-INT16_MAX - 1)
113#endif
114#ifdef __UINT16_MAX__
115# undef UINT16_MAX
116# define UINT16_MAX __UINT16_MAX__
117#endif
118#ifdef __INT32_MAX__
119# undef INT32_MAX
120# define INT32_MAX __INT32_MAX__
121# undef INT32_MIN
122# define INT32_MIN (-INT32_MAX - 1)
123#endif
124#ifdef __UINT32_MAX__
125# undef UINT32_MAX
126# define UINT32_MAX __UINT32_MAX__
127#endif
128#ifdef __INT64_MAX__
129# undef INT64_MAX
130# define INT64_MAX __INT64_MAX__
131# undef INT64_MIN
132# define INT64_MIN (-INT64_MAX - 1)
133#endif
134#ifdef __UINT64_MAX__
135# undef UINT64_MAX
136# define UINT64_MAX __UINT64_MAX__
137#endif
138
139#undef INT_LEAST8_MAX
140#define INT_LEAST8_MAX __INT_LEAST8_MAX__
141#undef INT_LEAST8_MIN
142#define INT_LEAST8_MIN (-INT_LEAST8_MAX - 1)
143#undef UINT_LEAST8_MAX
144#define UINT_LEAST8_MAX __UINT_LEAST8_MAX__
145#undef INT_LEAST16_MAX
146#define INT_LEAST16_MAX __INT_LEAST16_MAX__
147#undef INT_LEAST16_MIN
148#define INT_LEAST16_MIN (-INT_LEAST16_MAX - 1)
149#undef UINT_LEAST16_MAX
150#define UINT_LEAST16_MAX __UINT_LEAST16_MAX__
151#undef INT_LEAST32_MAX
152#define INT_LEAST32_MAX __INT_LEAST32_MAX__
153#undef INT_LEAST32_MIN
154#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)
155#undef UINT_LEAST32_MAX
156#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__
157#undef INT_LEAST64_MAX
158#define INT_LEAST64_MAX __INT_LEAST64_MAX__
159#undef INT_LEAST64_MIN
160#define INT_LEAST64_MIN (-INT_LEAST64_MAX - 1)
161#undef UINT_LEAST64_MAX
162#define UINT_LEAST64_MAX __UINT_LEAST64_MAX__
163
164#undef INT_FAST8_MAX
165#define INT_FAST8_MAX __INT_FAST8_MAX__
166#undef INT_FAST8_MIN
167#define INT_FAST8_MIN (-INT_FAST8_MAX - 1)
168#undef UINT_FAST8_MAX
169#define UINT_FAST8_MAX __UINT_FAST8_MAX__
170#undef INT_FAST16_MAX
171#define INT_FAST16_MAX __INT_FAST16_MAX__
172#undef INT_FAST16_MIN
173#define INT_FAST16_MIN (-INT_FAST16_MAX - 1)
174#undef UINT_FAST16_MAX
175#define UINT_FAST16_MAX __UINT_FAST16_MAX__
176#undef INT_FAST32_MAX
177#define INT_FAST32_MAX __INT_FAST32_MAX__
178#undef INT_FAST32_MIN
179#define INT_FAST32_MIN (-INT_FAST32_MAX - 1)
180#undef UINT_FAST32_MAX
181#define UINT_FAST32_MAX __UINT_FAST32_MAX__
182#undef INT_FAST64_MAX
183#define INT_FAST64_MAX __INT_FAST64_MAX__
184#undef INT_FAST64_MIN
185#define INT_FAST64_MIN (-INT_FAST64_MAX - 1)
186#undef UINT_FAST64_MAX
187#define UINT_FAST64_MAX __UINT_FAST64_MAX__
188
189#ifdef __INTPTR_MAX__
190# undef INTPTR_MAX
191# define INTPTR_MAX __INTPTR_MAX__
192# undef INTPTR_MIN
193# define INTPTR_MIN (-INTPTR_MAX - 1)
194#endif
195#ifdef __UINTPTR_MAX__
196# undef UINTPTR_MAX
197# define UINTPTR_MAX __UINTPTR_MAX__
198#endif
199
200#undef INTMAX_MAX
201#define INTMAX_MAX __INTMAX_MAX__
202#undef INTMAX_MIN
203#define INTMAX_MIN (-INTMAX_MAX - 1)
204#undef UINTMAX_MAX
205#define UINTMAX_MAX __UINTMAX_MAX__
206
207/* 7.18.3 Limits of other integer types */
208
209#undef PTRDIFF_MAX
210#define PTRDIFF_MAX __PTRDIFF_MAX__
211#undef PTRDIFF_MIN
212#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)
213
214#undef SIG_ATOMIC_MAX
215#define SIG_ATOMIC_MAX __SIG_ATOMIC_MAX__
216#undef SIG_ATOMIC_MIN
217#define SIG_ATOMIC_MIN __SIG_ATOMIC_MIN__
218
219#undef SIZE_MAX
220#define SIZE_MAX __SIZE_MAX__
221
222#undef WCHAR_MAX
223#define WCHAR_MAX __WCHAR_MAX__
224#undef WCHAR_MIN
225#define WCHAR_MIN __WCHAR_MIN__
226
227#undef WINT_MAX
228#define WINT_MAX __WINT_MAX__
229#undef WINT_MIN
230#define WINT_MIN __WINT_MIN__
231
232#endif /* !defined __cplusplus || defined __STDC_LIMIT_MACROS */
233
234#if !defined __cplusplus || defined __STDC_CONSTANT_MACROS
235
236#undef INT8_C
237#define INT8_C(c) __INT8_C(c)
238#undef INT16_C
239#define INT16_C(c) __INT16_C(c)
240#undef INT32_C
241#define INT32_C(c) __INT32_C(c)
242#undef INT64_C
243#define INT64_C(c) __INT64_C(c)
244#undef UINT8_C
245#define UINT8_C(c) __UINT8_C(c)
246#undef UINT16_C
247#define UINT16_C(c) __UINT16_C(c)
248#undef UINT32_C
249#define UINT32_C(c) __UINT32_C(c)
250#undef UINT64_C
251#define UINT64_C(c) __UINT64_C(c)
252#undef INTMAX_C
253#define INTMAX_C(c) __INTMAX_C(c)
254#undef UINTMAX_C
255#define UINTMAX_C(c) __UINTMAX_C(c)
256
257#endif /* !defined __cplusplus || defined __STDC_CONSTANT_MACROS */
258
259#endif /* _GCC_STDINT_H */
260