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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.17.0/] [newlib/] [libc/] [include/] [machine/] [_default_types.h] - Blame information for rev 158

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 148 jeremybenn
/*
2
 *  $Id: _default_types.h 148 2010-06-30 19:21:22Z jeremybennett $
3
 */
4
 
5
#ifndef _MACHINE__DEFAULT_TYPES_H
6
#define _MACHINE__DEFAULT_TYPES_H
7
 
8
#ifdef __cplusplus
9
extern "C" {
10
#endif
11
 
12
/*
13
 * Guess on types by examining *_MIN / *_MAX defines.
14
 */
15
#if defined(__GNUC__) && ((__GNUC__ >= 4) || (__GNUC__ >= 3 ) \
16
  && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ > 2 ))
17
/* GCC >= 3.3.0 has __<val>__ implicitly defined. */
18
#define __EXP(x) __##x##__
19
#else
20
/* Fall back to POSIX versions from <limits.h> */
21
#define __EXP(x) x
22
#include <limits.h>
23
#endif
24
 
25
#if __EXP(SCHAR_MAX) == 0x7f
26
typedef signed char __int8_t ;
27
typedef unsigned char __uint8_t ;
28
#define ___int8_t_defined 1
29
#endif
30
 
31
#if __EXP(INT_MAX) == 0x7fff
32
typedef signed int __int16_t;
33
typedef unsigned int __uint16_t;
34
#define ___int16_t_defined 1
35
#elif __EXP(SHRT_MAX) == 0x7fff
36
typedef signed short __int16_t;
37
typedef unsigned short __uint16_t;
38
#define ___int16_t_defined 1
39
#elif __EXP(SCHAR_MAX) == 0x7fff
40
typedef signed char __int16_t;
41
typedef unsigned char __uint16_t;
42
#define ___int16_t_defined 1
43
#endif
44
 
45
#if ___int16_t_defined
46
typedef __int16_t __int_least16_t;
47
typedef __uint16_t __uint_least16_t;
48
#define ___int_least16_t_defined 1
49
 
50
#if !___int8_t_defined
51
typedef __int16_t __int_least8_t;
52
typedef __uint16_t __uint_least8_t;
53
#define ___int_least8_t_defined 1
54
#endif
55
#endif
56
 
57
#if __EXP(INT_MAX) == 0x7fffffffL
58
typedef signed int __int32_t;
59
typedef unsigned int __uint32_t;
60
#define ___int32_t_defined 1
61
#elif __EXP(LONG_MAX) == 0x7fffffffL
62
typedef signed long __int32_t;
63
typedef unsigned long __uint32_t;
64
#define ___int32_t_defined 1
65
#elif __EXP(SHRT_MAX) == 0x7fffffffL
66
typedef signed short __int32_t;
67
typedef unsigned short __uint32_t;
68
#define ___int32_t_defined 1
69
#elif __EXP(SCHAR_MAX) == 0x7fffffffL
70
typedef signed char __int32_t;
71
typedef unsigned char __uint32_t;
72
#define ___int32_t_defined 1
73
#endif
74
 
75
#if ___int32_t_defined
76
typedef __int32_t __int_least32_t;
77
typedef __uint32_t __uint_least32_t;
78
#define ___int_least32_t_defined 1
79
 
80
#if !___int8_t_defined
81
typedef __int32_t __int_least8_t;
82
typedef __uint32_t __uint_least8_t;
83
#define ___int_least8_t_defined 1
84
#endif
85
#if !___int16_t_defined
86
typedef __int32_t __int_least16_t;
87
typedef __uint32_t __uint_least16_t;
88
#define ___int_least16_t_defined 1
89
#endif
90
#endif
91
 
92
#if __EXP(LONG_MAX) > 0x7fffffff
93
typedef signed long __int64_t;
94
typedef unsigned long __uint64_t;
95
#define ___int64_t_defined 1
96
 
97
/* GCC has __LONG_LONG_MAX__ */
98
#elif  defined(__LONG_LONG_MAX__) && (__LONG_LONG_MAX__ > 0x7fffffff)
99
typedef signed long long __int64_t;
100
typedef unsigned long long __uint64_t;
101
#define ___int64_t_defined 1
102
 
103
/* POSIX mandates LLONG_MAX in <limits.h> */
104
#elif  defined(LLONG_MAX) && (LLONG_MAX > 0x7fffffff)
105
typedef signed long long __int64_t;
106
typedef unsigned long long __uint64_t;
107
#define ___int64_t_defined 1
108
 
109
#elif  __EXP(INT_MAX) > 0x7fffffff
110
typedef signed int __int64_t;
111
typedef unsigned int __uint64_t;
112
#define ___int64_t_defined 1
113
#endif
114
 
115
#undef __EXP
116
 
117
#ifdef __cplusplus
118
}
119
#endif
120
 
121
#endif /* _MACHINE__DEFAULT_TYPES_H */

powered by: WebSVN 2.1.0

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