1 /* news-risc6.h is for the "RISC News", OS version 6. */
2 /* This is in the public domain. */
4 /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
5 * group of arguments and treat it as an array of the arguments. */
9 /* Use type int rather than a union, to represent Lisp_Object */
10 /* This is desirable for most machines. */
14 /* Data type of load average, as read out of kmem. */
16 #define LOAD_AVE_TYPE long
18 /* Convert that into an integer that is 100 for a load average of 1.0 */
20 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / 256.0)
22 /* Define C_ALLOCA if this machine does not support a true alloca
23 and the one written in C should be used instead.
24 Define HAVE_ALLOCA to say that the system provides a properly
25 working alloca function and it should be used.
26 Define neither one if an assembler-language alloca
27 in the file alloca.s should be used. */
31 /* Define NO_REMAP if memory segmentation makes it not work well
32 to change the boundary between the text section and data section
33 when Emacs is dumped. If you define this, the preloaded Lisp
34 code will not be sharable; but that's better than failing completely. */
38 /* Alter some of the options used when linking. */
40 /*#define C_DEBUG_SWITCH -g*/
41 #define C_DEBUG_SWITCH -O -Olimit 2000
43 #define C_OPTIMIZE_SWITCH -O
44 #define LD_SWITCH_MACHINE -g -Xlinker -D -Xlinker 800000
46 /*#define LD_SWITCH_MACHINE -D 800000 -g*/
47 #define LD_SWITCH_MACHINE -D 800000
48 #endif /* !__GNUC__ */
49 #define LIBS_MACHINE -lmld
50 #define LIBS_TERMCAP -lcurses
52 /* The standard definitions of these macros would work ok,
53 but these are faster because the constants are short. */
55 #define XUINT(a) (((unsigned)(a) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS))
57 #define XSET(var, type, ptr) \
59 ((int)(type) << VALBITS) \
60 + (((unsigned) (ptr) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS)))
64 (((unsigned)(a) << (BITS_PER_INT-GCTYPEBITS-VALBITS)) \
65 >> (BITS_PER_INT-GCTYPEBITS-VALBITS)))