BSD 4_3_Tahoe development
authorCSRG <csrg@ucbvax.Berkeley.EDU>
Wed, 1 Jun 1988 08:42:57 +0000 (00:42 -0800)
committerCSRG <csrg@ucbvax.Berkeley.EDU>
Wed, 1 Jun 1988 08:42:57 +0000 (00:42 -0800)
Work on file usr/src/lib/pcc/pcc.tahoe/macdefs.h

Synthesized-from: CSRG/cd2/4.3tahoe

usr/src/lib/pcc/pcc.tahoe/macdefs.h [new file with mode: 0644]

diff --git a/usr/src/lib/pcc/pcc.tahoe/macdefs.h b/usr/src/lib/pcc/pcc.tahoe/macdefs.h
new file mode 100644 (file)
index 0000000..9b2b01b
--- /dev/null
@@ -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