1*34577Sdonn /* macdefs.h 4.6 88/05/31 */ 218402Sralph 318402Sralph #ifndef _MACDEFS_ 418402Sralph #define _MACDEFS_ 518402Sralph 618402Sralph #define makecc(val,i) lastcon = (lastcon<<8)|((val<<24)>>24); 718402Sralph 818402Sralph #define ARGINIT 32 918402Sralph #define AUTOINIT 0 1018402Sralph 1118402Sralph /* 1218402Sralph * Storage space requirements 1318402Sralph */ 1418402Sralph #define SZCHAR 8 1518402Sralph #define SZINT 32 1618402Sralph #define SZFLOAT 32 1718402Sralph #define SZDOUBLE 64 1818402Sralph #define SZLONG 32 1918402Sralph #define SZSHORT 16 2018402Sralph #define SZPOINT 32 2118402Sralph 2218402Sralph /* 2318402Sralph * Alignment constraints 2418402Sralph */ 2518402Sralph #define ALCHAR 8 2618402Sralph #define ALINT 32 2718402Sralph #define ALFLOAT 32 2818402Sralph #define ALDOUBLE 32 2918402Sralph #define ALLONG 32 3018402Sralph #define ALSHORT 16 3118402Sralph #define ALPOINT 32 3218402Sralph #define ALSTRUCT 8 3318402Sralph #define ALSTACK 32 3418402Sralph 3518402Sralph typedef long CONSZ; /* size in which constants are converted */ 3634091Sbostic typedef unsigned long U_CONSZ;/* unsigned version of the above */ 3718402Sralph typedef long OFFSZ; /* size in which offsets are kept */ 3818402Sralph 3918402Sralph #define CONFMT "%ld" /* format for printing constants */ 4018402Sralph #define LABFMT "L%d" /* format for printing labels */ 4118402Sralph 4218402Sralph #define CCTRANS(x) x /* character set macro */ 4318402Sralph 4418402Sralph /* 4518402Sralph * Register cookies for stack pointer and argument pointer 4618402Sralph */ 4718402Sralph #define STKREG 13 /* stack pointer */ 4818402Sralph #define ARGREG 12 /* off frame pointer */ 4918402Sralph 5018402Sralph /* 5118402Sralph * Maximum and minimum register variables 5218402Sralph */ 5318402Sralph #define MINRVAR 6 /* use R6 thru ... */ 5418402Sralph #define MAXRVAR 11 /* ... R11 */ 5518402Sralph 5618402Sralph #define BACKAUTO /* stack grows negatively for automatics */ 5718402Sralph #define BACKTEMP /* stack grows negatively for temporaries */ 5818402Sralph #define FIELDOPS /* show field hardware support on VAX */ 5918402Sralph #define RTOLBYTES /* bytes are numbered from right to left */ 6032945Sdonn #define ADDROREG /* can unwind &o, where o is OREG */ 6118402Sralph 6232945Sdonn #define ASSTRINGS /* assembler handles string initializations */ 6332945Sdonn #define STABDOT /* assembler understands .stabd */ 6432945Sdonn #define LCOMM /* assembler supports .lcomm */ 6532945Sdonn 6618402Sralph #define ENUMSIZE(high,low) INT /* enums are always stored in full int */ 6718402Sralph 6832945Sdonn #define FIXDEF(p) if (!nerrors) outstab(p); else 6932945Sdonn #define FIXARG(p) if (!nerrors) fixarg(p); else 7032945Sdonn #define FIXSTRUCT(p,q) if (!nerrors) outstruct(p,q); else 7132945Sdonn 7224419Smckusick #ifndef ncopy 7324419Smckusick #define ncopy(q, p) ((q)->in = (p)->in) 7418402Sralph #endif 7532945Sdonn 7632945Sdonn #define aobeg() 7732945Sdonn #define aocode(p) 7832945Sdonn #define aoend() 7932946Sdonn 8032946Sdonn #define PRTDCON /* use machine-specific prtdcon routine */ 8132946Sdonn extern prtdcon(); 8224419Smckusick #endif 83