\r
SHELL = cmd.exe\r
\r
-.PHONY: all fulltest quicktest funcpointer cast abstract\r
-.PHONY: version help abstptr abstract alias alttypes ansireserved \r
-.PHONY: argorder blocks break cases cast charlit \r
-.PHONY: clauses commentchar \r
-.PHONY: compdestroy constannot controldepth csyntax czechnames czechoslovaknames \r
-.PHONY: deadparam decl enum exports external fields fileio flags forbody format funcpointer glob globals \r
-.PHONY: impabstract init inparam internal iter keep libs lintcomments \r
-.PHONY: list macros macrosef merge mergestate modifies modtest moduncon mongoincludes \r
-.PHONY: noeffect null observer oldstyle outglob outparam postnotnull preds prefixes printflike rc \r
-.PHONY: refcounts release repexpose returned sharing slovaknames special\r
-.PHONY: specclauses stack staticarray \r
-.PHONY: strings structassign nullret\r
-.PHONY: tainted typequals ud ulstypes union unreachable unused ullint unsignedcompare void\r
-.PHONY: db1 db2 db3 tests2.2 tests2.2a tests2.4 tests2.5\r
-.PHONY: all test fulltest expects quicktest\r
-.PHONY: warnuse metastate\r
-.PHONY: linked freearray\r
-.PHONY: sizeoftest\r
-.PHONY: bufferTest\r
-.PHONY: simplebufferConstraintTests\r
-.PHONY: moreBufferTests\r
-.PHONY: maxset\r
-.PHONY: globalbufferannotation\r
-.PHONY: strchr\r
-.PHONY: for\r
-\r
.SUFFIXES: .out .expect .c .lcl .h .lh .diff\r
\r
# -u show context\r
SPLINTRN = $(SPLINTP) -hints -booltype "bool"\r
SPLINTR = $(SPLINTRN) -exportlocal +debugfcnconstraint\r
\r
-SPLINTRNNEST = $(SPLINTPNEST) -hints -booltype "bool"\r
+SPLINTRNNEST = $(SPLINTPNEST) -hints -booltype bool\r
SPLINTRNEST = $(SPLINTRNNEST) -exportlocal +debugfcnconstraint\r
\r
###\r
### rcfiles not included becuase file names will not match exactly\r
###\r
+\r
UNITTESTS = \\r
help \\r
abstptr abstract alias alttypes ansireserved argorder \\r
- args arraydims blocks break cases cast charlit clauses commentchar compdestroy \\r
- constannot controldepth csyntax czechnames czechoslovaknames deadparam \\r
- decl divzero enum exports external fields flags forbody format freearray \\r
+ args arraydims arrayinit arraylit blocks break cases cast chararraylit charlit clauses commentchar compdestroy \\r
+ compoundliterals compoundstmt constannot controldepth csyntax czechnames czechoslovaknames deadparam \\r
+ decl divzero enum enumtag exports external fields flags forbody format freearray \\r
funcpointer functionmacro glob globals impabstract info init inparam internal iter keep libs \\r
- linked lintcomments list loopexec \\r
+ linked lintcomments list longint loopexec looptesteffect \\r
macros macrosef merge mergenull modifies modtest moduncon \\r
- mongoincludes mystrncat noeffect null observer oldstyle outglob outparam \\r
+ mongoincludes mystrncat noeffect null nullret nullassign numabstract observer oldstyle outglob outparam \\r
parentype postnotnull preds prefixes printflike rc refcounts release repexpose \\r
- returned sharing shifts slovaknames \\r
+ returned sharing shifts sizesigns slovaknames \\r
specclauses \\r
special stack staticarray strings \\r
stringliteral \\r
- structassign typequals ud ulstypes union unioninit unreachable unsignedcompare \\r
+ structassign typequals typeof ud ulstypes union unioninit \\r
+ unnamedsu unreachable unsignedcompare \\r
unused ullint utypes void widestrings\r
\r
UNITEXPECTS = $(addsuffix .expect, $(UNITTESTS))\r
\r
### warnuse doesn't work yet!\r
-SUBDIRTESTS = metastate mergestate tainted fileio \\r
+SUBDIRTESTS1 = metastate mergestate fileio \\r
simplebufferConstraintTests moreBufferTests moreBufferTests2 globalbufferannotation \\r
- maxset strchr for manual\\r
-tests2.2 tests2.4 tests2.5 db1 db2 db3\r
+ maxset strchr sizeoftest for manual\r
+SUBDIRTESTS1 = tests2.5 db1 db2 db3\r
+SUBDIRTESTS2 = tainted tests2.2 tests2.4 \r
+SUBDIRTESTS = $(SUBDIRTESTS1) $(SUBDIRTESTS2)\r
\r
SPLINTTESTS = $(UNITTESTS) $(SUBDIRTESTS)\r
\r
\r
help:\r
-@$(SPLINT)\r
- #@LARCH_PATH=/dev/null; $(SPLINT) -nof empty.lcl\r
- @$(SPLINTP) -help\r
- @$(SPLINTP) -asdf\r
- @$(SPLINTP) +boolint +boolint \r
- @$(SPLINTP) -help flags alpha\r
+ -@$(SPLINT) -help\r
+ -@$(SPLINTP) -asdf\r
+ -@$(SPLINTP) +boolint +boolint \r
+ -@$(SPLINT) -help flags alpha\r
+\r
+### Rules for tests start here\r
\r
.PHONY: abstptr\r
abstptr:\r
$(SPLINTR) arraydims.c -varuse -expect 2\r
$(SPLINTR) arraydims.c -initsize -varuse\r
\r
+.PHONY: arrayinit\r
+arrayinit:\r
+ $(SPLINTR) arrayinit.c -expect 9\r
+\r
+.PHONY: arraylit\r
+arraylit:\r
+ $(SPLINTR) arraylit.c -expect 2\r
+ $(SPLINTR) arraylit.c +stringliteralsmaller -expect 4\r
+\r
.PHONY: blocks\r
blocks:\r
$(SPLINTR) blocks.c -expect 4\r
$(SPLINTR) cast -accessmodule -expect 20\r
$(SPLINTRN) cast2.c +checks -exportlocal -exportheader -expect 3\r
\r
+.PHONY: chararraylit\r
+chararraylit:\r
+ $(SPLINTR) chararraylit.c -expect 2\r
+\r
### Two addition errors detected with 2.5 with -numliteral.\r
\r
+### evans 2002-12-15: finds one more but in charlit\r
.PHONY: charlit\r
charlit:\r
$(SPLINTR) +hints charlit.c -expect 4\r
$(SPLINTR) +hints -numliteral charlit.c -expect 6\r
- $(SPLINTR) +hints charlit.c +charintliteral +ignoresigns\r
+ $(SPLINTR) +hints charlit.c +charintliteral +ignoresigns -expect 1\r
\r
.PHONY: clauses\r
clauses: \r
$(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader -expect 1\r
$(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy -expect 2\r
$(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3\r
- $(SPLINTRN) compdestroy.c +strict +partial -exportheader -expect 3\r
+ $(SPLINTRN) compdestroy.c +strict +partial -exportheader -expect 4\r
+\r
+.PHONY: compoundliterals\r
+compoundliterals:\r
+ ${SPLINTRN} compoundliterals.c \r
+\r
+.PHONY: compoundstmt\r
+compoundstmt:\r
+ ${SPLINTRN} compoundstmt.c -expect 3\r
\r
.PHONY: constannot\r
constannot:\r
.PHONY: decl\r
decl:\r
$(SPLINTR) decl.c -expect 2\r
- $(SPLINTRN) decl.c +strict -exportlocal -expect 5\r
+ $(SPLINTRN) decl.c +strict -exportlocal -expect 6\r
$(SPLINTR) decl2 -expect 4\r
\r
.PHONY: divzero\r
$(SPLINTR) enum -expect 16\r
$(SPLINTR) enum -misscase -expect 14\r
\r
+.PHONY: enumtag\r
+enumtag:\r
+ $(SPLINTR) enumtag.c -expect 2\r
+\r
.PHONY: exports\r
exports:\r
$(SPLINTR) exports.c +exporttype +exportvar +exportfcn +topuse +typeuse -expect 6\r
### libs\r
### 2001-05-22: 2 new errors found (fixed spec of signal)\r
### 2001-05-30: 3 new errors found (formatconst)\r
+### 2002-07-08: 2 new errors found (getc modifies errno)\r
\r
.PHONY: libs\r
libs:\r
$(SPLINTR) libs.c +longunsignedunsignedintegral -expect 18\r
$(SPLINTR) libs.c -expect 22\r
$(SPLINTR) libs.c +globunspec +modunspec -expect 25\r
- $(SPLINTR) libs.c +strictlib +globunspec +modunspec -expect 42\r
+ $(SPLINTR) libs.c +strictlib +globunspec +modunspec -expect 44\r
\r
.PHONY: lintcomments\r
lintcomments:\r
list:\r
$(SPLINTR) list.c -expect 3\r
\r
+###\r
+### 2002-12-12: Added test case for +longint and +shortint flags\r
+###\r
+\r
+.PHONY: longint\r
+longint:\r
+ $(SPLINTR) longint.c -expect 3\r
+ $(SPLINTR) longint.c +longint -expect 2\r
+ $(SPLINTR) longint.c +shortint -expect 2\r
+ $(SPLINTR) longint.c +shortint +longint -expect 0\r
+\r
###\r
### 2002-01-01: Added test case for obvious loop execution.\r
###\r
$(SPLINTR) loopexec.c -expect 1\r
$(SPLINTR) loopexec.c -obviousloopexec -expect 3\r
\r
+.PHONY: looptesteffect\r
+looptesteffect:\r
+ $(SPLINTR) looptesteffect.c -expect 1\r
+\r
.PHONY: macros\r
macros:\r
$(SPLINTR) macros -expect 17 \r
.PHONY: moduncon\r
moduncon:\r
$(SPLINTR) moduncon.c +moduncon -memchecks -expect 4\r
- $(SPLINTRN) moduncon.c +strict -exportlocal -expect 22\r
+ $(SPLINTRN) moduncon.c +strict +impboundsconstraints -exportlocal -expect 22 \r
\r
.PHONY: mongoincludes\r
mongoincludes:\r
$(SPLINTR) null1.c -null -mustdefine -expect 4\r
$(SPLINTR) null2.c -expect 11\r
$(SPLINTR) null3.c -expect 15\r
- $(SPLINTR) null3.c -warnunixlib +unixlib -expect 16\r
+ $(SPLINTR) null3.c +unixlib -expect 16\r
$(SPLINTR) null4.c -expect 1\r
$(SPLINTR) null5.c -expect 4\r
$(SPLINTR) null6 -expect 4\r
.PHONY: nullret\r
nullret:\r
$(SPLINTR) nullret.c -expect 2\r
- $(SPLINTR) -nullret nullret.c -expect 1\r
+ $(SPLINTR) -nullret nullret.c -expect 0\r
\r
.PHONY: nullassign\r
nullassign:\r
$(SPLINTR) nullassign.c -expect 2\r
$(SPLINTR) -nullassign nullassign.c -expect 1\r
\r
+### Added for 3.1 - evans 2002-12-14\r
+\r
+.PHONY: numabstract\r
+numabstract:\r
+ $(SPLINTR) numabstract.c -expect 11\r
+ $(SPLINTR) numabstract.c +numabstractlit -expect 9\r
+ $(SPLINTR) numabstract.c -numabstractcast -expect 10\r
+\r
#\r
# Before 2.4, expected one more because error was reported both as \r
# dependent and observer.\r
preds:\r
$(SPLINTR) +hints preds.c -expect 6\r
$(SPLINTRN) +hints preds.c -weak -expect 1\r
- $(SPLINTRN) +hints preds.c -strict -exportlocal -exportheader -expect 12\r
+ $(SPLINTRN) +hints preds.c -strict +impboundsconstraints -exportlocal -exportheader -expect 10\r
\r
.PHONY: prefixes\r
prefixes:\r
$(SPLINTR) prefixes.c -globalprefix "&G?_^" -expect 1\r
$(SPLINTR) prefixes.c -externalprefix "G" -expect 5\r
$(SPLINTR) prefixes.c -typeprefix "T" -externalprefix "G" -expect 4\r
-# herbert: unsolved problem with quoting the '*' here!\r
+# Herbert: this does not work under OS/2\r
# $(SPLINTR) prefixes.c -localprefix "?*" +localprefixexclude -expect 13\r
\r
.PHONY: printflike\r
\r
.PHONY: rcfiles\r
rcfiles:\r
- cd rcfiles; ${MAKE} SPLINT="$(SPLINTPNEST)"\r
+ cd rcfiles; ${MAKE} SPLINT="-$(SPLINTPNEST)"\r
\r
.PHONY: refcounts\r
refcounts:\r
$(SPLINTR) shifts.c -shiftimplementation -expect 3\r
$(SPLINTR) shifts.c -shiftnegative -expect 1\r
\r
+#drl comment this out until sizesigns is added to cvs\r
+\r
+### evans - added 2002-08-17: check warnings with arbitrary integral types\r
+sizesigns:\r
+ $(SPLINTR) +strict sizesigns.c -expect 5\r
+ $(SPLINTR) +strict +matchanyintegral sizesigns.c -expect 4\r
+\r
.PHONY: slovaknames\r
slovaknames:\r
$(SPLINTR) +hints slovaknames.c -expect 1\r
specclauses:\r
$(SPLINTR) specclauses.c -expect 6\r
$(SPLINTR) specclauses2.c -expect 8\r
- $(SPLINTR) specclauses3.c -expect 6\r
+ $(SPLINTR) specclauses3.c -expect 5\r
$(SPLINTR) specclauses4.c -expect 3\r
$(SPLINTR) specclauses5.c -expect 3\r
\r
staticarray:\r
$(SPLINTR) staticarray.c -expect 3\r
\r
+###\r
+### evans 2002-03-16: Default setting of stringliteralnoroomfinalnull changed\r
+### \r
+\r
.PHONY: stringliteral\r
stringliteral:\r
- $(SPLINTR) stringliteral.c +stringliteralnoroomfinalnull -expect 4\r
- $(SPLINTR) stringliteral.c -expect 3\r
+ $(SPLINTR) stringliteral.c -stringliteralnoroomfinalnull -expect 3\r
+ $(SPLINTR) stringliteral.c -expect 4\r
\r
.PHONY: strings\r
strings:\r
structassign:\r
$(SPLINTR) structassign.c -expect 4\r
\r
+.PHONY: typeof\r
+typeof:\r
+ $(SPLINTR) typeof.c -expect 2\r
+\r
.PHONY: typequals\r
typequals:\r
$(SPLINTR) typequals.c tq.lcl -expect 5\r
unioninit:\r
$(SPLINTR) unioninit.c -expect 2\r
\r
+.PHONY: unnamedsu\r
+unnamedsu:\r
+ $(SPLINTR) unnamedsu.c -expect 0\r
+\r
.PHONY: unreachable\r
unreachable:\r
$(SPLINTR) unreachable.c -expect 5\r
###\r
### 2001-12-30: Poor warnings reported by Peter Deutsch\r
###\r
+### 2002-07-03: removed warnings for datatype/macro definitions\r
+###\r
\r
.PHONY: utypes\r
utypes:\r
-# herbert: TODO\r
- -${SPLINTRN} utypes.c -expect 6\r
+ ${SPLINTRN} utypes.c -expect 2\r
\r
###\r
\r
buffertest:\r
$(SPLINTR) +bounds buffertest1.c -expect 5\r
\r
-.PHONY: $(SUBDIRTESTS)\r
-$(SUBDIRTESTS):\r
- $(MAKE) -C $@ SPLINT="$(SPLINTRNNEST)" \r
+.PHONY: $(SUBDIRTESTS1)\r
+$(SUBDIRTESTS1):\r
+ $(MAKE) -C $@ SPLINT="$(SPLINTRNNEST)"\r
+\r
+.PHONY: $(SUBDIRTESTS2)\r
+$(SUBDIRTESTS2):\r
+ $(MAKE) -C $@ SPLINT="$(SPLINTRNNEST)" -f Makefile.os2\r
\r
+# sizesigns.c sizesigns.expect \\r
+# Tell versions [3.59,3.63) of GNU make to not export all variables.\r
+# Otherwise a system limit (for SysV at least) may be exceeded.\r
+.NOEXPORT:\r