(unexec): Add casts for some comparisons.
[bpt/emacs.git] / src / m / gec63.h
CommitLineData
20c428fd
JB
1/* machine description file for gec63
2 Copyright (C) 1986 Free Software Foundation, Inc.
3
4This file is part of GNU Emacs.
5
6GNU Emacs is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
17385adc 8the Free Software Foundation; either version 2, or (at your option)
20c428fd
JB
9any later version.
10
11GNU Emacs is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU Emacs; see the file COPYING. If not, write to
18the 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
20c428fd
JB
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