filename | test/include/sys/config.h |
changeset | 185:6755a04c447f |
author | nkeynes |
date | Tue Jan 06 02:03:36 2009 +0000 (15 years ago) |
branch | lxdream-mem |
permissions | -rw-r--r-- |
last change | Back out the CALL_ptr change (need to handle relocation from end-of-cache to front in overflow situations) |
view | annotate | diff | log | raw |
1 #ifndef __SYS_CONFIG_H__
2 #define __SYS_CONFIG_H__
4 /* exceptions first */
5 /* ??? Why is much of this stuff duplicated with machine/ieeefp.h? */
6 #if defined(__H8300__) || defined(__H8500__) || defined (__H8300H__) || defined(__W65__) || defined (__H8300S__)
7 #define _FLOAT_ARG float
8 #define __SMALL_BITFIELDS
9 #define _DOUBLE_IS_32BITS
10 #define __IEEE_BIG_ENDIAN
11 /* ??? This conditional is true for the h8500 and the w65, defining H8300
12 in those cases probably isn't the right thing to do. */
13 #define H8300 1
14 #endif
16 #ifdef __W65__
17 #define _DOUBLE_IS_32BITS
18 #define __SMALL_BITFIELDS
19 #define __IEEE_BIG_ENDIAN
20 #undef INT_MAX
21 #undef UINT_MAX
22 #define INT_MAX 32767
23 #define UINT_MAX 65535
25 #endif
27 /* 16 bit integer machines */
28 #if defined(__Z8001__) || defined(__Z8002__) || defined(__H8300__) || defined(__H8500__) || defined(__W65__) || defined (__H8300H__) || defined (__H8300S__) || defined (__mn10200__)
30 #undef INT_MAX
31 #undef UINT_MAX
32 #define INT_MAX 32767
33 #define UINT_MAX 65535
34 #endif
36 #if defined(__D10V__)
37 #undef INT_MAX
38 #undef UINT_MAX
39 #define INT_MAX __INT_MAX__
40 #define UINT_MAX (__INT_MAX__ * 2U + 1)
41 #define _DOUBLE_IS_32BITS
42 #define _POINTER_INT short
43 #define __IEEE_BIG_ENDIAN
44 #endif
46 #ifdef ___AM29K__
47 #define _FLOAT_RET double
48 #endif
50 #ifdef __i386__
51 #ifndef __unix__
52 /* in other words, go32 */
53 #define _FLOAT_RET double
54 #endif
55 #endif
57 #ifdef __M32R__
58 #define __IEEE_BIG_ENDIAN
59 #endif
61 #ifdef __m68k__
62 /* This is defined in machine/ieeefp.h; need to check is it redundant here? */
63 #define __IEEE_BIG_ENDIAN
64 #endif
66 #ifdef __mn10300__
67 #define __IEEE_LITTLE_ENDIAN
68 #endif
70 #ifdef __mn10200__
71 #define _DOUBLE_IS_32BITS
72 #define __SMALL_BITFIELDS
73 #define __IEEE_LITTLE_ENDIAN
74 #endif
76 #ifdef __TIC80__
77 #define __IEEE_LITTLE_ENDIAN
78 #endif
80 #ifdef __v850
81 #define __IEEE_LITTLE_ENDIAN
82 #define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__sda__))
83 #endif
85 #ifdef __D30V__
86 #define __IEEE_BIG_ENDIAN
87 #endif
89 /* For the PowerPC eabi, force the _impure_ptr to be in .sdata */
90 #if defined(__PPC__) && defined(_CALL_SYSV)
91 #define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__section__(".sdata")))
92 #endif
94 #ifdef __sparc__
95 #ifdef __LITTLE_ENDIAN_DATA__
96 #define __IEEE_LITTLE_ENDIAN
97 #else
98 #define __IEEE_BIG_ENDIAN
99 #endif
100 #endif
102 #if INT_MAX == 32767
103 typedef long int __int32_t;
104 typedef unsigned long int __uint32_t;
105 #else
106 typedef int __int32_t;
107 typedef unsigned int __uint32_t;
108 #endif
110 #ifndef _POINTER_INT
111 #define _POINTER_INT long
112 #endif
115 #endif /* __SYS_CONFIG_H__ */
.