~ubuntu-branches/ubuntu/vivid/emscripten/vivid

« back to all changes in this revision

Viewing changes to system/include/libc/machine/_default_types.h

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-02 13:11:51 UTC
  • Revision ID: package-import@ubuntu.com-20130502131151-q8dvteqr1ef2x7xz
Tags: upstream-1.4.1~20130504~adb56cb
ImportĀ upstreamĀ versionĀ 1.4.1~20130504~adb56cb

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *  $Id: _default_types.h,v 1.2 2008/06/11 22:14:54 jjohnstn Exp $
 
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 */