Rev 4921 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4921 | Rev 6099 | ||
---|---|---|---|
1 | /* |
1 | /* |
2 | * $Id: _default_types.h,v 1.6 2013/12/03 16:04:41 corinna Exp $ |
2 | * $Id$ |
3 | */ |
3 | */ |
4 | 4 | ||
5 | #ifndef _MACHINE__DEFAULT_TYPES_H |
5 | #ifndef _MACHINE__DEFAULT_TYPES_H |
6 | #define _MACHINE__DEFAULT_TYPES_H |
6 | #define _MACHINE__DEFAULT_TYPES_H |
7 | 7 | ||
8 | #include |
8 | #include |
9 | 9 | ||
10 | /* |
10 | /* |
11 | * Guess on types by examining *_MIN / *_MAX defines. |
11 | * Guess on types by examining *_MIN / *_MAX defines. |
12 | */ |
12 | */ |
13 | #if __GNUC_PREREQ (3, 3) |
13 | #if __GNUC_PREREQ (3, 3) |
14 | /* GCC >= 3.3.0 has __ |
14 | /* GCC >= 3.3.0 has __ |
15 | #define __EXP(x) __##x##__ |
15 | #define __EXP(x) __##x##__ |
16 | #else |
16 | #else |
17 | /* Fall back to POSIX versions from |
17 | /* Fall back to POSIX versions from |
18 | #define __EXP(x) x |
18 | #define __EXP(x) x |
19 | #include |
19 | #include |
20 | #endif |
20 | #endif |
21 | 21 | ||
22 | #ifdef __cplusplus |
22 | #ifdef __cplusplus |
23 | extern "C" { |
23 | extern "C" { |
24 | #endif |
24 | #endif |
25 | 25 | ||
26 | #ifdef __INT8_TYPE__ |
26 | #ifdef __INT8_TYPE__ |
27 | typedef __INT8_TYPE__ __int8_t; |
27 | typedef __INT8_TYPE__ __int8_t; |
- | 28 | #ifdef __UINT8_TYPE__ |
|
28 | typedef __UINT8_TYPE__ __uint8_t; |
29 | typedef __UINT8_TYPE__ __uint8_t; |
- | 30 | #else |
|
- | 31 | typedef unsigned __INT8_TYPE__ __uint8_t; |
|
- | 32 | #endif |
|
29 | #define ___int8_t_defined 1 |
33 | #define ___int8_t_defined 1 |
30 | #elif __EXP(SCHAR_MAX) == 0x7f |
34 | #elif __EXP(SCHAR_MAX) == 0x7f |
31 | typedef signed char __int8_t ; |
35 | typedef signed char __int8_t ; |
32 | typedef unsigned char __uint8_t ; |
36 | typedef unsigned char __uint8_t ; |
33 | #define ___int8_t_defined 1 |
37 | #define ___int8_t_defined 1 |
34 | #endif |
38 | #endif |
35 | 39 | ||
36 | #ifdef __INT16_TYPE__ |
40 | #ifdef __INT16_TYPE__ |
37 | typedef __INT16_TYPE__ __int16_t; |
41 | typedef __INT16_TYPE__ __int16_t; |
- | 42 | #ifdef __UINT16_TYPE__ |
|
38 | typedef __UINT16_TYPE__ __uint16_t; |
43 | typedef __UINT16_TYPE__ __uint16_t; |
- | 44 | #else |
|
- | 45 | typedef unsigned __INT16_TYPE__ __uint16_t; |
|
- | 46 | #endif |
|
39 | #define ___int16_t_defined 1 |
47 | #define ___int16_t_defined 1 |
40 | #elif __EXP(INT_MAX) == 0x7fff |
48 | #elif __EXP(INT_MAX) == 0x7fff |
41 | typedef signed int __int16_t; |
49 | typedef signed int __int16_t; |
42 | typedef unsigned int __uint16_t; |
50 | typedef unsigned int __uint16_t; |
43 | #define ___int16_t_defined 1 |
51 | #define ___int16_t_defined 1 |
44 | #elif __EXP(SHRT_MAX) == 0x7fff |
52 | #elif __EXP(SHRT_MAX) == 0x7fff |
45 | typedef signed short __int16_t; |
53 | typedef signed short __int16_t; |
46 | typedef unsigned short __uint16_t; |
54 | typedef unsigned short __uint16_t; |
47 | #define ___int16_t_defined 1 |
55 | #define ___int16_t_defined 1 |
48 | #elif __EXP(SCHAR_MAX) == 0x7fff |
56 | #elif __EXP(SCHAR_MAX) == 0x7fff |
49 | typedef signed char __int16_t; |
57 | typedef signed char __int16_t; |
50 | typedef unsigned char __uint16_t; |
58 | typedef unsigned char __uint16_t; |
51 | #define ___int16_t_defined 1 |
59 | #define ___int16_t_defined 1 |
52 | #endif |
60 | #endif |
53 | 61 | ||
54 | #ifdef __INT32_TYPE__ |
62 | #ifdef __INT32_TYPE__ |
55 | typedef __INT32_TYPE__ __int32_t; |
63 | typedef __INT32_TYPE__ __int32_t; |
- | 64 | #ifdef __UINT32_TYPE__ |
|
56 | typedef __UINT32_TYPE__ __uint32_t; |
65 | typedef __UINT32_TYPE__ __uint32_t; |
- | 66 | #else |
|
- | 67 | typedef unsigned __INT32_TYPE__ __uint32_t; |
|
- | 68 | #endif |
|
57 | #define ___int32_t_defined 1 |
69 | #define ___int32_t_defined 1 |
58 | #elif __EXP(INT_MAX) == 0x7fffffffL |
70 | #elif __EXP(INT_MAX) == 0x7fffffffL |
59 | typedef signed int __int32_t; |
71 | typedef signed int __int32_t; |
60 | typedef unsigned int __uint32_t; |
72 | typedef unsigned int __uint32_t; |
61 | #define ___int32_t_defined 1 |
73 | #define ___int32_t_defined 1 |
62 | #elif __EXP(LONG_MAX) == 0x7fffffffL |
74 | #elif __EXP(LONG_MAX) == 0x7fffffffL |
63 | typedef signed long __int32_t; |
75 | typedef signed long __int32_t; |
64 | typedef unsigned long __uint32_t; |
76 | typedef unsigned long __uint32_t; |
65 | #define ___int32_t_defined 1 |
77 | #define ___int32_t_defined 1 |
66 | #elif __EXP(SHRT_MAX) == 0x7fffffffL |
78 | #elif __EXP(SHRT_MAX) == 0x7fffffffL |
67 | typedef signed short __int32_t; |
79 | typedef signed short __int32_t; |
68 | typedef unsigned short __uint32_t; |
80 | typedef unsigned short __uint32_t; |
69 | #define ___int32_t_defined 1 |
81 | #define ___int32_t_defined 1 |
70 | #elif __EXP(SCHAR_MAX) == 0x7fffffffL |
82 | #elif __EXP(SCHAR_MAX) == 0x7fffffffL |
71 | typedef signed char __int32_t; |
83 | typedef signed char __int32_t; |
72 | typedef unsigned char __uint32_t; |
84 | typedef unsigned char __uint32_t; |
73 | #define ___int32_t_defined 1 |
85 | #define ___int32_t_defined 1 |
74 | #endif |
86 | #endif |
75 | 87 | ||
76 | #ifdef __INT64_TYPE__ |
88 | #ifdef __INT64_TYPE__ |
77 | typedef __INT64_TYPE__ __int64_t; |
89 | typedef __INT64_TYPE__ __int64_t; |
- | 90 | #ifdef __UINT64_TYPE__ |
|
78 | typedef __UINT64_TYPE__ __uint64_t; |
91 | typedef __UINT64_TYPE__ __uint64_t; |
- | 92 | #else |
|
- | 93 | typedef unsigned __INT64_TYPE__ __uint64_t; |
|
- | 94 | #endif |
|
79 | #define ___int64_t_defined 1 |
95 | #define ___int64_t_defined 1 |
80 | #elif __EXP(LONG_MAX) > 0x7fffffff |
96 | #elif __EXP(LONG_MAX) > 0x7fffffff |
81 | typedef signed long __int64_t; |
97 | typedef signed long __int64_t; |
82 | typedef unsigned long __uint64_t; |
98 | typedef unsigned long __uint64_t; |
83 | #define ___int64_t_defined 1 |
99 | #define ___int64_t_defined 1 |
84 | 100 | ||
85 | /* GCC has __LONG_LONG_MAX__ */ |
101 | /* GCC has __LONG_LONG_MAX__ */ |
86 | #elif defined(__LONG_LONG_MAX__) && (__LONG_LONG_MAX__ > 0x7fffffff) |
102 | #elif defined(__LONG_LONG_MAX__) && (__LONG_LONG_MAX__ > 0x7fffffff) |
87 | typedef signed long long __int64_t; |
103 | typedef signed long long __int64_t; |
88 | typedef unsigned long long __uint64_t; |
104 | typedef unsigned long long __uint64_t; |
89 | #define ___int64_t_defined 1 |
105 | #define ___int64_t_defined 1 |
90 | 106 | ||
91 | /* POSIX mandates LLONG_MAX in |
107 | /* POSIX mandates LLONG_MAX in |
92 | #elif defined(LLONG_MAX) && (LLONG_MAX > 0x7fffffff) |
108 | #elif defined(LLONG_MAX) && (LLONG_MAX > 0x7fffffff) |
93 | typedef signed long long __int64_t; |
109 | typedef signed long long __int64_t; |
94 | typedef unsigned long long __uint64_t; |
110 | typedef unsigned long long __uint64_t; |
95 | #define ___int64_t_defined 1 |
111 | #define ___int64_t_defined 1 |
96 | 112 | ||
97 | #elif __EXP(INT_MAX) > 0x7fffffff |
113 | #elif __EXP(INT_MAX) > 0x7fffffff |
98 | typedef signed int __int64_t; |
114 | typedef signed int __int64_t; |
99 | typedef unsigned int __uint64_t; |
115 | typedef unsigned int __uint64_t; |
100 | #define ___int64_t_defined 1 |
116 | #define ___int64_t_defined 1 |
101 | #endif |
117 | #endif |
102 | 118 | ||
103 | #ifdef __INT_LEAST8_TYPE__ |
119 | #ifdef __INT_LEAST8_TYPE__ |
104 | typedef __INT_LEAST8_TYPE__ __int_least8_t; |
120 | typedef __INT_LEAST8_TYPE__ __int_least8_t; |
- | 121 | #ifdef __UINT_LEAST8_TYPE__ |
|
105 | typedef __UINT_LEAST8_TYPE__ __uint_least8_t; |
122 | typedef __UINT_LEAST8_TYPE__ __uint_least8_t; |
- | 123 | #else |
|
- | 124 | typedef unsigned __INT_LEAST8_TYPE__ __uint_least8_t; |
|
- | 125 | #endif |
|
106 | #define ___int_least8_t_defined 1 |
126 | #define ___int_least8_t_defined 1 |
107 | #elif defined(___int8_t_defined) |
127 | #elif defined(___int8_t_defined) |
108 | typedef __int8_t __int_least8_t; |
128 | typedef __int8_t __int_least8_t; |
109 | typedef __uint8_t __uint_least8_t; |
129 | typedef __uint8_t __uint_least8_t; |
110 | #define ___int_least8_t_defined 1 |
130 | #define ___int_least8_t_defined 1 |
111 | #elif defined(___int16_t_defined) |
131 | #elif defined(___int16_t_defined) |
112 | typedef __int16_t __int_least8_t; |
132 | typedef __int16_t __int_least8_t; |
113 | typedef __uint16_t __uint_least8_t; |
133 | typedef __uint16_t __uint_least8_t; |
114 | #define ___int_least8_t_defined 1 |
134 | #define ___int_least8_t_defined 1 |
115 | #elif defined(___int32_t_defined) |
135 | #elif defined(___int32_t_defined) |
116 | typedef __int32_t __int_least8_t; |
136 | typedef __int32_t __int_least8_t; |
117 | typedef __uint32_t __uint_least8_t; |
137 | typedef __uint32_t __uint_least8_t; |
118 | #define ___int_least8_t_defined 1 |
138 | #define ___int_least8_t_defined 1 |
119 | #elif defined(___int64_t_defined) |
139 | #elif defined(___int64_t_defined) |
120 | typedef __int64_t __int_least8_t; |
140 | typedef __int64_t __int_least8_t; |
121 | typedef __uint64_t __uint_least8_t; |
141 | typedef __uint64_t __uint_least8_t; |
122 | #define ___int_least8_t_defined 1 |
142 | #define ___int_least8_t_defined 1 |
123 | #endif |
143 | #endif |
124 | 144 | ||
125 | #ifdef __INT_LEAST16_TYPE__ |
145 | #ifdef __INT_LEAST16_TYPE__ |
126 | typedef __INT_LEAST16_TYPE__ __int_least16_t; |
146 | typedef __INT_LEAST16_TYPE__ __int_least16_t; |
- | 147 | #ifdef __UINT_LEAST16_TYPE__ |
|
127 | typedef __UINT_LEAST16_TYPE__ __uint_least16_t; |
148 | typedef __UINT_LEAST16_TYPE__ __uint_least16_t; |
- | 149 | #else |
|
- | 150 | typedef unsigned __INT_LEAST16_TYPE__ __uint_least16_t; |
|
- | 151 | #endif |
|
128 | #define ___int_least16_t_defined 1 |
152 | #define ___int_least16_t_defined 1 |
129 | #elif defined(___int16_t_defined) |
153 | #elif defined(___int16_t_defined) |
130 | typedef __int16_t __int_least16_t; |
154 | typedef __int16_t __int_least16_t; |
131 | typedef __uint16_t __uint_least16_t; |
155 | typedef __uint16_t __uint_least16_t; |
132 | #define ___int_least16_t_defined 1 |
156 | #define ___int_least16_t_defined 1 |
133 | #elif defined(___int32_t_defined) |
157 | #elif defined(___int32_t_defined) |
134 | typedef __int32_t __int_least16_t; |
158 | typedef __int32_t __int_least16_t; |
135 | typedef __uint32_t __uint_least16_t; |
159 | typedef __uint32_t __uint_least16_t; |
136 | #define ___int_least16_t_defined 1 |
160 | #define ___int_least16_t_defined 1 |
137 | #elif defined(___int64_t_defined) |
161 | #elif defined(___int64_t_defined) |
138 | typedef __int64_t __int_least16_t; |
162 | typedef __int64_t __int_least16_t; |
139 | typedef __uint64_t __uint_least16_t; |
163 | typedef __uint64_t __uint_least16_t; |
140 | #define ___int_least16_t_defined 1 |
164 | #define ___int_least16_t_defined 1 |
141 | #endif |
165 | #endif |
142 | 166 | ||
143 | #ifdef __INT_LEAST32_TYPE__ |
167 | #ifdef __INT_LEAST32_TYPE__ |
144 | typedef __INT_LEAST32_TYPE__ __int_least32_t; |
168 | typedef __INT_LEAST32_TYPE__ __int_least32_t; |
- | 169 | #ifdef __UINT_LEAST32_TYPE__ |
|
145 | typedef __UINT_LEAST32_TYPE__ __uint_least32_t; |
170 | typedef __UINT_LEAST32_TYPE__ __uint_least32_t; |
- | 171 | #else |
|
- | 172 | typedef unsigned __INT_LEAST32_TYPE__ __uint_least32_t; |
|
- | 173 | #endif |
|
146 | #define ___int_least32_t_defined 1 |
174 | #define ___int_least32_t_defined 1 |
147 | #elif defined(___int32_t_defined) |
175 | #elif defined(___int32_t_defined) |
148 | typedef __int32_t __int_least32_t; |
176 | typedef __int32_t __int_least32_t; |
149 | typedef __uint32_t __uint_least32_t; |
177 | typedef __uint32_t __uint_least32_t; |
150 | #define ___int_least32_t_defined 1 |
178 | #define ___int_least32_t_defined 1 |
151 | #elif defined(___int64_t_defined) |
179 | #elif defined(___int64_t_defined) |
152 | typedef __int64_t __int_least32_t; |
180 | typedef __int64_t __int_least32_t; |
153 | typedef __uint64_t __uint_least32_t; |
181 | typedef __uint64_t __uint_least32_t; |
154 | #define ___int_least32_t_defined 1 |
182 | #define ___int_least32_t_defined 1 |
155 | #endif |
183 | #endif |
156 | 184 | ||
157 | #ifdef __INT_LEAST64_TYPE__ |
185 | #ifdef __INT_LEAST64_TYPE__ |
158 | typedef __INT_LEAST64_TYPE__ __int_least64_t; |
186 | typedef __INT_LEAST64_TYPE__ __int_least64_t; |
- | 187 | #ifdef __UINT_LEAST64_TYPE__ |
|
159 | typedef __UINT_LEAST64_TYPE__ __uint_least64_t; |
188 | typedef __UINT_LEAST64_TYPE__ __uint_least64_t; |
- | 189 | #else |
|
- | 190 | typedef unsigned __INT_LEAST64_TYPE__ __uint_least64_t; |
|
- | 191 | #endif |
|
160 | #define ___int_least64_t_defined 1 |
192 | #define ___int_least64_t_defined 1 |
161 | #elif defined(___int64_t_defined) |
193 | #elif defined(___int64_t_defined) |
162 | typedef __int64_t __int_least64_t; |
194 | typedef __int64_t __int_least64_t; |
163 | typedef __uint64_t __uint_least64_t; |
195 | typedef __uint64_t __uint_least64_t; |
164 | #define ___int_least64_t_defined 1 |
196 | #define ___int_least64_t_defined 1 |
165 | #endif |
197 | #endif |
166 | 198 | ||
167 | #ifdef __INTPTR_TYPE__ |
199 | #ifdef __INTPTR_TYPE__ |
168 | typedef __INTPTR_TYPE__ __intptr_t; |
200 | typedef __INTPTR_TYPE__ __intptr_t; |
- | 201 | #ifdef __UINTPTR_TYPE__ |
|
169 | typedef __UINTPTR_TYPE__ __uintptr_t; |
202 | typedef __UINTPTR_TYPE__ __uintptr_t; |
- | 203 | #else |
|
- | 204 | typedef unsigned __INTPTR_TYPE__ __uintptr_t; |
|
- | 205 | #endif |
|
170 | #elif defined(__PTRDIFF_TYPE__) |
206 | #elif defined(__PTRDIFF_TYPE__) |
171 | typedef __PTRDIFF_TYPE__ __intptr_t; |
207 | typedef __PTRDIFF_TYPE__ __intptr_t; |
172 | typedef unsigned __PTRDIFF_TYPE__ __uintptr_t; |
208 | typedef unsigned __PTRDIFF_TYPE__ __uintptr_t; |
173 | #else |
209 | #else |
174 | typedef long __intptr_t; |
210 | typedef long __intptr_t; |
175 | typedef unsigned long __uintptr_t; |
211 | typedef unsigned long __uintptr_t; |
176 | #endif |
212 | #endif |
177 | 213 | ||
178 | #undef __EXP |
214 | #undef __EXP |
179 | 215 | ||
180 | #ifdef __cplusplus |
216 | #ifdef __cplusplus |
181 | } |
217 | } |
182 | #endif |
218 | #endif |
183 | 219 | ||
184 | #endif /* _MACHINE__DEFAULT_TYPES_H */ |
220 | #endif /* _MACHINE__DEFAULT_TYPES_H */ |