OpenCores
URL https://opencores.org/ocsvn/altor32/altor32/trunk

Subversion Repositories altor32

[/] [altor32/] [trunk/] [gcc-x64/] [or1knd-elf/] [or1knd-elf/] [include/] [inttypes.h] - Blame information for rev 35

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 35 ultra_embe
/*
2
 * Copyright (c) 2004, 2005 by
3
 * Ralf Corsepius, Ulm/Germany. All rights reserved.
4
 *
5
 * Permission to use, copy, modify, and distribute this software
6
 * is freely granted, provided that this notice is preserved.
7
 */
8
 
9
/**
10
 *  @file  inttypes.h
11
 */
12
 
13
#ifndef _INTTYPES_H
14
#define _INTTYPES_H
15
 
16
#include <sys/features.h>
17
#include <stdint.h>
18
#define __need_wchar_t
19
#include <stddef.h>
20
 
21
/* Don't use __STDINT_EXP test since GCC's stdint.h provides different
22
   macros than newlib's stdint.h. */
23
#if __GNUC_PREREQ(3, 2)
24
  #define __INTTYPES_EXP(x) __##x##__
25
#else
26
  #define __INTTYPES_EXP(x) x
27
  #include <limits.h>
28
#endif
29
 
30
#define __STRINGIFY(a) #a
31
 
32
/* 8-bit types */
33
#define __PRI8(x) __STRINGIFY(x)
34
#define __SCN8(x) __STRINGIFY(hh##x)
35
 
36
 
37
#define PRId8           __PRI8(d)
38
#define PRIi8           __PRI8(i)
39
#define PRIo8           __PRI8(o)
40
#define PRIu8           __PRI8(u)
41
#define PRIx8           __PRI8(x)
42
#define PRIX8           __PRI8(X)
43
 
44
#define SCNd8           __SCN8(d)
45
#define SCNi8           __SCN8(i)
46
#define SCNo8           __SCN8(o)
47
#define SCNu8           __SCN8(u)
48
#define SCNx8           __SCN8(x)
49
 
50
 
51
#define PRIdLEAST8      __PRI8(d)
52
#define PRIiLEAST8      __PRI8(i)
53
#define PRIoLEAST8      __PRI8(o)
54
#define PRIuLEAST8      __PRI8(u)
55
#define PRIxLEAST8      __PRI8(x)
56
#define PRIXLEAST8      __PRI8(X)
57
 
58
#define SCNdLEAST8      __SCN8(d)
59
#define SCNiLEAST8      __SCN8(i)
60
#define SCNoLEAST8      __SCN8(o)
61
#define SCNuLEAST8      __SCN8(u)
62
#define SCNxLEAST8      __SCN8(x)
63
 
64
 
65
#define PRIdFAST8       __PRI8(d)
66
#define PRIiFAST8       __PRI8(i)
67
#define PRIoFAST8       __PRI8(o)
68
#define PRIuFAST8       __PRI8(u)
69
#define PRIxFAST8       __PRI8(x)
70
#define PRIXFAST8       __PRI8(X)
71
 
72
#define SCNdFAST8       __SCN8(d)
73
#define SCNiFAST8       __SCN8(i)
74
#define SCNoFAST8       __SCN8(o)
75
#define SCNuFAST8       __SCN8(u)
76
#define SCNxFAST8       __SCN8(x)
77
 
78
/* 16-bit types */
79
#define __PRI16(x) __STRINGIFY(x)
80
#define __SCN16(x) __STRINGIFY(h##x)
81
 
82
 
83
#define PRId16          __PRI16(d)
84
#define PRIi16          __PRI16(i)
85
#define PRIo16          __PRI16(o)
86
#define PRIu16          __PRI16(u)
87
#define PRIx16          __PRI16(x)
88
#define PRIX16          __PRI16(X)
89
 
90
#define SCNd16          __SCN16(d)
91
#define SCNi16          __SCN16(i)
92
#define SCNo16          __SCN16(o)
93
#define SCNu16          __SCN16(u)
94
#define SCNx16          __SCN16(x)
95
 
96
 
97
#define PRIdLEAST16     __PRI16(d)
98
#define PRIiLEAST16     __PRI16(i)
99
#define PRIoLEAST16     __PRI16(o)
100
#define PRIuLEAST16     __PRI16(u)
101
#define PRIxLEAST16     __PRI16(x)
102
#define PRIXLEAST16     __PRI16(X)
103
 
104
#define SCNdLEAST16     __SCN16(d)
105
#define SCNiLEAST16     __SCN16(i)
106
#define SCNoLEAST16     __SCN16(o)
107
#define SCNuLEAST16     __SCN16(u)
108
#define SCNxLEAST16     __SCN16(x)
109
 
110
 
111
#define PRIdFAST16      __PRI16(d)
112
#define PRIiFAST16      __PRI16(i)
113
#define PRIoFAST16      __PRI16(o)
114
#define PRIuFAST16      __PRI16(u)
115
#define PRIxFAST16      __PRI16(x)
116
#define PRIXFAST16      __PRI16(X)
117
 
118
#define SCNdFAST16      __SCN16(d)
119
#define SCNiFAST16      __SCN16(i)
120
#define SCNoFAST16      __SCN16(o)
121
#define SCNuFAST16      __SCN16(u)
122
#define SCNxFAST16      __SCN16(x)
123
 
124
/* 32-bit types */
125
#if __have_long32
126
#define __PRI32(x) __STRINGIFY(l##x)
127
#define __SCN32(x) __STRINGIFY(l##x)
128
#else
129
#define __PRI32(x) __STRINGIFY(x)
130
#define __SCN32(x) __STRINGIFY(x)
131
#endif
132
 
133
#define PRId32          __PRI32(d)
134
#define PRIi32          __PRI32(i)
135
#define PRIo32          __PRI32(o)
136
#define PRIu32          __PRI32(u)
137
#define PRIx32          __PRI32(x)
138
#define PRIX32          __PRI32(X)
139
 
140
#define SCNd32          __SCN32(d)
141
#define SCNi32          __SCN32(i)
142
#define SCNo32          __SCN32(o)
143
#define SCNu32          __SCN32(u)
144
#define SCNx32          __SCN32(x)
145
 
146
 
147
#define PRIdLEAST32     __PRI32(d)
148
#define PRIiLEAST32     __PRI32(i)
149
#define PRIoLEAST32     __PRI32(o)
150
#define PRIuLEAST32     __PRI32(u)
151
#define PRIxLEAST32     __PRI32(x)
152
#define PRIXLEAST32     __PRI32(X)
153
 
154
#define SCNdLEAST32     __SCN32(d)
155
#define SCNiLEAST32     __SCN32(i)
156
#define SCNoLEAST32     __SCN32(o)
157
#define SCNuLEAST32     __SCN32(u)
158
#define SCNxLEAST32     __SCN32(x)
159
 
160
 
161
#define PRIdFAST32      __PRI32(d)
162
#define PRIiFAST32      __PRI32(i)
163
#define PRIoFAST32      __PRI32(o)
164
#define PRIuFAST32      __PRI32(u)
165
#define PRIxFAST32      __PRI32(x)
166
#define PRIXFAST32      __PRI32(X)
167
 
168
#define SCNdFAST32      __SCN32(d)
169
#define SCNiFAST32      __SCN32(i)
170
#define SCNoFAST32      __SCN32(o)
171
#define SCNuFAST32      __SCN32(u)
172
#define SCNxFAST32      __SCN32(x)
173
 
174
 
175
/* 64-bit types */
176
#if __have_long64
177
#define __PRI64(x) __STRINGIFY(l##x)
178
#define __SCN64(x) __STRINGIFY(l##x)
179
#elif __have_longlong64
180
#define __PRI64(x) __STRINGIFY(ll##x)
181
#define __SCN64(x) __STRINGIFY(ll##x)
182
#else
183
#define __PRI64(x) __STRINGIFY(x)
184
#define __SCN64(x) __STRINGIFY(x)
185
#endif
186
 
187
#define PRId64          __PRI64(d)
188
#define PRIi64          __PRI64(i)
189
#define PRIo64          __PRI64(o)
190
#define PRIu64          __PRI64(u)
191
#define PRIx64          __PRI64(x)
192
#define PRIX64          __PRI64(X)
193
 
194
#define SCNd64          __SCN64(d)
195
#define SCNi64          __SCN64(i)
196
#define SCNo64          __SCN64(o)
197
#define SCNu64          __SCN64(u)
198
#define SCNx64          __SCN64(x)
199
 
200
#if __int64_t_defined
201
#define PRIdLEAST64     __PRI64(d)
202
#define PRIiLEAST64     __PRI64(i)
203
#define PRIoLEAST64     __PRI64(o)
204
#define PRIuLEAST64     __PRI64(u)
205
#define PRIxLEAST64     __PRI64(x)
206
#define PRIXLEAST64     __PRI64(X)
207
 
208
#define SCNdLEAST64     __SCN64(d)
209
#define SCNiLEAST64     __SCN64(i)
210
#define SCNoLEAST64     __SCN64(o)
211
#define SCNuLEAST64     __SCN64(u)
212
#define SCNxLEAST64     __SCN64(x)
213
 
214
 
215
#define PRIdFAST64      __PRI64(d)
216
#define PRIiFAST64      __PRI64(i)
217
#define PRIoFAST64      __PRI64(o)
218
#define PRIuFAST64      __PRI64(u)
219
#define PRIxFAST64      __PRI64(x)
220
#define PRIXFAST64      __PRI64(X)
221
 
222
#define SCNdFAST64      __SCN64(d)
223
#define SCNiFAST64      __SCN64(i)
224
#define SCNoFAST64      __SCN64(o)
225
#define SCNuFAST64      __SCN64(u)
226
#define SCNxFAST64      __SCN64(x)
227
#endif
228
 
229
/* max-bit types */
230
#if __have_long64
231
#define __PRIMAX(x) __STRINGIFY(l##x)
232
#define __SCNMAX(x) __STRINGIFY(l##x)
233
#elif __have_longlong64
234
#define __PRIMAX(x) __STRINGIFY(ll##x)
235
#define __SCNMAX(x) __STRINGIFY(ll##x)
236
#else
237
#define __PRIMAX(x) __STRINGIFY(x)
238
#define __SCNMAX(x) __STRINGIFY(x)
239
#endif
240
 
241
#define PRIdMAX         __PRIMAX(d)
242
#define PRIiMAX         __PRIMAX(i)
243
#define PRIoMAX         __PRIMAX(o)
244
#define PRIuMAX         __PRIMAX(u)
245
#define PRIxMAX         __PRIMAX(x)
246
#define PRIXMAX         __PRIMAX(X)
247
 
248
#define SCNdMAX         __SCNMAX(d)
249
#define SCNiMAX         __SCNMAX(i)
250
#define SCNoMAX         __SCNMAX(o)
251
#define SCNuMAX         __SCNMAX(u)
252
#define SCNxMAX         __SCNMAX(x)
253
 
254
/* ptr types */
255
#if PTRDIFF_MAX <= __INTTYPES_EXP(INT_MAX)
256
# define __PRIPTR(x) __STRINGIFY(x)
257
# define __SCNPTR(x) __STRINGIFY(x)
258
#elif PTRDIFF_MAX <= __INTTYPES_EXP(LONG_MAX) || !defined(__have_longlong64)
259
# define __PRIPTR(x) __STRINGIFY(l##x)
260
# define __SCNPTR(x) __STRINGIFY(l##x)
261
#else
262
# define __PRIPTR(x) __STRINGIFY(ll##x)
263
# define __SCNPTR(x) __STRINGIFY(ll##x)
264
#endif
265
 
266
#define PRIdPTR         __PRIPTR(d)
267
#define PRIiPTR         __PRIPTR(i)
268
#define PRIoPTR         __PRIPTR(o)
269
#define PRIuPTR         __PRIPTR(u)
270
#define PRIxPTR         __PRIPTR(x)
271
#define PRIXPTR         __PRIPTR(X)
272
 
273
#define SCNdPTR         __SCNPTR(d)
274
#define SCNiPTR         __SCNPTR(i)
275
#define SCNoPTR         __SCNPTR(o)
276
#define SCNuPTR         __SCNPTR(u)
277
#define SCNxPTR         __SCNPTR(x)
278
 
279
 
280
typedef struct {
281
  intmax_t      quot;
282
  intmax_t      rem;
283
} imaxdiv_t;
284
 
285
#ifdef __cplusplus
286
extern "C" {
287
#endif
288
 
289
extern intmax_t  imaxabs(intmax_t j);
290
extern imaxdiv_t imaxdiv(intmax_t numer, intmax_t denomer);
291
extern intmax_t  strtoimax(const char *__restrict, char **__restrict, int);
292
extern uintmax_t strtoumax(const char *__restrict, char **__restrict, int);
293
extern intmax_t  wcstoimax(const wchar_t *__restrict, wchar_t **__restrict, int);
294
extern uintmax_t wcstoumax(const wchar_t *__restrict, wchar_t **__restrict, int);
295
 
296
#ifdef __cplusplus
297
}
298
#endif
299
 
300
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.