Module Name: src
Committed By: christos
Date: Fri Feb 4 23:32:44 UTC 2011
Modified Files:
src/usr.bin/xlint/lint1: Makefile op.h
Added Files:
src/usr.bin/xlint/lint1: Makefile.ops-c Makefile.ops-h ops.def
Log Message:
generate ops table dynamically. Will move the other table from tree.c there
too.
To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/usr.bin/xlint/lint1/Makefile
cvs rdiff -u -r0 -r1.1 src/usr.bin/xlint/lint1/Makefile.ops-c \
src/usr.bin/xlint/lint1/Makefile.ops-h src/usr.bin/xlint/lint1/ops.def
cvs rdiff -u -r1.4 -r1.5 src/usr.bin/xlint/lint1/op.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/xlint/lint1/Makefile
diff -u src/usr.bin/xlint/lint1/Makefile:1.45 src/usr.bin/xlint/lint1/Makefile:1.46
--- src/usr.bin/xlint/lint1/Makefile:1.45 Sun Jul 11 08:07:32 2010
+++ src/usr.bin/xlint/lint1/Makefile Fri Feb 4 18:32:44 2011
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.45 2010/07/11 12:07:32 mrg Exp $
+# $NetBSD: Makefile,v 1.46 2011/02/04 23:32:44 christos Exp $
.include <bsd.own.mk>
@@ -34,4 +34,7 @@
DPADD+= ${LIBL}
.endif
+.include "Makefile.ops-h"
+.include "Makefile.ops-c"
+
.include <bsd.prog.mk>
Index: src/usr.bin/xlint/lint1/op.h
diff -u src/usr.bin/xlint/lint1/op.h:1.4 src/usr.bin/xlint/lint1/op.h:1.5
--- src/usr.bin/xlint/lint1/op.h:1.4 Fri Apr 25 18:18:34 2008
+++ src/usr.bin/xlint/lint1/op.h Fri Feb 4 18:32:44 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: op.h,v 1.4 2008/04/25 22:18:34 christos Exp $ */
+/* $NetBSD: op.h,v 1.5 2011/02/04 23:32:44 christos Exp $ */
/*
* Copyright (c) 1994, 1995 Jochen Pohl
@@ -56,68 +56,4 @@
const char *m_name; /* name of op. */
} mod_t;
-typedef enum {
- NOOP = 0,
- ARROW,
- POINT,
- NOT,
- COMPL,
- INC,
- DEC,
- INCBEF,
- DECBEF,
- INCAFT,
- DECAFT,
- UPLUS,
- UMINUS,
- STAR,
- AMPER,
- MULT,
- DIV,
- MOD,
- PLUS,
- MINUS,
- SHL,
- SHR,
- LT,
- LE,
- GT,
- GE,
- EQ,
- NE,
- AND,
- XOR,
- OR,
- LOGAND,
- LOGOR,
- QUEST,
- COLON,
- ASSIGN,
- MULASS,
- DIVASS,
- MODASS,
- ADDASS,
- SUBASS,
- SHLASS,
- SHRASS,
- ANDASS,
- XORASS,
- ORASS,
- NAME,
- CON,
- STRING,
- FSEL,
- CALL,
- COMMA,
- CVT,
- ICALL,
- LOAD,
- PUSH,
- RETURN,
- REAL,
- IMAG,
- INIT, /* pseudo op, not used in trees */
- CASE, /* pseudo op, not used in trees */
- FARG /* pseudo op, not used in trees */
-#define NOPS ((int)FARG + 1)
-} op_t;
+#include "ops.h"
Added files:
Index: src/usr.bin/xlint/lint1/Makefile.ops-c
diff -u /dev/null src/usr.bin/xlint/lint1/Makefile.ops-c:1.1
--- /dev/null Fri Feb 4 18:32:44 2011
+++ src/usr.bin/xlint/lint1/Makefile.ops-c Fri Feb 4 18:32:44 2011
@@ -0,0 +1,9 @@
+# $NetBSD: Makefile.ops-c,v 1.1 2011/02/04 23:32:44 christos Exp $
+
+ops.c: ops.def
+ ${_MKTARGET_CREATE}
+ AWK=${TOOL_AWK:Q} ${HOST_SH} ${.CURDIR}/mkops -c ${.ALLSRC} > ${.TARGET}
+
+SRCS+= ops.c
+CLEANFILES+= ops.c
+DPSRCS+= ops.c
Index: src/usr.bin/xlint/lint1/Makefile.ops-h
diff -u /dev/null src/usr.bin/xlint/lint1/Makefile.ops-h:1.1
--- /dev/null Fri Feb 4 18:32:44 2011
+++ src/usr.bin/xlint/lint1/Makefile.ops-h Fri Feb 4 18:32:44 2011
@@ -0,0 +1,10 @@
+# $NetBSD: Makefile.ops-h,v 1.1 2011/02/04 23:32:44 christos Exp $
+
+ops.h: ops.def
+ ${_MKTARGET_CREATE}
+ AWK=${TOOL_AWK:Q} ${HOST_SH} ${.CURDIR}/mkops -h ${.ALLSRC} > ${.TARGET}
+
+CLEANFILES+= ops.h
+
+op.h: ops.h
+.BEGIN: ops.h
Index: src/usr.bin/xlint/lint1/ops.def
diff -u /dev/null src/usr.bin/xlint/lint1/ops.def:1.1
--- /dev/null Fri Feb 4 18:32:44 2011
+++ src/usr.bin/xlint/lint1/ops.def Fri Feb 4 18:32:44 2011
@@ -0,0 +1,62 @@
+no-op NOOP
+-> ARROW
+. POINT
+! NOT
+~ COMPL
+p + 1 INC
+p - 1 DEC
+++p INCBEF
+--p DECBEF
+p++ INCAFT
+p-- DECAFT
++p UPLUS
+-p UMINUS
+*p STAR
+& AMPER
+p * p MULT
+p / p DIV
+p % p MOD
+p + p PLUS
+p - p MINUS
+p << p SHL
+p >> p SHR
+p < p LT
+p <= p LE
+p > p GT
+p >= p GE
+p == p EQ
+p != p NE
+p & p AND
+p ^ p XOR
+p | p OR
+p && p LOGAND
+p || p LOGOR
+? QUEST
+: COLON
+p = p ASSIGN
+p *= p MULASS
+p /= p DIVASS
+p %= p MODASS
+p += p ADDASS
+p -= p SUBASS
+p << p SHLASS
+p >> p SHRASS
+p &= p ANDASS
+p ^= p XORASS
+p |= p ORASS
+n NAME
+const CON
+char * STRING
+fsel FSEL
+p() CALL
+, COMMA
+(cast)p CVT
+icall ICALL
+load LOAD
+push PUSH
+return RETURN
+p.re REAL
+p.im IMAG
+p = {} INIT /* pseudo op not used in trees */
+case CASE /* pseudo op not used in trees */
+f(p) FARG /* pseudo op not used in trees */