lint changes from donn@utah-cs.
[unix-history] / usr / src / old / pcc / c2.vax / c2.h
index 953be6f..134f5bd 100644 (file)
@@ -1,5 +1,5 @@
-/*static       char sccsid[] = "@(#)c2.h 4.4 %G%";*/
-/* @(#)c2.h 1.19 80/08/26 13:39:07 */
+/*     c2.h    4.9     85/03/19        */
+
 /*
  * Header for object code improver
  */
 /*
  * Header for object code improver
  */
 #define JBCS 18
 #define JBSS 19
 
 #define JBCS 18
 #define JBSS 19
 
+#define        JCC 20
+#define        JCS 21
+#define        JVC 22
+#define        JVS 23
+
+/*
+ *     When the new opcodes were added, the relative
+ *     ordering of the first 3 (those that are not float)
+ *     had to be retained, so that other parts of the program
+ *     were not broken.
+ *
+ *     In addition, the distance between OP3 and OP2 must be preserved.
+ *     The order of definitions above OP2 must not be changed.
+ *
+ *     Note that these definitions DO NOT correspond to
+ *     those definitions used in as, adb and sdb.
+ */
 #define        BYTE    1
 #define        WORD    2
 #define LONG   3
 #define        BYTE    1
 #define        WORD    2
 #define LONG   3
-#define        FLOAT   4
-#define        DOUBLE  5
+#define        FFLOAT  4
+#define        DFLOAT  5
 #define QUAD   6
 #define OP2    7
 #define OP3    8
 #define QUAD   6
 #define OP2    7
 #define OP3    8
-#define OPB 9
-#define OPX 10
+#define OPB    9
+#define OPX    10
+#define        GFLOAT  11
+#define        HFLOAT  12
+#define OCTA   13
 
 #define T(a,b) (a|((b)<<8))
 #define U(a,b) (a|((b)<<4))
 
 #define T(a,b) (a|((b)<<8))
 #define U(a,b) (a|((b)<<4))
@@ -106,8 +126,13 @@ struct optab {
 } optab[];
 
 struct node {
 } optab[];
 
 struct node {
-       char    op;
-       char    subop;
+       union {
+               struct {
+                       char op_op;
+                       char op_subop;
+               } un_op;
+               short   un_combop;
+       } op_un;
        short   refc;
        struct  node    *forw;
        struct  node    *back;
        short   refc;
        struct  node    *forw;
        struct  node    *back;
@@ -118,9 +143,9 @@ struct node {
        short   seq;
 };
 
        short   seq;
 };
 
-struct {
-       short   combop;
-};
+#define op op_un.un_op.op_op
+#define subop op_un.un_op.op_subop
+#define combop op_un.un_combop
 
 char   line[512];
 struct node    first;
 
 char   line[512];
 struct node    first;
@@ -144,7 +169,7 @@ int nbj;
 int nfield;
 
 int    nchange;
 int nfield;
 
 int    nchange;
-int    isn;
+long   isn;
 int    debug;
 char   *lasta;
 char   *lastr;
 int    debug;
 char   *lasta;
 char   *lastr;
@@ -162,10 +187,16 @@ char      ccloc[C2_ASIZE];
 #define RT4 15
 #define        LABHS   127
 
 #define RT4 15
 #define        LABHS   127
 
-struct { char lbyte; };
-
 char *copy();
 long getnum();
 struct node *codemove();
 struct node *insertl();
 struct node *nonlab();
 char *copy();
 long getnum();
 struct node *codemove();
 struct node *insertl();
 struct node *nonlab();
+struct node *alloc();
+
+#ifdef notdef
+#define decref(p) \
+       ((p) && --(p)->refc <= 0 ? nrlab++, delnode(p) : 0)
+#define delnode(p) \
+       ((p)->back->forw = (p)->forw, (p)->forw->back = (p)->back)
+#endif notdef