From: CSRG Date: Wed, 1 Jun 1988 08:42:57 +0000 (-0800) Subject: BSD 4_3_Tahoe development X-Git-Tag: BSD-4_3_Net_1^2~96 X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/commitdiff_plain/9cd61c20e32ad2b848aa8a958ab693f45da4b041 BSD 4_3_Tahoe development Work on file usr/src/lib/pcc/pcc.tahoe/macdefs.h Synthesized-from: CSRG/cd2/4.3tahoe --- diff --git a/usr/src/lib/pcc/pcc.tahoe/macdefs.h b/usr/src/lib/pcc/pcc.tahoe/macdefs.h new file mode 100644 index 0000000000..9b2b01b8e3 --- /dev/null +++ b/usr/src/lib/pcc/pcc.tahoe/macdefs.h @@ -0,0 +1,83 @@ +/* macdefs.h 1.7 88/05/31 */ + +#ifndef _MACDEFS_ +#define _MACDEFS_ + +#define makecc(val,i) lastcon = (lastcon<<8)|((val<<24)>>24); + +#define ARGINIT SZINT +#define AUTOINIT (13*SZINT) + +/* + * Storage space requirements. + */ +#define SZCHAR 8 +#define SZINT 32 +#define SZFLOAT 32 +#define SZDOUBLE 64 +#define SZLONG 32 +#define SZSHORT 16 +#define SZPOINT 32 + +/* + * Alignment constraints + */ +#define ALCHAR 8 +#define ALINT 32 +#define ALFLOAT 32 +#define ALDOUBLE 32 +#define ALLONG 32 +#define ALSHORT 16 +#define ALPOINT 32 +#define ALSTRUCT 8 +#define ALSTACK 32 + +#define ACONFMT "$0x%lx" /* format for printing address constants */ +#define CONFMT "%ld" /* format for printing constants */ +#define LABFMT "L%d" /* format for printing labels */ + +typedef long CONSZ; /* size in which constants are converted */ +typedef unsigned long U_CONSZ;/* unsigned version of the above */ +typedef long OFFSZ; /* size in which offsets are kept */ + +#define CCTRANS(x) x /* character set macro */ + +/* + * Register cookie for stack pointer. + */ +#define STKREG 13 /* stack pointer */ + +/* + * Maximum and minimum register variables + */ +#define MINRVAR 6 /* use R6 thru ... */ +#define MAXRVAR 12 /* ... R12 */ + +#define BACKAUTO /* stack grows negatively for automatics */ +#define BACKTEMP /* stack grows negatively for temporaries */ +/*#define FIELDOPS /* no hardware field support */ +/*#define RTOLBYTES /* bytes are number from left to right */ +#define ADDROREG /* can unwind &o, where o is OREG */ + +#define ASSTRINGS /* assembler handles string initializations */ +#define STABDOT /* assembler understands .stabd */ +#define LCOMM /* assembler supports .lcomm */ +#define SPRECC /* double only arithmetic not supported */ + +#define ENUMSIZE(high,low) INT /* enums are always stored in full int */ + +#define FIXDEF(p) if (!nerrors) outstab(p); else +#define FIXARG(p) if (!nerrors) fixarg(p); else +#define FIXSTRUCT(p,q) if (!nerrors) outstruct(p,q); else + +#ifndef ncopy +#define ncopy(q, p) ((q)->in = (p)->in) +#endif + +#define aobeg() +#define aocode(p) +#define aoend() + +#define PRTDCON /* use machine-specific prtdcon routine */ +extern prtdcon(); +#endif