fixes for host gcc 4.6.1
[zpugcc/jano.git] / toolchain / gcc / libjava / java / lang / ieeefp.h
blob2bef69568cc2092964d02a12fccabd8c0971d232
1 #ifndef __IEEE_BIG_ENDIAN
2 #ifndef __IEEE_LITTLE_ENDIAN
4 #ifdef __alpha__
5 #define __IEEE_LITTLE_ENDIAN
6 #endif
8 #if defined(__arm__) || defined(__thumb__)
9 /* ARM traditionally used big-endian words; and within those words the
10 byte ordering was big or little endian depending upon the target.
11 Modern floating-point formats are naturally ordered; in this case
12 __VFP_FP__ will be defined, even if soft-float. */
13 #ifdef __VFP_FP__
14 #ifdef __ARMEL__
15 #define __IEEE_LITTLE_ENDIAN
16 #else
17 #define __IEEE_BIG_ENDIAN
18 #endif
19 #else
20 #define __IEEE_BIG_ENDIAN
21 #ifdef __ARMEL__
22 #define __IEEE_BYTES_LITTLE_ENDIAN
23 #endif
24 #endif
25 #endif
27 #ifdef __hppa__
28 #define __IEEE_BIG_ENDIAN
29 #endif
31 #if defined (__sparc) || defined (__sparc__)
32 #define __IEEE_BIG_ENDIAN
33 #endif
35 #if defined(__m68k__) || defined(__mc68000__)
36 #define __IEEE_BIG_ENDIAN
37 #endif
39 #if defined (__H8300__) || defined (__H8300H__)
40 #define __IEEE_BIG_ENDIAN
41 #define __SMALL_BITFIELDS
42 #define _DOUBLE_IS_32BITS
43 #endif
45 #ifdef __H8500__
46 #define __IEEE_BIG_ENDIAN
47 #define __SMALL_BITFIELDS
48 #define _DOUBLE_IS_32BITS
49 #endif
51 #ifdef __sh__
52 #ifdef __LITTLE_ENDIAN__
53 #define __IEEE_LITTLE_ENDIAN
54 #else
55 #define __IEEE_BIG_ENDIAN
56 #endif
58 #ifdef __SH3E__
59 #define _DOUBLE_IS_32BITS
60 #endif
61 #endif
63 #ifdef _AM29K
64 #define __IEEE_BIG_ENDIAN
65 #endif
67 #ifdef __i386__
68 #define __IEEE_LITTLE_ENDIAN
69 #endif
71 #ifdef __x86_64__
72 #define __IEEE_LITTLE_ENDIAN
73 #endif
75 #ifdef __i960__
76 #define __IEEE_LITTLE_ENDIAN
77 #endif
79 #ifdef __MIPSEL__
80 #define __IEEE_LITTLE_ENDIAN
81 #endif
83 #ifdef __MIPSEB__
84 #define __IEEE_BIG_ENDIAN
85 #endif
87 #ifdef __pj__
88 #ifdef __pjl__
89 #define __IEEE_LITTLE_ENDIAN
90 #else
91 #define __IEEE_BIG_ENDIAN
92 #endif
93 #endif
95 /* necv70 was __IEEE_LITTLE_ENDIAN. */
97 #ifdef __W65__
98 #define __IEEE_LITTLE_ENDIAN
99 #define __SMALL_BITFIELDS
100 #define _DOUBLE_IS_32BITS
101 #endif
103 #if defined(__Z8001__) || defined(__Z8002__)
104 #define __IEEE_BIG_ENDIAN
105 #endif
107 #ifdef __m88k__
108 #define __IEEE_BIG_ENDIAN
109 #endif
111 #ifdef __v800
112 #define __IEEE_LITTLE_ENDIAN
113 #endif
115 #if defined (__PPC__) || defined (__ppc__)
116 #if (defined(_BIG_ENDIAN) && _BIG_ENDIAN) || (defined(_AIX) && _AIX) \
117 || defined (__APPLE__)
118 #define __IEEE_BIG_ENDIAN
119 #else
120 #if (defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN) || (defined(__sun__) && __sun__) || (defined(__WIN32__) && __WIN32__)
121 #define __IEEE_LITTLE_ENDIAN
122 #endif
123 #endif
124 #endif
126 #ifdef __fr30__
127 #define __IEEE_BIG_ENDIAN
128 #endif
130 #ifdef __mcore__
131 #define __IEEE_BIG_ENDIAN
132 #endif
135 #ifdef __ia64__
136 #ifdef __BIG_ENDIAN__
137 #define __IEEE_BIG_ENDIAN
138 #else
139 #define __IEEE_LITTLE_ENDIAN
140 #endif
141 #endif
143 #ifdef __s390__
144 #define __IEEE_BIG_ENDIAN
145 #endif
147 #ifndef __IEEE_BIG_ENDIAN
148 #ifndef __IEEE_LITTLE_ENDIAN
149 #error Endianess not declared!!
150 #endif /* not __IEEE_LITTLE_ENDIAN */
151 #endif /* not __IEEE_BIG_ENDIAN */
153 #endif /* not __IEEE_LITTLE_ENDIAN */
154 #endif /* not __IEEE_BIG_ENDIAN */