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