xref: /original-bsd/old/pcc/ccom.vax/macdefs.h (revision 0999a820)
1 /*	macdefs.h	4.6	88/05/31	*/
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 
35 typedef	long	CONSZ;		/* size in which constants are converted */
36 typedef	unsigned long	U_CONSZ;/* unsigned version of the above */
37 typedef	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 */
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 */
65 
66 #define ENUMSIZE(high,low) INT	/* enums are always stored in full int */
67 
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 
72 #ifndef ncopy
73 #define	ncopy(q, p)	((q)->in = (p)->in)
74 #endif
75 
76 #define aobeg()
77 #define aocode(p)
78 #define aoend()
79 
80 #define	PRTDCON			/* use machine-specific prtdcon routine */
81 extern	prtdcon();
82 #endif
83