date and time created 88/10/19 11:45:49 by bostic
[unix-history] / usr / src / old / pcc / ccom.vax / macdefs.h
CommitLineData
ca1ecc85 1/* macdefs.h 4.6 88/05/31 */
ac9b083d
RC
2
3#ifndef _MACDEFS_
4#define _MACDEFS_
5
6#define makecc(val,i) lastcon = (lastcon<<8)|((val<<24)>>24);
7
8#define ARGINIT 32
9#define AUTOINIT 0
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
35typedef long CONSZ; /* size in which constants are converted */
21ab449a 36typedef unsigned long U_CONSZ;/* unsigned version of the above */
ac9b083d
RC
37typedef long OFFSZ; /* size in which offsets are kept */
38
39#define CONFMT "%ld" /* format for printing constants */
40#define LABFMT "L%d" /* format for printing labels */
41
42#define CCTRANS(x) x /* character set macro */
43
44/*
45 * Register cookies for stack pointer and argument pointer
46 */
47#define STKREG 13 /* stack pointer */
48#define ARGREG 12 /* off frame pointer */
49
50/*
51 * Maximum and minimum register variables
52 */
53#define MINRVAR 6 /* use R6 thru ... */
54#define MAXRVAR 11 /* ... R11 */
55
56#define BACKAUTO /* stack grows negatively for automatics */
57#define BACKTEMP /* stack grows negatively for temporaries */
58#define FIELDOPS /* show field hardware support on VAX */
59#define RTOLBYTES /* bytes are numbered from right to left */
22f36898
DS
60#define ADDROREG /* can unwind &o, where o is OREG */
61
62#define ASSTRINGS /* assembler handles string initializations */
63#define STABDOT /* assembler understands .stabd */
64#define LCOMM /* assembler supports .lcomm */
ac9b083d
RC
65
66#define ENUMSIZE(high,low) INT /* enums are always stored in full int */
67
22f36898
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
88bb0c9f
KM
72#ifndef ncopy
73#define ncopy(q, p) ((q)->in = (p)->in)
74#endif
22f36898
DS
75
76#define aobeg()
77#define aocode(p)
78#define aoend()
501b7520
DS
79
80#define PRTDCON /* use machine-specific prtdcon routine */
81extern prtdcon();
ac9b083d 82#endif