1 #ifndef __CLASSPATH_IEEEFP_H__
2 #define __CLASSPATH_IEEEFP_H__
4 #ifndef __IEEE_BIG_ENDIAN
5 #ifndef __IEEE_LITTLE_ENDIAN
9 #define __IEEE_BIG_ENDIAN
11 #define __IEEE_LITTLE_ENDIAN
16 #define __IEEE_LITTLE_ENDIAN
19 #if defined(__arm__) || defined(__thumb__)
20 /* ARM traditionally used big-endian words; and within those words the
21 byte ordering was big or little endian depending upon the target.
22 Modern floating-point formats are naturally ordered; in this case
23 __VFP_FP__ will be defined, even if soft-float. */
26 #define __IEEE_LITTLE_ENDIAN
28 #define __IEEE_BIG_ENDIAN
31 #define __IEEE_BIG_ENDIAN
33 #define __IEEE_BYTES_LITTLE_ENDIAN
39 #define __IEEE_BIG_ENDIAN
42 #if defined (__sparc) || defined (__sparc__)
43 #define __IEEE_BIG_ENDIAN
47 #ifdef __LITTLE_ENDIAN__
48 #define __IEEE_LITTLE_ENDIAN
50 #define __IEEE_BIG_ENDIAN
54 #if defined(__m68k__) || defined(__mc68000__)
55 #define __IEEE_BIG_ENDIAN
58 #if defined (__H8300__) || defined (__H8300H__)
59 #define __IEEE_BIG_ENDIAN
60 #define __SMALL_BITFIELDS
61 #define _DOUBLE_IS_32BITS
65 #define __IEEE_BIG_ENDIAN
66 #define __SMALL_BITFIELDS
67 #define _DOUBLE_IS_32BITS
71 #ifdef __LITTLE_ENDIAN__
72 #define __IEEE_LITTLE_ENDIAN
74 #define __IEEE_BIG_ENDIAN
78 #define _DOUBLE_IS_32BITS
83 #define __IEEE_BIG_ENDIAN
87 #define __IEEE_LITTLE_ENDIAN
91 #define __IEEE_LITTLE_ENDIAN
95 #define __IEEE_LITTLE_ENDIAN
99 #define __IEEE_BIG_ENDIAN
103 #define __IEEE_LITTLE_ENDIAN
107 #define __IEEE_BIG_ENDIAN
112 #define __IEEE_LITTLE_ENDIAN
114 #define __IEEE_BIG_ENDIAN
118 /* necv70 was __IEEE_LITTLE_ENDIAN. */
121 #define __IEEE_LITTLE_ENDIAN
122 #define __SMALL_BITFIELDS
123 #define _DOUBLE_IS_32BITS
126 #if defined(__Z8001__) || defined(__Z8002__)
127 #define __IEEE_BIG_ENDIAN
131 #define __IEEE_BIG_ENDIAN
135 #define __IEEE_LITTLE_ENDIAN
138 #if defined (__PPC__) || defined (__ppc__) || defined (__powerpc__) || defined (__ppc64__) || defined (_POWER) || defined (_IBMR2)
139 #if (defined(_BIG_ENDIAN) && _BIG_ENDIAN) || (defined(_AIX) && _AIX) || defined (__BIG_ENDIAN__)|| defined (__APPLE__)
140 #define __IEEE_BIG_ENDIAN
142 #if (defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN) || (defined(__sun__) && __sun__) || (defined(__WIN32__) && __WIN32__)
143 #define __IEEE_LITTLE_ENDIAN
149 #define __IEEE_BIG_ENDIAN
153 #define __IEEE_BIG_ENDIAN
158 #ifdef __BIG_ENDIAN__
159 #define __IEEE_BIG_ENDIAN
161 #define __IEEE_LITTLE_ENDIAN
166 #define __IEEE_BIG_ENDIAN
169 #ifndef __IEEE_BIG_ENDIAN
170 #ifndef __IEEE_LITTLE_ENDIAN
171 #error Endianess not declared!!
172 #endif /* not __IEEE_LITTLE_ENDIAN */
173 #endif /* not __IEEE_BIG_ENDIAN */
175 #endif /* not __IEEE_LITTLE_ENDIAN */
176 #endif /* not __IEEE_BIG_ENDIAN */
178 #endif /* __CLASSPATH_IEEEFP_H__ */