Handle floating point errors in ns-fonts (Bug#7887).
[bpt/emacs.git] / src / m / alpha.h
1 /* Machine description file for the alpha chip.
2
3 Copyright (C) 1994, 1997, 1999, 2001-2011 Free Software Foundation, Inc.
4
5 Author: Rainer Schoepf
6 (according to authors.el)
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 #ifndef _LP64
24 #define _LP64 /* This doesn't appear to be necessary on OSF 4/5 -- fx. */
25 #endif
26
27 /* Now define a symbol for the cpu type, if your compiler
28 does not define it automatically. */
29 /* __alpha defined automatically */
30
31
32 /* Data type of load average, as read out of kmem. */
33 #define LOAD_AVE_TYPE long
34
35 /* Convert that into an integer that is 100 for a load average of 1.0 */
36 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
37
38 #ifdef __ELF__
39
40 #if !defined(GNU_LINUX) && !defined(__NetBSD__)
41 #define DATA_START 0x140000000
42 #endif
43
44 #else /* not __ELF__ */
45
46 /* Describe layout of the address space in an executing process. */
47 #define DATA_START 0x140000000
48
49 #endif /* __ELF__ */
50
51 /* On the Alpha it's best to avoid including TERMIO since struct
52 termio and struct termios are mutually incompatible. */
53 #define NO_TERMIO
54
55 /* Many Alpha implementations (e.g. gas 2.8) can't handle DBL_MIN:
56 they generate code that uses a signaling NaN instead of DBL_MIN.
57 Define DBL_MIN_REPLACEMENT to be the next value larger than DBL_MIN:
58 this avoids the assembler bug. */
59 #define DBL_MIN_REPLACEMENT 2.2250738585072019e-308
60