1178580Simp/* $NetBSD: arm-gcc.h,v 1.2 2001/02/21 18:09:25 bjh21 Exp $ */
2178580Simp/* $FreeBSD$ */
3178580Simp
4178580Simp/*
5178580Simp-------------------------------------------------------------------------------
6178580SimpOne of the macros `BIGENDIAN' or `LITTLEENDIAN' must be defined.
7178580Simp-------------------------------------------------------------------------------
8178580Simp*/
9178580Simp#ifdef __MIPSEB__
10178580Simp#define BIGENDIAN
11178580Simp#else
12178580Simp#define LITTLEENDIAN
13178580Simp#endif
14178580Simp
15178580Simp/*
16178580Simp-------------------------------------------------------------------------------
17178580SimpThe macro `BITS64' can be defined to indicate that 64-bit integer types are
18178580Simpsupported by the compiler.
19178580Simp-------------------------------------------------------------------------------
20178580Simp*/
21178580Simp#define BITS64
22178580Simp
23178580Simp/*
24178580Simp-------------------------------------------------------------------------------
25178580SimpEach of the following `typedef's defines the most convenient type that holds
26178580Simpintegers of at least as many bits as specified.  For example, `uint8' should
27178580Simpbe the most convenient type that can hold unsigned integers of as many as
28178580Simp8 bits.  The `flag' type must be able to hold either a 0 or 1.  For most
29178580Simpimplementations of C, `flag', `uint8', and `int8' should all be `typedef'ed
30178580Simpto the same as `int'.
31178580Simp-------------------------------------------------------------------------------
32178580Simp*/
33178580Simptypedef int flag;
34178580Simptypedef int uint8;
35178580Simptypedef int int8;
36178580Simptypedef int uint16;
37178580Simptypedef int int16;
38178580Simptypedef unsigned int uint32;
39178580Simptypedef signed int int32;
40178580Simp#ifdef BITS64
41178580Simptypedef unsigned long long int uint64;
42178580Simptypedef signed long long int int64;
43178580Simp#endif
44178580Simp
45178580Simp/*
46178580Simp-------------------------------------------------------------------------------
47178580SimpEach of the following `typedef's defines a type that holds integers
48178580Simpof _exactly_ the number of bits specified.  For instance, for most
49178580Simpimplementation of C, `bits16' and `sbits16' should be `typedef'ed to
50178580Simp`unsigned short int' and `signed short int' (or `short int'), respectively.
51178580Simp-------------------------------------------------------------------------------
52178580Simp*/
53178580Simptypedef unsigned char bits8;
54178580Simptypedef signed char sbits8;
55178580Simptypedef unsigned short int bits16;
56178580Simptypedef signed short int sbits16;
57178580Simptypedef unsigned int bits32;
58178580Simptypedef signed int sbits32;
59178580Simp#ifdef BITS64
60178580Simptypedef unsigned long long int bits64;
61178580Simptypedef signed long long int sbits64;
62178580Simp#endif
63178580Simp
64178580Simp#ifdef BITS64
65178580Simp/*
66178580Simp-------------------------------------------------------------------------------
67178580SimpThe `LIT64' macro takes as its argument a textual integer literal and
68178580Simpif necessary ``marks'' the literal as having a 64-bit integer type.
69178580SimpFor example, the GNU C Compiler (`gcc') requires that 64-bit literals be
70178580Simpappended with the letters `LL' standing for `long long', which is `gcc's
71178580Simpname for the 64-bit integer type.  Some compilers may allow `LIT64' to be
72178580Simpdefined as the identity macro:  `#define LIT64( a ) a'.
73178580Simp-------------------------------------------------------------------------------
74178580Simp*/
75178580Simp#define LIT64( a ) a##LL
76178580Simp#endif
77178580Simp
78178580Simp/*
79178580Simp-------------------------------------------------------------------------------
80178580SimpThe macro `INLINE' can be used before functions that should be inlined.  If
81178580Simpa compiler does not support explicit inlining, this macro should be defined
82178580Simpto be `static'.
83178580Simp-------------------------------------------------------------------------------
84178580Simp*/
85178580Simp#define INLINE static __inline
86178580Simp
87178580Simp#if defined(SOFTFLOAT_FOR_GCC)
88178580Simp/* XXXMIPS: check this one */
89178580Simp#define FLOAT64_DEMANGLE(a)	(a)
90178580Simp#define FLOAT64_MANGLE(a)	(a)
91178580Simp#endif
92