diff options
Diffstat (limited to 'SD-VBS/portability/SPARC-gcc.h')
-rw-r--r-- | SD-VBS/portability/SPARC-gcc.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/SD-VBS/portability/SPARC-gcc.h b/SD-VBS/portability/SPARC-gcc.h new file mode 100644 index 0000000..f926615 --- /dev/null +++ b/SD-VBS/portability/SPARC-gcc.h | |||
@@ -0,0 +1,80 @@ | |||
1 | |||
2 | /* | ||
3 | ------------------------------------------------------------------------------- | ||
4 | One of the macros `BIGENDIAN' or `LITTLEENDIAN' must be defined. | ||
5 | ------------------------------------------------------------------------------- | ||
6 | */ | ||
7 | #define BIGENDIAN | ||
8 | |||
9 | /* | ||
10 | ------------------------------------------------------------------------------- | ||
11 | The macro `BITS64' can be defined to indicate that 64-bit integer types are | ||
12 | supported by the compiler. | ||
13 | ------------------------------------------------------------------------------- | ||
14 | */ | ||
15 | #define BITS64 | ||
16 | |||
17 | /* | ||
18 | ------------------------------------------------------------------------------- | ||
19 | Each of the following `typedef's defines the most convenient type that holds | ||
20 | integers of at least as many bits as specified. For example, `uint8' should | ||
21 | be the most convenient type that can hold unsigned integers of as many as | ||
22 | 8 bits. The `flag' type must be able to hold either a 0 or 1. For most | ||
23 | implementations of C, `flag', `uint8', and `int8' should all be `typedef'ed | ||
24 | to the same as `int'. | ||
25 | ------------------------------------------------------------------------------- | ||
26 | */ | ||
27 | typedef int flag; | ||
28 | typedef int uint8; | ||
29 | typedef int int8; | ||
30 | typedef int uint16; | ||
31 | typedef int int16; | ||
32 | typedef unsigned int uint32; | ||
33 | typedef signed int int32; | ||
34 | #ifdef BITS64 | ||
35 | typedef unsigned long long int uint64; | ||
36 | typedef signed long long int int64; | ||
37 | #endif | ||
38 | |||
39 | /* | ||
40 | ------------------------------------------------------------------------------- | ||
41 | Each of the following `typedef's defines a type that holds integers | ||
42 | of _exactly_ the number of bits specified. For instance, for most | ||
43 | implementation of C, `bits16' and `sbits16' should be `typedef'ed to | ||
44 | `unsigned short int' and `signed short int' (or `short int'), respectively. | ||
45 | ------------------------------------------------------------------------------- | ||
46 | */ | ||
47 | typedef unsigned char bits8; | ||
48 | typedef signed char sbits8; | ||
49 | typedef unsigned short int bits16; | ||
50 | typedef signed short int sbits16; | ||
51 | typedef unsigned int bits32; | ||
52 | typedef signed int sbits32; | ||
53 | #ifdef BITS64 | ||
54 | typedef unsigned long long int bits64; | ||
55 | typedef signed long long int sbits64; | ||
56 | #endif | ||
57 | |||
58 | #ifdef BITS64 | ||
59 | /* | ||
60 | ------------------------------------------------------------------------------- | ||
61 | The `LIT64' macro takes as its argument a textual integer literal and | ||
62 | if necessary ``marks'' the literal as having a 64-bit integer type. | ||
63 | For example, the GNU C Compiler (`gcc') requires that 64-bit literals be | ||
64 | appended with the letters `LL' standing for `long long', which is `gcc's | ||
65 | name for the 64-bit integer type. Some compilers may allow `LIT64' to be | ||
66 | defined as the identity macro: `#define LIT64( a ) a'. | ||
67 | ------------------------------------------------------------------------------- | ||
68 | */ | ||
69 | #define LIT64( a ) a##LL | ||
70 | #endif | ||
71 | |||
72 | /* | ||
73 | ------------------------------------------------------------------------------- | ||
74 | The macro `INLINE' can be used before functions that should be inlined. If | ||
75 | a compiler does not support explicit inlining, this macro should be defined | ||
76 | to be `static'. | ||
77 | ------------------------------------------------------------------------------- | ||
78 | */ | ||
79 | #define INLINE extern inline | ||
80 | |||