xref: /csrg-svn/old/pcc/ccom.vax/macdefs.h (revision 24419)
1 /*	macdefs.h	4.2	85/08/23	*/
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	long	OFFSZ;		/* size in which offsets are kept */
37 
38 #define CONFMT	"%ld"		/* format for printing constants */
39 #define LABFMT	"L%d"		/* format for printing labels */
40 
41 #define CCTRANS(x) x		/* character set macro */
42 
43 /*
44  * Register cookies for stack pointer and argument pointer
45  */
46 #define STKREG	13		/* stack pointer */
47 #define ARGREG	12		/* off frame pointer */
48 
49 /*
50  * Maximum and minimum register variables
51  */
52 #define MINRVAR	6		/* use R6 thru ... */
53 #define MAXRVAR	11		/* ... R11 */
54 
55 #define BACKAUTO		/* stack grows negatively for automatics */
56 #define BACKTEMP		/* stack grows negatively for temporaries */
57 #define FIELDOPS		/* show field hardware support on VAX */
58 #define RTOLBYTES		/* bytes are numbered from right to left */
59 
60 #define ENUMSIZE(high,low) INT	/* enums are always stored in full int */
61 
62 #define ADDROREG
63 #define FIXDEF(p) outstab(p)
64 #define FIXARG(p) fixarg(p)
65 #ifndef ncopy
66 #define	ncopy(q, p)	((q)->in = (p)->in)
67 #endif
68 #endif
69