|
|
1.1 ! root 1: /* macdefs.h 1.7 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 SZINT ! 9: #define AUTOINIT (13*SZINT) ! 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: #define ACONFMT "$0x%lx" /* format for printing address constants */ ! 36: #define CONFMT "%ld" /* format for printing constants */ ! 37: #define LABFMT "L%d" /* format for printing labels */ ! 38: ! 39: typedef long CONSZ; /* size in which constants are converted */ ! 40: typedef unsigned long U_CONSZ;/* unsigned version of the above */ ! 41: typedef long OFFSZ; /* size in which offsets are kept */ ! 42: ! 43: #define CCTRANS(x) x /* character set macro */ ! 44: ! 45: /* ! 46: * Register cookie for stack pointer. ! 47: */ ! 48: #define STKREG 13 /* stack pointer */ ! 49: ! 50: /* ! 51: * Maximum and minimum register variables ! 52: */ ! 53: #define MINRVAR 6 /* use R6 thru ... */ ! 54: #define MAXRVAR 12 /* ... R12 */ ! 55: ! 56: #define BACKAUTO /* stack grows negatively for automatics */ ! 57: #define BACKTEMP /* stack grows negatively for temporaries */ ! 58: /*#define FIELDOPS /* no hardware field support */ ! 59: /*#define RTOLBYTES /* bytes are number from left to right */ ! 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: #define SPRECC /* double only arithmetic not supported */ ! 66: ! 67: #define ENUMSIZE(high,low) INT /* enums are always stored in full int */ ! 68: ! 69: #define FIXDEF(p) if (!nerrors) outstab(p); else ! 70: #define FIXARG(p) if (!nerrors) fixarg(p); else ! 71: #define FIXSTRUCT(p,q) if (!nerrors) outstruct(p,q); else ! 72: ! 73: #ifndef ncopy ! 74: #define ncopy(q, p) ((q)->in = (p)->in) ! 75: #endif ! 76: ! 77: #define aobeg() ! 78: #define aocode(p) ! 79: #define aoend() ! 80: ! 81: #define PRTDCON /* use machine-specific prtdcon routine */ ! 82: extern prtdcon(); ! 83: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.