utah rcsid 1.25 87/12/10 19:48:54: Fortran also needs implicit float to
[unix-history] / usr / src / old / pcc / ccom.tahoe / macdefs.h
CommitLineData
543f0915 1/* macdefs.h 1.5 87/12/10 */
0b9890e3
SL
2
3#ifndef _MACDEFS_
4#define _MACDEFS_
5
6#define makecc(val,i) lastcon = (lastcon<<8)|((val<<24)>>24);
7
8#define ARGINIT SZINT
9#define AUTOINIT (13*SZINT)
10
11/*
12 * Storage space requirements.
13 */
14#define SZCHAR 8
15#define SZINT 32
16#define SZFLOAT 32
17#define SZDOUBLE 64
18#define SZLONG 32
19#define SZSHORT 16
20#define SZPOINT 32
21
22/*
23 * Alignment constraints
24 */
25#define ALCHAR 8
26#define ALINT 32
27#define ALFLOAT 32
28#define ALDOUBLE 32
29#define ALLONG 32
30#define ALSHORT 16
31#define ALPOINT 32
32#define ALSTRUCT 8
33#define ALSTACK 32
34
35#define ACONFMT "$0x%lx" /* format for printing address constants */
36#define CONFMT "%ld" /* format for printing constants */
37#define LABFMT "L%d" /* format for printing labels */
38
39typedef long CONSZ; /* size in which constants are converted */
40typedef long OFFSZ; /* size in which offsets are kept */
41
42#define CCTRANS(x) x /* character set macro */
43
44/*
45 * Register cookie for stack pointer.
46 */
47#define STKREG 13 /* stack pointer */
48
49/*
50 * Maximum and minimum register variables
51 */
52#define MINRVAR 6 /* use R6 thru ... */
53#define MAXRVAR 12 /* ... R12 */
54
55#define BACKAUTO /* stack grows negatively for automatics */
56#define BACKTEMP /* stack grows negatively for temporaries */
57/*#define FIELDOPS /* no hardware field support */
58/*#define RTOLBYTES /* bytes are number from left to right */
f5f739d3
DS
59#define ADDROREG /* can unwind &o, where o is OREG */
60
61#define ASSTRINGS /* assembler handles string initializations */
62#define STABDOT /* assembler understands .stabd */
63#define LCOMM /* assembler supports .lcomm */
543f0915 64#define SPRECC /* double only arithmetic not supported */
f5f739d3 65
0b9890e3
SL
66#define ENUMSIZE(high,low) INT /* enums are always stored in full int */
67
f5f739d3
DS
68#define FIXDEF(p) if (!nerrors) outstab(p); else
69#define FIXARG(p) if (!nerrors) fixarg(p); else
70#define FIXSTRUCT(p,q) if (!nerrors) outstruct(p,q); else
71
0b9890e3
SL
72#ifndef ncopy
73#define ncopy(q, p) ((q)->in = (p)->in)
9162c98f
SL
74#endif
75
f5f739d3
DS
76#define aobeg()
77#define aocode(p)
78#define aoend()
79#define deflab(m) if (!nerrors) printf("L%d:\n", m); else
80
0b9890e3
SL
81#define PRTDCON /* use machine-specific prtdcon routine */
82extern prtdcon();
83#endif