1 /* macdefs.h 4.3 87/12/11 */ 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 #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 */ 64 65 #define ENUMSIZE(high,low) INT /* enums are always stored in full int */ 66 67 #define FIXDEF(p) if (!nerrors) outstab(p); else 68 #define FIXARG(p) if (!nerrors) fixarg(p); else 69 #define FIXSTRUCT(p,q) if (!nerrors) outstruct(p,q); else 70 71 #ifndef ncopy 72 #define ncopy(q, p) ((q)->in = (p)->in) 73 #endif 74 75 #define aobeg() 76 #define aocode(p) 77 #define aoend() 78 #define deflab(m) if (!nerrors) printf("L%d:\n", m); else 79 #endif 80