Merge from mainline (gomp-merge-2005-02-26).
[official-gcc.git] / libjava / java / lang / ieeefp.h
blob5854726762846ec5a53de22c5269af383bccd461
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 #ifdef __m32r__
36 #ifdef __LITTLE_ENDIAN__
37 #define __IEEE_LITTLE_ENDIAN
38 #else
39 #define __IEEE_BIG_ENDIAN
40 #endif
41 #endif
43 #if defined(__m68k__) || defined(__mc68000__)
44 #define __IEEE_BIG_ENDIAN
45 #endif
47 #if defined (__H8300__) || defined (__H8300H__)
48 #define __IEEE_BIG_ENDIAN
49 #define __SMALL_BITFIELDS
50 #define _DOUBLE_IS_32BITS
51 #endif
53 #ifdef __H8500__
54 #define __IEEE_BIG_ENDIAN
55 #define __SMALL_BITFIELDS
56 #define _DOUBLE_IS_32BITS
57 #endif
59 #ifdef __sh__
60 #ifdef __LITTLE_ENDIAN__
61 #define __IEEE_LITTLE_ENDIAN
62 #else
63 #define __IEEE_BIG_ENDIAN
64 #endif
66 #ifdef __SH3E__
67 #define _DOUBLE_IS_32BITS
68 #endif
69 #endif
71 #ifdef _AM29K
72 #define __IEEE_BIG_ENDIAN
73 #endif
75 #ifdef __i386__
76 #define __IEEE_LITTLE_ENDIAN
77 #endif
79 #ifdef __x86_64__
80 #define __IEEE_LITTLE_ENDIAN
81 #endif
83 #ifdef __i960__
84 #define __IEEE_LITTLE_ENDIAN
85 #endif
87 #ifdef __MIPSEL__
88 #define __IEEE_LITTLE_ENDIAN
89 #endif
91 #ifdef __MIPSEB__
92 #define __IEEE_BIG_ENDIAN
93 #endif
95 #ifdef __pj__
96 #ifdef __pjl__
97 #define __IEEE_LITTLE_ENDIAN
98 #else
99 #define __IEEE_BIG_ENDIAN
100 #endif
101 #endif
103 /* necv70 was __IEEE_LITTLE_ENDIAN. */
105 #ifdef __W65__
106 #define __IEEE_LITTLE_ENDIAN
107 #define __SMALL_BITFIELDS
108 #define _DOUBLE_IS_32BITS
109 #endif
111 #if defined(__Z8001__) || defined(__Z8002__)
112 #define __IEEE_BIG_ENDIAN
113 #endif
115 #ifdef __m88k__
116 #define __IEEE_BIG_ENDIAN
117 #endif
119 #ifdef __v800
120 #define __IEEE_LITTLE_ENDIAN
121 #endif
123 #if defined (__PPC__) || defined (__ppc__)
124 #if (defined(_BIG_ENDIAN) && _BIG_ENDIAN) || (defined(_AIX) && _AIX) \
125 || defined (__APPLE__)
126 #define __IEEE_BIG_ENDIAN
127 #else
128 #if (defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN) || (defined(__sun__) && __sun__) || (defined(__WIN32__) && __WIN32__)
129 #define __IEEE_LITTLE_ENDIAN
130 #endif
131 #endif
132 #endif
134 #ifdef __fr30__
135 #define __IEEE_BIG_ENDIAN
136 #endif
138 #ifdef __mcore__
139 #define __IEEE_BIG_ENDIAN
140 #endif
143 #ifdef __ia64__
144 #ifdef __BIG_ENDIAN__
145 #define __IEEE_BIG_ENDIAN
146 #else
147 #define __IEEE_LITTLE_ENDIAN
148 #endif
149 #endif
151 #ifdef __s390__
152 #define __IEEE_BIG_ENDIAN
153 #endif
155 #ifndef __IEEE_BIG_ENDIAN
156 #ifndef __IEEE_LITTLE_ENDIAN
157 #error Endianess not declared!!
158 #endif /* not __IEEE_LITTLE_ENDIAN */
159 #endif /* not __IEEE_BIG_ENDIAN */
161 #endif /* not __IEEE_LITTLE_ENDIAN */
162 #endif /* not __IEEE_BIG_ENDIAN */