annotate src/m/ia64.h @ 41882:f3bc5e440020

Resurrect the Hebrew category settings for all Hebrew characters removed by the last change. Add code for setting the Hebrew category of the Unicode Hebrew characters. Set syntax entries for Hebrew punctuation characters.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 07 Dec 2001 17:52:20 +0000
parents ab473e4fb307
children 4be8406ebef9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30587
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
1 /* machine description file for the IA-64 architecture.
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
2 Copyright (C) 2000 Free Software Foundation, Inc.
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
3 Contributed by David Mosberger <davidm@hpl.hp.com>
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
4
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
5 This file is part of GNU Emacs.
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
6
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
9 the Free Software Foundation; either version 1, or (at your option)
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
10 any later version.
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
11
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
15 GNU General Public License for more details.
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
16
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
18 along with GNU Emacs; see the file COPYING. If not, write to
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
20 Boston, MA 02111-1307, USA. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
21
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
22 #define BITS_PER_LONG 64
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
23 #define BITS_PER_EMACS_INT 64
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
24
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
25 /* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
26 is the most significant byte. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
27
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
28 #undef WORDS_BIG_ENDIAN
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
29
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
30 /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
31 group of arguments and treat it as an array of the arguments. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
32
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
33 #define NO_ARG_ARRAY
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
34
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
35 /* Define WORD_MACHINE if addresses and such have
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
36 to be corrected before they can be used as byte counts. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
37
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
38 /* #define WORD_MACHINE */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
39
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
40 /* Now define a symbol for the cpu type, if your compiler
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
41 does not define it automatically:
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
42 Ones defined so far include vax, m68000, ns16000, pyramid,
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
43 orion, tahoe, APOLLO and many others */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
44
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
45 /* __ia64__ defined automatically */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
46
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
47
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
48 /* Use type EMACS_INT rather than a union, to represent Lisp_Object */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
49 /* This is desirable for most machines. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
50
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
51 #define NO_UNION_TYPE
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
52
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
53 /* Define the type to use. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
54 #define EMACS_INT long
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
55 #define EMACS_UINT unsigned long
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
56 #define SPECIAL_EMACS_INT
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
57
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
58 /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
59 the 24-bit bit field into an int. In other words, if bit fields
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
60 are always unsigned.
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
61
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
62 If you use NO_UNION_TYPE, this flag does not matter. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
63
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
64 #define EXPLICIT_SIGN_EXTEND
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
65
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
66 /* Data type of load average, as read out of kmem. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
67
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
68 #define LOAD_AVE_TYPE long
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
69
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
70 /* Convert that into an integer that is 100 for a load average of 1.0 */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
71
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
72 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
73
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
74 /* Define CANNOT_DUMP on machines where unexec does not work.
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
75 Then the function dump-emacs will not be defined
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
76 and temacs will do (load "loadup") automatically unless told otherwise. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
77 #if 0
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
78 #define CANNOT_DUMP
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
79 #endif
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
80
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
81 /* Define VIRT_ADDR_VARIES if the virtual addresses of
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
82 pure and impure space as loaded can vary, and even their
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
83 relative order cannot be relied on.
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
84
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
85 Otherwise Emacs assumes that text space precedes data space,
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
86 numerically. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
87
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
88 /* #define VIRT_ADDR_VARIES */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
89
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
90 /* Define C_ALLOCA if this machine does not support a true alloca
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
91 and the one written in C should be used instead.
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
92 Define HAVE_ALLOCA to say that the system provides a properly
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
93 working alloca function and it should be used.
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
94 Define neither one if an assembler-language alloca
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
95 in the file alloca.s should be used. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
96
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
97 #define HAVE_ALLOCA
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
98
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
99 /* Define the following if GNU malloc and the relocating allocator do
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
100 not work together with X. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
101
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
102 /* #define SYSTEM_MALLOC */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
103
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
104 /* Define NO_REMAP if memory segmentation makes it not work well
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
105 to change the boundary between the text section and data section
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
106 when Emacs is dumped. If you define this, the preloaded Lisp
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
107 code will not be sharable; but that's better than failing completely. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
108
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
109 /* #define NO_REMAP */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
110
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
111 /* Some really obscure 4.2-based systems (like Sequent DYNIX) do not
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
112 support asynchronous I/O (using SIGIO) on sockets, even though it
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
113 works fine on tty's. If you have one of these systems, define the
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
114 following, and then use it in config.h (or elsewhere) to decide
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
115 when (not) to use SIGIO.
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
116
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
117 You'd think this would go in an operating-system description file,
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
118 but since it only occurs on some, but not all, BSD systems, the
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
119 reasonable place to select for it is in the machine description
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
120 file. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
121
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
122 /* #define NO_SOCK_SIGIO */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
123
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
124 #ifdef __ELF__
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
125 #undef UNEXEC
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
126 #define UNEXEC unexelf.o
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
127 #endif
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
128
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
129 #define PNTR_COMPARISON_TYPE unsigned long
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
130
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
131 /* On the 64 bit architecture, we can use 60 bits for addresses */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
132
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
133 #define VALBITS 60
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
134
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
135 /* This definition of MARKBIT is necessary because of the comparison of
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
136 ARRAY_MARK_FLAG and MARKBIT in an #if in lisp.h, which cpp doesn't like. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
137
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
138 #define MARKBIT 0x8000000000000000L
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
139
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
140 /* Define XINT and XUINT so that they can take arguments of type int */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
141
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
142 #define XINT(a) (((long) (a) << (BITS_PER_LONG - VALBITS)) >> (BITS_PER_LONG - VALBITS))
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
143 #define XUINT(a) ((long) (a) & VALMASK)
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
144
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
145 /* Declare malloc and realloc in a way that is clean.
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
146 But not in makefiles! */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
147
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
148 #ifndef NOT_C_CODE
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
149 /* We need these because pointers are larger than the default ints. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
150 # if !defined(__NetBSD__) && !defined(__OpenBSD__)
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
151 # include <alloca.h>
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
152 # else
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
153 # include <stdlib.h>
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
154 # endif
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
155
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
156 /* We need to prototype these for the lib-src programs even if we don't
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
157 use the system malloc for the Emacs proper. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
158 #ifdef _MALLOC_INTERNAL
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
159 /* These declarations are designed to match the ones in gmalloc.c. */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
160 #if defined (__STDC__) && __STDC__
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
161 extern void *malloc (), *realloc (), *calloc ();
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
162 #else
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
163 extern char *malloc (), *realloc (), *calloc ();
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
164 #endif
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
165 #else /* not _MALLOC_INTERNAL */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
166 extern void *malloc (), *realloc (), *calloc ();
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
167 #endif /* not _MALLOC_INTERNAL */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
168
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
169 #ifdef REL_ALLOC
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
170 #ifndef _MALLOC_INTERNAL
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
171 /* "char *" because ralloc.c defines it that way. gmalloc.c thinks it
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
172 is allowed to prototype these as "void *" so we don't prototype in
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
173 that case. You're right: it stinks! */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
174 extern char *r_alloc (), *r_re_alloc ();
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
175 extern void r_alloc_free ();
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
176 #endif /* not _MALLOC_INTERNAL */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
177 #endif /* REL_ALLOC */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
178
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
179 #endif /* not NOT_C_CODE */
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
180
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
181 #define DATA_SEG_BITS 0x6000000000000000
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
182
89ad08bb037c * m/ia64.h: Moved from s/ia64.h.
Andreas Schwab <schwab@suse.de>
parents:
diff changeset
183 #define HAVE_TEXT_START