Merge changes from emacs-23 branch.
[bpt/emacs.git] / src / m / ia64.h
1 /* machine description file for the IA-64 architecture.
2
3 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
4 2009, 2010 Free Software Foundation, Inc.
5
6 Contributed by David Mosberger <davidm@hpl.hp.com>
7
8 This file is part of GNU Emacs.
9
10 GNU Emacs is free software: you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation, either version 3 of the License, or
13 (at your option) any later version.
14
15 GNU Emacs is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22
23 #define BITS_PER_LONG 64
24 #define BITS_PER_EMACS_INT 64
25
26 /* Now define a symbol for the cpu type, if your compiler
27 does not define it automatically. */
28 /* __ia64__ defined automatically */
29
30 /* Define the type to use. */
31 #define EMACS_INT long
32 #define EMACS_UINT unsigned long
33
34 /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
35 the 24-bit bit field into an int. In other words, if bit fields
36 are always unsigned.
37
38 This flag only matters if you use USE_LISP_UNION_TYPE. */
39 #define EXPLICIT_SIGN_EXTEND
40
41 /* Data type of load average, as read out of kmem. */
42 #define LOAD_AVE_TYPE long
43
44 /* Convert that into an integer that is 100 for a load average of 1.0 */
45 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
46
47 #ifdef REL_ALLOC
48 #ifndef _MALLOC_INTERNAL
49 /* "char *" because ralloc.c defines it that way. gmalloc.c thinks it
50 is allowed to prototype these as "void *" so we don't prototype in
51 that case. You're right: it stinks! */
52 extern char *r_alloc (), *r_re_alloc ();
53 extern void r_alloc_free ();
54 #endif /* not _MALLOC_INTERNAL */
55 #endif /* REL_ALLOC */
56
57 /* arch-tag: 9b8e9fb2-2e49-4c22-b68f-11a488e77c66
58 (do not change this comment) */