(unexec): Add casts for some comparisons.
[bpt/emacs.git] / src / m / gec63.h
1 /* machine description file for gec63
2 Copyright (C) 1986 Free Software Foundation, Inc.
3
4 This file is part of GNU Emacs.
5
6 GNU Emacs is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
10
11 GNU Emacs is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with GNU Emacs; see the file COPYING. If not, write to
18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
19
20
21 /* The following line tells the configuration script what sort of
22 operating system this machine is likely to run.
23 USUAL-OPSYS="usg5-2" */
24
25 /* The following three symbols give information on
26 the size of various data types. */
27
28 #define SHORTBITS 16 /* Number of bits in a short */
29
30 #define INTBITS 32 /* Number of bits in an int */
31
32 #define LONGBITS 32 /* Number of bits in a long */
33
34 /* GEC63 is big-endian: lowest numbered byte is most significant. */
35
36 #define BIG_ENDIAN
37
38 /* Say this machine is a 68000 */
39
40 #define gec63
41
42 /* Use an int to represent Lisp_Object */
43
44 #define NO_UNION_TYPE
45
46 /* GEC63 has alloca in the PW/ux63 library. */
47 #define LIB_STANDARD -lPW -lc
48 #define HAVE_ALLOCA
49
50 /* Do not define LOAD_AVE_TYPE or LOAD_AVE_CVT
51 since there is no /dev/kmem */
52
53 #undef ADDR_CORRECT(x)
54 #define NO_ARG_ARRAY
55
56 #undef TERMCAP
57 #define TERMINFO
58
59 /* Define sizes of portions of a Lisp_Object. */
60 #define VALBITS 22
61 #define GCTYPEBITS 5
62
63 #define VALAMASK (((1<<VALBITS) - 1)| 0xF0000000L)
64
65 #define XTYPE(a) ((enum Lisp_Type) (((a) >> VALBITS) & GCTYPEMASK))
66 #define XSETTYPE(a, b) ((a) = ((a) & VALAMASK) + ((int)(b) << VALBITS))
67
68 #define XPNTR(a) ((a) & VALAMASK)
69 #define XSETPNTR(a, b) ((a) = ((a) & ~VALAMASK) + ((b) & VALAMASK))
70
71 #define XSET(var, type, ptr) \
72 ((var) = ((int)(type) << VALBITS) + ((int) (ptr) & VALAMASK))
73
74 /* Move some garbage-collector flag bits to different bit positions. */
75 #define ARRAY_MARK_FLAG (1 << 27)
76 #define DONT_COPY_FLAG (1 << 26)
77
78 #define NO_REMAP