X-Git-Url: http://andersk.mit.edu/gitweb/splint.git/blobdiff_plain/e0b363adba5a451083681653ca600d1d6fee9f07..368f75ae50489f85a5f83f997f050653f48e5d18:/test/Makefile.am diff --git a/test/Makefile.am b/test/Makefile.am index 4e26591..d2a751a 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -4,19 +4,25 @@ AUTOMAKE_OPTIONS = 1.5 foreign ## Use this to configure diff output -DIFFFLAGS = -u +DIFFFLAGS = + +# -u show context + +#drl 3/27/2002 get the test suit to print a warning when splint is built under /usr/ -## Set up the splint commands -SPLINT = $(top_builddir)/src/splint$(EXEEXT) +## Set up the splint commands -unexport LARCH_PATH -unexport LCLIMPORTDIR +#SPLINT = valgrind --leak-resolution=high --num-callers=20 --show-reachable=no --leak-check=no $(top_builddir)/src/splint$(EXEEXT) +SPLINT = $(top_builddir)/src/splint$(EXEEXT) +### These are shell-specific +## unexport LARCH_PATH +## unexport LCLIMPORTDIR ### This is horrible! Can't we make top_builddir absolute? +#SPLINTNEST = valgrind --leak-resolution=high --num-callers=20 --show-reachable=no --leak-check=no ../$(top_builddir)/src/splint$(EXEEXT) SPLINTNEST = ../$(top_builddir)/src/splint$(EXEEXT) - SPLINTPNEST = @$(SPLINTNEST) -nof SPLINTP = @$(SPLINT) -nof @@ -28,37 +34,41 @@ SPLINTR = $(SPLINTRN) -exportlocal +debugfcnconstraint SPLINTRNNEST = $(SPLINTPNEST) -hints -booltype "bool" SPLINTRNEST = $(SPLINTRNNEST) -exportlocal +debugfcnconstraint -## Currently disabled tests: -## fileio tainted mergestate nullret nullassign warnuse metastate \ -## nullret nullassign warnuse - ### ### rcfiles not included becuase file names will not match exactly ### UNITTESTS = \ help \ - fileio tainted mergestate metastate sizeof buffertest \ - tests2.2 tests2.4 tests2.5 \ - simplebufferConstraintTests moreBufferTests moreBufferTests2 globalbufferannotation \ - maxset strchr for \ abstptr abstract alias alttypes ansireserved argorder \ - args blocks break cases cast charlit clauses commentchar compdestroy \ - constannot controldepth csyntax czechnames czechoslovaknames deadparam \ - decl enum exports external fields flags forbody format freearray \ - funcpointer functionmacro glob globals impabstract info init inparam internal iter keep libs \ - linked lintcomments list macros macrosef merge mergenull modifies modtest moduncon \ - mongoincludes mystrncat noeffect null observer oldstyle outglob outparam \ - postnotnull preds prefixes printflike rc refcounts release repexpose \ - returned sharing slovaknames specclauses special stack staticarray strings \ - structassign typequals ud ulstypes union unioninit unreachable unsignedcompare \ + args arraydims arrayinit arraylit blocks break cases cast chararraylit charlit clauses commentchar compdestroy \ + compoundliterals compoundstmt condifomit constannot controldepth csyntax czechnames czechoslovaknames deadparam \ + decl divzero enum enumtag exports external fields flags forbody format freearray \ + funcpointer functionmacro glob globals impabstract info init innerarray inparam internal iter keep libs \ + linked lintcomments list longint loopexec looptesteffect \ + macros macrosef malloc merge mergenull modifies modtest moduncon \ + mongoincludes mystrncat noeffect null nullret nullassign numabstract observer oldstyle outglob outparam \ + parentype postnotnull preds prefixes printflike rc refcounts release repexpose \ + returned russian sharing shifts sizesigns slovaknames \ + specclauses \ + special stack staticarray strings \ + stringliteral \ + structassign typequals typeof ud ulstypes union unioninit \ + unnamedsu unreachable unsignedcompare \ unused ullint utypes void widestrings UNITEXPECTS = $(addsuffix .expect, $(UNITTESTS)) -INTEGTESTS = db1 db2 db3 -INTEGEXPECTS = $(addsuffix .expect, $(INTEGTESTS)) +SUBDIRTESTS = metastate mergestate tainted fileio \ + simplebufferConstraintTests moreBufferTests moreBufferTests2 globalbufferannotation \ + maxset strchr sizeoftest for manual + +### warnuse doesn't work yet! +SUBDIRTESTS += tests2.2 +SUBDIRTESTS += tests2.4 +SUBDIRTESTS += tests2.5 +SUBDIRTESTS += db1 db2 db3 -SPLINTTESTS = $(UNITTESTS) $(INTEGTESTS) +SPLINTTESTS = $(UNITTESTS) $(SUBDIRTESTS) QUICKTESTS = db3 @@ -67,21 +77,32 @@ all check: fulltest .PHONY: version version: - -$(SPLINTP) -help version + -$(SPLINT) -help version .PHONY: help + help: -@$(SPLINT) - -@LARCH_PATH=/dev/null; $(SPLINT) -nof empty.lcl - -@$(SPLINTP) -help + -@$(SPLINT) -help -@$(SPLINTP) -asdf -@$(SPLINTP) +boolint +boolint - -@$(SPLINTP) -help flags alpha - -@$(SPLINTP) -help flags all + -@$(SPLINT) -help flags alpha + +#commenting these out for the release because they will almost always fail +#since the default will only fit one system +#Don't want to panic the user... +# -@$(SPLINT) -help flags all | $(GREP) -v "^larchpath " | $(GREP) -v "^lclimportdir " | $(GREP) -v " Path argument. Default: " | $(GREP) -v " Directory argument. Default: " | $(GREP) -v " lclimportdir " +# -@$(SPLINT) -help flags full | $(GREP) -v "^larchpath " | $(GREP) -v "^lclimportdir " | $(GREP) -v " Path argument. Default: " | $(GREP) -v " Directory argument. Default: " | $(GREP) -v " lclimportdir " +# -@$(SPLINT) -help flags manual | $(GREP) -v "^larchpath " | $(GREP) -v "^lclimportdir " | $(GREP) -v " Path argument. Default: " | $(GREP) -v " Directory argument. Default: " | $(GREP) -v " lclimportdir " + +#larch and lclimportdir have different hardcoded default paths so don't include the path in the output.. + .PHONY: clean-local clean-local: -rm -f *~ #*# *.o *.lcs a.out + -rm -f *.out + -rm *.lcd *.lh -cd db1; $(MAKE) clean -cd db2; $(MAKE) clean -cd db3; $(MAKE) clean @@ -101,15 +122,19 @@ $(SPLINT): ## The tests should really be re-done as shell-scripts or something... maybe ## autotest could be used once it's finished. -CLEANOUTPUT = $(GREP) -v "Splint 3." | $(GREP) -v "$(SPLINT)" | $(GREP) -v "^make.*\[[1-9]*\]:" | $(GREP) -v "config.status: creating test/Makefile" | $(GREP) -v "cd .. && " | $(GREP) -v "CONFIG_HEADERS=" | $(GREP) -v "CONFIG_FILES=" +CLEANOUTPUT = $(GREP) -v "Splint 3." | $(GREP) -v "$(SPLINT)" | $(GREP) -v "^make.*\[[1-9]*\]:" | $(GREP) -v "^gmake.*\[[1-9]*\]:" | $(GREP) -v "^gmake -e" | $(GREP) -v "^make -e" |$(GREP) -v "config.status: creating test/Makefile" | $(GREP) -v "cd .. && " | $(GREP) -v "CONFIG_HEADERS=" | $(GREP) -v "CONFIG_FILES=" + +#drl 12/07/2002 These rules for .c and .expect files don't make sense +# and they are confusing make dist so I'm taking them out. ## Not real C code -.c.expect: - $(MAKE) $* |& $(CLEANOUTPUT) >$*.expect && cat $*.expect +#.c.expect: +# $(MAKE) $* |& $(CLEANOUTPUT) >$*.expect && cat $*.expect +# +#.c.diff: +# $(MAKE) $* |& $(CLEANOUTPUT) >$*.out && diff $*.expect $*.out -.c.diff: - $(MAKE) $* |& $(CLEANOUTPUT) >$*.out && diff $*.expect $*.out #drl temporally take this out. #.PHONY: expects @@ -122,8 +147,11 @@ CLEANOUTPUT = $(GREP) -v "Splint 3." | $(GREP) -v "$(SPLINT)" | $(GREP) -v "^mak # cat $$TEST.expect; \ # done +CheckSystemDir = (pwd | grep -q "/usr" && echo "Warning tests which not run correctly when splint is built in /usr or a subdirectory under /usr. Build splint in a different directory or disregard test failures." ) + .PHONY: quicktest quicktest: + $(CheckSystemDir) @for TEST in $(QUICKTESTS); do \ echo "Checking $$TEST..."; \ $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.out && \ @@ -136,21 +164,12 @@ fulltest: @echo "Testing $(PACKAGE) $(VERSION)..." @echo @echo "Version Info:" - @$(SPLINTP) -help version - @$(SPLINTP) -help vars - @echo "" - @echo "Unit tests:" - @echo "" - @for TEST in $(UNITTESTS); do \ - echo "Checking $$TEST..."; \ - $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.out && \ - $(DIFF) $(DIFFFLAGS) $$TEST.expect $$TEST.out || \ - echo "*** FAIL ***"; \ - done + @$(SPLINT) -help version + @$(SPLINT) -help vars @echo "" - @echo "Integration tests:" + @echo "Tests:" @echo "" - @for TEST in $(INTEGTESTS); do \ + @for TEST in $(SPLINTTESTS); do \ echo "Checking $$TEST..."; \ $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.out && \ $(DIFF) $(DIFFFLAGS) $$TEST.expect $$TEST.out || \ @@ -159,32 +178,28 @@ fulltest: ### Rules for tests start here -SUBDIRTESTS = metastate mergestate tainted fileio warnuse ensuresclauses \ - simplebufferConstraintTests moreBufferTests moreBufferTests2 globalbufferannotation \ - maxset strchr for - .PHONY: abstptr abstptr: - $(SPLINTR) abstptr -expect 9 - $(SPLINTR) abstptr +voidabstract -expect 6 + -$(SPLINTR) abstptr -expect 9 + -$(SPLINTR) abstptr +voidabstract -expect 6 .PHONY: abstract abstract: - $(SPLINTR) abst_t.lcl commentcmd.c -expect 15 + -$(SPLINTR) abst_t.lcl commentcmd.c -expect 15 .PHONY: alias alias: - $(SPLINTR) +lh mut - $(SPLINTR) mut alias +globalias -expect 19 - $(SPLINTR) mut alias2 +globalias -expect 17 - $(SPLINTR) +lh alias3 -expect 14 - $(SPLINTR) +lh alias4 +boolint - $(SPLINTR) alias4 -pred +retalias -expect 6 - $(SPLINTR) +lh alias5 +memchecks -null -specundef -expect 5 + -$(SPLINTR) +lh mut + -$(SPLINTR) mut alias +globalias -expect 19 + -$(SPLINTR) mut alias2 +globalias -expect 17 + -$(SPLINTR) +lh alias3 -expect 14 + -$(SPLINTR) +lh alias4 +boolint + -$(SPLINTR) alias4 -pred +retalias -expect 6 + -$(SPLINTR) +lh alias5 +memchecks -null -specundef -expect 5 .PHONY: alttypes alttypes: - $(SPLINTR) alttypes.c -expect 2 + -$(SPLINTR) alttypes.c -expect 2 ### ### evans 2001-06-07 - updated nameCheck.c to reflect C9X. @@ -196,119 +211,155 @@ alttypes: .PHONY: ansireserved ansireserved: - $(SPLINTR) ansireserved.c +ansireserved -nolib -expect 9 - $(SPLINTR) ansireserved.c +ansireserved +ansireservedlocal -nolib -expect 11 - $(SPLINTRN) ansireserved.c +checks -exportlocal -exportheadervar -exportheader -expect 12 - $(SPLINTR) ansireserved2.c +ansireserved -expect 1 + -$(SPLINTR) ansireserved.c +ansireserved -nolib -expect 9 + -$(SPLINTR) ansireserved.c +ansireserved +ansireservedlocal -nolib -expect 11 + -$(SPLINTRN) ansireserved.c +checks -exportlocal -exportheadervar -exportheader -expect 12 + -$(SPLINTR) ansireserved2.c +ansireserved -expect 1 .PHONY: argorder argorder: - $(SPLINTR) argorder.c -expect 4 - $(SPLINTR) argorder2 -expect 5 - $(SPLINTR) argorder3.c -expect 8 - $(SPLINTR) argorder4 -expect 9 - $(SPLINTR) argorder4 -evalorder -expect 1 - $(SPLINTR) argorder5.c +evalorderuncon -expect 3 + -$(SPLINTR) argorder.c -expect 4 + -$(SPLINTR) argorder2 -expect 5 + -$(SPLINTR) argorder3.c -expect 8 + -$(SPLINTR) argorder4 -expect 9 + -$(SPLINTR) argorder4 -evalorder -expect 1 + -$(SPLINTR) argorder5.c +evalorderuncon -expect 3 .PHONY: args args: - $(SPLINTR) args -noeffect -expect 12 + -$(SPLINTR) args -noeffect -expect 12 + +.PHONY: arraydims +arraydims: + -$(SPLINTR) arraydims.c -varuse -expect 2 + -$(SPLINTR) arraydims.c -initsize -varuse + +.PHONY: arrayinit +arrayinit: + -$(SPLINTR) arrayinit.c -expect 9 + +.PHONY: arraylit +arraylit: + -$(SPLINTR) arraylit.c -expect 2 + -$(SPLINTR) arraylit.c +stringliteralsmaller -expect 4 .PHONY: blocks blocks: - $(SPLINTR) blocks.c -expect 4 - $(SPLINTR) blocks.c +ifblock +elseifcomplete -expect 7 - $(SPLINTR) blocks.c -ifempty +whileempty +whileblock -expect 3 - $(SPLINTR) blocks.c -ifempty +forempty +forblock -expect 3 - $(SPLINTR) blocks.c +allempty -expect 6 - $(SPLINTRN) blocks.c +strict -exportlocal +partial -exportheader -expect 11 + -$(SPLINTR) blocks.c -expect 4 + -$(SPLINTR) blocks.c +ifblock +elseifcomplete -expect 7 + -$(SPLINTR) blocks.c -ifempty +whileempty +whileblock -expect 3 + -$(SPLINTR) blocks.c -ifempty +forempty +forblock -expect 3 + -$(SPLINTR) blocks.c +allempty -expect 6 + -$(SPLINTRN) blocks.c +strict -exportlocal +partial -exportheader -expect 11 .PHONY: break break: - $(SPLINTR) break.c -expect 4 - $(SPLINTR) break.c +deepbreak -expect 6 - $(SPLINTR) break.c +deepbreak -looploopbreak -expect 5 + -$(SPLINTR) break.c -expect 4 + -$(SPLINTR) break.c +deepbreak -expect 6 + -$(SPLINTR) break.c +deepbreak -looploopbreak -expect 5 .PHONY: cases cases: - $(SPLINTR) cases.c -expect 5 - $(SPLINTR) cases2.c -expect 2 - $(SPLINTRN) cases2.c +checks -exportlocal -exportheader -expect 3 - $(SPLINTRN) cases2.c +checks -exportlocal -exportheader -branchstate -expect 3 + -$(SPLINTR) cases.c -expect 5 + -$(SPLINTR) cases2.c -expect 2 + -$(SPLINTRN) cases2.c +checks -exportlocal -exportheader -expect 3 + -$(SPLINTRN) cases2.c +checks -exportlocal -exportheader -branchstate -expect 3 .PHONY: cast cast: - $(SPLINTR) cast -accessmodule -expect 20 - $(SPLINTRN) cast2.c +checks -exportlocal -exportheader -expect 3 + -$(SPLINTR) cast -accessmodule -expect 20 + -$(SPLINTRN) cast2.c +checks -exportlocal -exportheader -expect 3 + +.PHONY: chararraylit +chararraylit: + -$(SPLINTR) chararraylit.c -expect 2 ### Two addition errors detected with 2.5 with -numliteral. +### evans 2002-12-15: finds one more but in charlit .PHONY: charlit charlit: - $(SPLINTR) +hints charlit.c -expect 4 - $(SPLINTR) +hints -numliteral charlit.c -expect 6 - $(SPLINTR) +hints charlit.c +charintliteral +ignoresigns + -$(SPLINTR) +hints charlit.c -expect 4 + -$(SPLINTR) +hints -numliteral charlit.c -expect 6 + -$(SPLINTR) +hints charlit.c +charintliteral +ignoresigns -expect 1 .PHONY: clauses clauses: - $(SPLINTR) clauses.c +memchecks -expect 4 - $(SPLINTR) clauses2.c +memchecks - $(SPLINTR) clauses3.c +memchecks -expect 2 - $(SPLINTR) clauses3.c +memchecks +unixlib -expect 3 + -$(SPLINTR) clauses.c +memchecks -expect 4 + -$(SPLINTR) clauses2.c +memchecks + -$(SPLINTR) clauses3.c +memchecks -expect 2 + -$(SPLINTR) clauses3.c +memchecks +unixlib -expect 3 .PHONY: commentchar commentchar: - $(SPLINTR) commentchar.c -expect 4 - $(SPLINTR) -commentchar '#' commentchar.c -expect 4 + -$(SPLINTR) commentchar.c -expect 4 + -$(SPLINTR) -commentchar '#' commentchar.c -expect 4 .PHONY: controldepth controldepth: - $(SPLINTR) +hints -controlnestdepth 2 controldepth.c -expect 2 - $(SPLINTR) +hints -controlnestdepth 1 controldepth.c -expect 2 + -$(SPLINTR) +hints -controlnestdepth 2 controldepth.c -expect 2 + -$(SPLINTR) +hints -controlnestdepth 1 controldepth.c -expect 2 + +### +### 1 extra warning reported for +strict now because of out-of-bounds read +### .PHONY: compdestroy compdestroy: - $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader -expect 1 - $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy -expect 2 - $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3 - $(SPLINTRN) compdestroy.c +strict +partial -exportheader -expect 3 + -$(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader -expect 1 + -$(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy -expect 2 + -$(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3 + -$(SPLINTRN) compdestroy.c +strict +partial -exportheader -expect 4 + +.PHONY: compoundliterals +compoundliterals: + ${SPLINTRN} compoundliterals.c + +.PHONY: compoundstmt +compoundstmt: + ${SPLINTRN} compoundstmt.c -expect 3 + +.PHONY: condifomit +condifomit: + ${SPLINTRN} -gnuextensions condifomit.c -expect 4 + ${SPLINTRN} +gnuextensions condifomit.c -expect 1 .PHONY: constannot constannot: - ${SPLINTRN} constannot.c +arraybounds -exportlocal -expect 2 + ${SPLINTRN} constannot.c +boundswrite -exportlocal -expect 2 .PHONY: csyntax csyntax: - $(SPLINTR) +quiet -incondefs csyntax.c -expect 1 - $(SPLINTR) +quiet csyntax2.c -expect 2 - $(SPLINTR) +quiet csyntax3.c -expect 1 - $(SPLINTR) +quiet -incondefs csyntax4.c - $(SPLINTR) +quiet csyntax5.c - $(SPLINTR) +quiet csyntax6.c - $(SPLINTR) +quiet csyntax7.c - $(SPLINTR) +quiet csyntax8.c - $(SPLINTR) +quiet csyntax9.c - $(SPLINTR) +quiet csyntax10.c - $(SPLINTR) +quiet csyntax11.c - $(SPLINTR) +quiet csyntax12.c - $(SPLINTR) +quiet csyntax13.c -expect 1 - $(SPLINTR) +quiet csyntax14.c - $(SPLINTR) +quiet csyntax15.c - $(SPLINTR) +quiet csyntax16.c -expect 2 - $(SPLINTR) +quiet csyntax17.c -expect 3 + -$(SPLINTR) +quiet -incondefs csyntax.c -expect 1 + -$(SPLINTR) +quiet csyntax2.c -expect 2 + -$(SPLINTR) +quiet csyntax3.c -expect 1 + -$(SPLINTR) +quiet -incondefs csyntax4.c + -$(SPLINTR) +quiet csyntax5.c + -$(SPLINTR) +quiet csyntax6.c + -$(SPLINTR) +quiet csyntax7.c + -$(SPLINTR) +quiet csyntax8.c + -$(SPLINTR) +quiet csyntax9.c + -$(SPLINTR) +quiet csyntax10.c + -$(SPLINTR) +quiet csyntax11.c + -$(SPLINTR) +quiet csyntax12.c + -$(SPLINTR) +quiet csyntax13.c -expect 1 + -$(SPLINTR) +quiet csyntax14.c + -$(SPLINTR) +quiet csyntax15.c + -$(SPLINTR) +quiet csyntax16.c -expect 2 + -$(SPLINTR) +quiet csyntax17.c -expect 3 .PHONY: czechnames czechnames: - $(SPLINTR) czechnames.c - $(SPLINTR) +hints +czech czechnames.c -expect 2 - $(SPLINTR) +hints +czech -czechvars czechnames.c -expect 1 - $(SPLINTR) +hints +czech -accessczech czechnames.c -expect 6 + -$(SPLINTR) czechnames.c + -$(SPLINTR) +hints +czech czechnames.c -expect 2 + -$(SPLINTR) +hints +czech -czechvars czechnames.c -expect 1 + -$(SPLINTR) +hints +czech -accessczech czechnames.c -expect 6 .PHONY: czechoslovaknames czechoslovaknames: - $(SPLINTR) +hints +czechoslovak czechnames.c -expect 1 - $(SPLINTR) +hints +czechoslovak slovaknames.c -expect 1 - $(SPLINTR) +hints +czechoslovak +slovakvars slovaknames.c -expect 2 + -$(SPLINTR) +hints +czechoslovak czechnames.c -expect 1 + -$(SPLINTR) +hints +czechoslovak slovaknames.c -expect 1 + -$(SPLINTR) +hints +czechoslovak +slovakvars slovaknames.c -expect 2 ### ### deadparam added 2001-05-27 @@ -325,39 +376,47 @@ deadparam: .PHONY: decl decl: - $(SPLINTR) decl.c -expect 2 - $(SPLINTRN) decl.c +strict -exportlocal -expect 5 - $(SPLINTR) decl2 -expect 4 + -$(SPLINTR) decl.c -expect 2 + -$(SPLINTRN) decl.c +strict -exportlocal -expect 6 + -$(SPLINTR) decl2 -expect 4 + +.PHONY: divzero +divzero: + -$(SPLINTR) divzero.c -varuse -expect 0 .PHONY: enum enum: - $(SPLINTR) enum -expect 16 - $(SPLINTR) enum -misscase -expect 14 + -$(SPLINTR) enum -expect 16 + -$(SPLINTR) enum -misscase -expect 14 + +.PHONY: enumtag +enumtag: + -$(SPLINTR) enumtag.c -expect 2 .PHONY: exports exports: - $(SPLINTR) exports.c +exporttype +exportvar +exportfcn +topuse +typeuse -expect 6 - $(SPLINTR) exports.c +exportany -expect 3 - $(SPLINTR) exports.c + -$(SPLINTR) exports.c +exporttype +exportvar +exportfcn +topuse +typeuse -expect 6 + -$(SPLINTR) exports.c +exportany -expect 3 + -$(SPLINTR) exports.c .PHONY: external external: - $(SPLINTR) external.c +partial - $(SPLINTR) external.c +partial +distinctexternalnames -expect 2 - $(SPLINTR) external.c -nolib +partial -externalnamelength 3 -expect 3 - $(SPLINTR) external.c -nolib +partial -externalnamelength 3 +externalnamecaseinsensitive -expect 3 - $(SPLINTR) external.c +partial -externalnamelength 3 -expect 4 + -$(SPLINTR) external.c +partial + -$(SPLINTR) external.c +partial +distinctexternalnames +ansi89limits -expect 2 + -$(SPLINTR) external.c -nolib +partial -externalnamelength 3 -expect 3 + -$(SPLINTR) external.c -nolib +partial -externalnamelength 3 +externalnamecaseinsensitive -expect 3 + -$(SPLINTR) external.c +partial -externalnamelength 3 -expect 4 .PHONY: fields fields: - $(SPLINTR) fields.c +memchecks -expect 6 - $(SPLINTR) fields2.c +memchecks -expect 5 - $(SPLINTR) fields3.c +memchecks + -$(SPLINTR) fields.c +memchecks -expect 6 + -$(SPLINTR) fields2.c +memchecks -expect 5 + -$(SPLINTR) fields3.c +memchecks .PHONY: flags flags: - $(SPLINTR) flags.c -expect 8 - $(SPLINTR) +nocomments flags.c -expect 2 + -$(SPLINTR) flags.c -expect 8 + -$(SPLINTR) +nocomments flags.c -expect 2 ### Added 2001-06-02 @@ -375,33 +434,33 @@ format: .PHONY: funcpointer funcpointer: - $(SPLINTR) +memchecks +noparams funcpointer.c -expect 18 + -$(SPLINTR) +memchecks +noparams funcpointer.c -expect 18 .PHONY: functionmacro functionmacro: - $(SPLINTR) functionmacro.c -expect 2 + -$(SPLINTR) functionmacro.c -expect 2 .PHONY: glob glob: - $(SPLINTR) glob -expect 4 - $(SPLINTR) glob -globuse -expect 3 - $(SPLINTR) glob +globunspec -expect 6 + -$(SPLINTR) glob -expect 4 + -$(SPLINTR) glob -globuse -expect 3 + -$(SPLINTR) glob +globunspec -expect 6 .PHONY: globals globals: - $(SPLINTR) -modifies globals.c -expect 5 - $(SPLINTR) -modifies globals.c +allglobals -expect 6 - $(SPLINTR) -modifies globals.c +impcheckedglobals -expect 6 - $(SPLINTR) -modifies globals.c -globals -checkstrictglobals -expect 2 - $(SPLINTR) -modifies globals.c +globunspec -expect 6 - $(SPLINTR) -modifies globals.c +globunspec +allglobals -expect 8 + -$(SPLINTR) -modifies globals.c -expect 5 + -$(SPLINTR) -modifies globals.c +allglobals -expect 6 + -$(SPLINTR) -modifies globals.c +impcheckedglobals -expect 6 + -$(SPLINTR) -modifies globals.c -globals -checkstrictglobals -expect 2 + -$(SPLINTR) -modifies globals.c +globunspec -expect 6 + -$(SPLINTR) -modifies globals.c +globunspec +allglobals -expect 8 # Was -accessfile .PHONY: impabstract impabstract: - $(SPLINTR) -accessmodule impabstract.c - $(SPLINTR) -accessmodule +hints +impabstract impabstract.c -expect 2 - $(SPLINTR) -accessmodule +hints +impabstract impabstract -expect 4 + -$(SPLINTR) -accessmodule impabstract.c + -$(SPLINTR) -accessmodule +hints +impabstract impabstract.c -expect 2 + -$(SPLINTR) -accessmodule +hints +impabstract impabstract -expect 4 ### ### evans 2001-12-30: Handle unrecognized pre-processor directives @@ -414,22 +473,29 @@ info: ### evans 2001-10-14: Expected errors updated .PHONY: init init: - $(SPLINTR) init.c -expect 14 - $(SPLINTRN) init.c +checks -exportlocal -exportheadervar -expect 17 + -$(SPLINTR) init.c -expect 14 + -$(SPLINTRN) init.c +checks -exportlocal -exportheadervar -expect 17 + +### evans 2003-09-16 +.PHONY: innerarray +innerarray: + -$(SPLINTR) innerarray.c -expect 10 + .PHONY: inparam inparam: - $(SPLINTR) inparam.c -expect 2 - $(SPLINTR) +impouts inparam.c -expect 1 + -$(SPLINTR) inparam.c -expect 2 + -$(SPLINTR) +impouts inparam.c -expect 1 .PHONY: internal internal: - $(SPLINTR) internal.c -expect 1 - $(SPLINTR) internal.c +distinctinternalnames -expect 2 - $(SPLINTR) internal.c -internalnamelen 28 -expect 3 - $(SPLINTR) internal.c +internalnamecaseinsensitive -expect 3 - $(SPLINTR) internal.c +internalnamecaseinsensitive +internalnamelookalike -expect 11 + -$(SPLINTR) internal.c -expect 1 + -$(SPLINTR) internal.c +distinctinternalnames -expect 1 + -$(SPLINTR) internal.c +distinctinternalnames +ansi89limits -expect 2 + -$(SPLINTR) internal.c -internalnamelen 28 -expect 3 + -$(SPLINTR) internal.c +internalnamecaseinsensitive -expect 3 + -$(SPLINTR) internal.c +internalnamecaseinsensitive +internalnamelookalike -expect 11 ### ### iter @@ -438,112 +504,154 @@ internal: .PHONY: iter iter: - $(SPLINTR) iter -expect 14 -lclexpect 1 - $(SPLINTR) iter2.c -expect 12 + -$(SPLINTR) iter -expect 14 -lclexpect 1 + -$(SPLINTR) iter2.c -expect 12 .PHONY: keep keep: - $(SPLINTR) keep.c +memchecks -expect 6 + -$(SPLINTR) keep.c +memchecks -expect 6 ### libs ### 2001-05-22: 2 new errors found (fixed spec of signal) ### 2001-05-30: 3 new errors found (formatconst) +### 2002-07-08: 2 new errors found (getc modifies errno) .PHONY: libs libs: - $(SPLINTR) libs.c +longunsignedunsignedintegral -expect 18 - $(SPLINTR) libs.c -expect 22 - $(SPLINTR) libs.c +globunspec +modunspec -expect 25 - $(SPLINTR) libs.c +strictlib +globunspec +modunspec -expect 42 + -$(SPLINTR) libs.c +longunsignedunsignedintegral -expect 18 + -$(SPLINTR) libs.c -expect 22 + -$(SPLINTR) libs.c +globunspec +modunspec -expect 25 + -$(SPLINTR) libs.c +strictlib +globunspec +modunspec -expect 44 .PHONY: lintcomments lintcomments: - $(SPLINTR) lintcomments.c -expect 4 - $(SPLINTR) lintcomments.c -warnlintcomments -expect 1 - $(SPLINTR) lintcomments.c -lintcomments -expect 4 + -$(SPLINTR) lintcomments.c -expect 5 + -$(SPLINTR) lintcomments.c -warnlintcomments -expect 1 + -$(SPLINTR) lintcomments.c -lintcomments -expect 4 .PHONY: list list: - $(SPLINTR) list.c -expect 3 + -$(SPLINTR) list.c -expect 3 + +### +### 2002-12-12: Added test case for +longint and +shortint flags +### + +.PHONY: longint +longint: + -$(SPLINTR) longint.c -expect 3 + -$(SPLINTR) longint.c +longint -expect 2 + -$(SPLINTR) longint.c +shortint -expect 2 + -$(SPLINTR) longint.c +shortint +longint -expect 0 + +### +### 2002-01-01: Added test case for obvious loop execution. +### + +.PHONY: loopexec +loopexec: + -$(SPLINTR) loopexec.c -expect 1 + -$(SPLINTR) loopexec.c -obviousloopexec -expect 3 + +.PHONY: looptesteffect +looptesteffect: + -$(SPLINTR) looptesteffect.c -expect 1 .PHONY: macros macros: - $(SPLINTR) macros -expect 17 - $(SPLINTR) macros.c +allmacros -expect 34 - $(SPLINTR) macros.c +fcnmacros -expect 31 + -$(SPLINTR) macros -expect 17 + -$(SPLINTR) macros.c +allmacros -expect 34 + -$(SPLINTR) macros.c +fcnmacros -expect 31 .PHONY: macrosef macrosef: - $(SPLINTR) macrosef -expect 4 - $(SPLINTR) macrosef.c +allmacros -expect 3 - $(SPLINTR) macrosef.c +allmacros +sefuncon -expect 4 + -$(SPLINTR) macrosef -expect 4 + -$(SPLINTR) macrosef.c +allmacros -expect 3 + -$(SPLINTR) macrosef.c +allmacros +sefuncon -expect 4 + +.PHONY: malloc +malloc: + -$(SPLINTRN) malloc.c +bounds -exportlocal -expect 7 .PHONY: merge merge: - $(SPLINTRN) merge.c +checks -exportlocal -exportheadervar -exportheader -expect 3 + -$(SPLINTRN) merge.c +checks -exportlocal -exportheadervar -exportheader -expect 3 .PHONY: mergenull mergenull: - $(SPLINTRN) mergenull.c + -$(SPLINTRN) mergenull.c .PHONY: modifies modifies: - $(SPLINTR) modifies.c modclient.c +impcheckedstatics +mustmod -expect 7 + -$(SPLINTR) modifies.c modclient.c +impcheckedstatics +mustmod -expect 7 .PHONY: modtest modtest: - $(SPLINTR) modtest -expect 10 - $(SPLINTR) modtest +modunspec -expect 13 - $(SPLINTR) modtest +mustmod -expect 14 + -$(SPLINTR) modtest -expect 10 + -$(SPLINTR) modtest +modunspec -expect 13 + -$(SPLINTR) modtest +mustmod -expect 14 .PHONY: moduncon moduncon: - $(SPLINTR) moduncon.c +moduncon -memchecks -expect 4 - $(SPLINTRN) moduncon.c +strict -exportlocal -expect 22 + -$(SPLINTR) moduncon.c +moduncon -memchecks -expect 4 + -$(SPLINTRN) moduncon.c +strict +impboundsconstraints -exportlocal -expect 22 .PHONY: mongoincludes mongoincludes: - $(SPLINTR) mongoincludes.c -includenest 1 -expect 19 - $(SPLINTR) mongoincludes.c -includenest 2 -expect 10 - $(SPLINTR) mongoincludes.c -includenest 3 -expect 4 - $(SPLINTR) mongoincludes.c -includenest 4 -expect 1 - $(SPLINTR) mongoincludes.c -includenest 5 -expect 0 + -$(SPLINTR) mongoincludes.c -includenest 1 -expect 19 + -$(SPLINTR) mongoincludes.c -includenest 2 -expect 10 + -$(SPLINTR) mongoincludes.c -includenest 3 -expect 4 + -$(SPLINTR) mongoincludes.c -includenest 4 -expect 1 + -$(SPLINTR) mongoincludes.c -includenest 5 -expect 0 .PHONY: mystrncat mystrncat: - $(SPLINTR) mystrncat.c +arraybounds +arrayboundsread -expect 4 + -$(SPLINTR) mystrncat.c +boundsread +boundswrite -expect 4 .PHONY: noeffect noeffect: - ${SPLINT} -nof noeffect.c +allmacros +checks -expect 3 + ${SPLINTP} noeffect.c +allmacros +checks -expect 3 + +### +### 2002-01-01: null1.c: expect increased to 15 because out must be defined +### checking detects one new error +### .PHONY: null null: - $(SPLINTR) null1.c -expect 14 - $(SPLINTR) null1.c -null -expect 4 - $(SPLINTR) null2.c -expect 10 - $(SPLINTR) null3.c -expect 15 - $(SPLINTR) null3.c -warnunixlib +unixlib -expect 16 - $(SPLINTR) null4.c -expect 1 - $(SPLINTR) null5.c -expect 4 - $(SPLINTR) null6 -expect 4 - $(SPLINTR) +quiet null6.lcl -dump null6 - $(SPLINTR) null6.c -load null6 -expect 4 + -$(SPLINTR) null1.c -expect 15 + -$(SPLINTR) null1.c -null -mustdefine -expect 4 + -$(SPLINTR) null2.c -expect 11 + -$(SPLINTR) null3.c -expect 15 + -$(SPLINTR) null3.c +unixlib -expect 16 + -$(SPLINTR) null4.c -expect 1 + -$(SPLINTR) null5.c -expect 4 + -$(SPLINTR) null6 -expect 4 + -$(SPLINTR) +quiet null6.lcl -dump null6 + -$(SPLINTR) null6.c -load null6 -expect 4 ### Added for 3.0 (bugs reported by Kevin Broady) .PHONY: nullret nullret: - $(SPLINTR) nullret.c -expect 2 - $(SPLINTR) -nullret nullret.c -expect 1 + -$(SPLINTR) nullret.c -expect 2 + -$(SPLINTR) -nullret nullret.c -expect 0 .PHONY: nullassign nullassign: - $(SPLINTR) nullassign.c -expect 2 - $(SPLINTR) -nullassign nullassign.c -expect 1 + -$(SPLINTR) nullassign.c -expect 2 + -$(SPLINTR) -nullassign nullassign.c -expect 1 +### Added for 3.1 - evans 2002-12-14 + +.PHONY: numabstract +numabstract: + -$(SPLINTR) numabstract.c -expect 11 + -$(SPLINTR) numabstract.c +numabstractlit -expect 9 + -$(SPLINTR) numabstract.c -numabstractcast -expect 10 + # # Before 2.4, expected one more because error was reported both as # dependent and observer. @@ -551,86 +659,92 @@ nullassign: .PHONY: observer observer: - $(SPLINTRN) observer +checks -exportlocal -exportheader -expect 9 - $(SPLINTRN) observer.c +checks -exportlocal -exportheader -expect 8 - $(SPLINTR) observer.c -expect 7 + -$(SPLINTRN) observer +checks -exportlocal -exportheader -expect 9 + -$(SPLINTRN) observer.c +checks -exportlocal -exportheader -expect 8 + -$(SPLINTR) observer.c -expect 7 .PHONY: oldstyle oldstyle: - $(SPLINTR) oldstyle -expect 3 + -$(SPLINTR) oldstyle oldstyle2.c -expect 5 .PHONY: outglob outglob: - $(SPLINTR) outglob -expect 10 + -$(SPLINTR) outglob -expect 10 .PHONY: outparam outparam: - $(SPLINTR) outparam -expect 12 + -$(SPLINTR) outparam -expect 12 ### evans 2001-08-26: postnotnull new .PHONY: postnotnull postnotnull: ${SPLINTR} postnotnull.c -expect 1 + +### evans 2002-02-09: added parentype.c +.PHONY: parentype +parentype: + ${SPLINTR} parentype.c + # # Four new +fcnuse errors for -strict (evans 2001-07-22) # .PHONY: preds preds: - $(SPLINTR) +hints preds.c -expect 6 - $(SPLINTRN) +hints preds.c -weak -expect 1 - $(SPLINTRN) +hints preds.c -strict -exportlocal -exportheader -expect 12 + -$(SPLINTR) +hints preds.c -expect 6 + -$(SPLINTRN) +hints preds.c -weak -expect 1 + -$(SPLINTRN) +hints preds.c -strict +impboundsconstraints -exportlocal -exportheader -expect 10 .PHONY: prefixes prefixes: - $(SPLINTR) prefixes.c +partial - $(SPLINTRN) prefixes.c +allmacros +checks -exportlocal +partial -exportheader -exportheadervar -expect 4 - $(SPLINTR) prefixes.c -typeprefix "T" -expect 2 - $(SPLINTR) prefixes.c -typeprefix "^" -expect 1 - $(SPLINTR) prefixes.c -typeprefix "^*" -expect 2 - $(SPLINTR) prefixes.c -typeprefix "^%*" -expect 2 - $(SPLINTR) prefixes.c -typeprefix "^~*" -expect 2 - $(SPLINTR) prefixes.c -typeprefix "^" +typeprefixexclude -expect 7 - $(SPLINTR) prefixes.c -filestaticprefix "^^" -expect 4 - $(SPLINTR) prefixes.c -filestaticprefix "^#" -expect 5 - $(SPLINTR) prefixes.c -filestaticprefix "^?&x" -expect 5 - $(SPLINTR) prefixes.c -globalprefix "G" -expect 1 - $(SPLINTR) prefixes.c -globalprefix "&G?_^" -expect 1 - $(SPLINTR) prefixes.c -externalprefix "G" -expect 5 - $(SPLINTR) prefixes.c -typeprefix "T" -externalprefix "G" -expect 4 - $(SPLINTR) prefixes.c -localprefix "?*" +localprefixexclude -expect 13 + -$(SPLINTR) prefixes.c +partial + -$(SPLINTRN) prefixes.c +allmacros +checks -exportlocal +partial -exportheader -exportheadervar -expect 4 + -$(SPLINTR) prefixes.c -typeprefix "T" -expect 2 + -$(SPLINTR) prefixes.c -typeprefix "^" -expect 1 + -$(SPLINTR) prefixes.c -typeprefix "^*" -expect 2 + -$(SPLINTR) prefixes.c -typeprefix "^%*" -expect 2 + -$(SPLINTR) prefixes.c -typeprefix "^~*" -expect 2 + -$(SPLINTR) prefixes.c -typeprefix "^" +typeprefixexclude -expect 7 + -$(SPLINTR) prefixes.c -filestaticprefix "^^" -expect 4 + -$(SPLINTR) prefixes.c -filestaticprefix "^#" -expect 5 + -$(SPLINTR) prefixes.c -filestaticprefix "^?&x" -expect 5 + -$(SPLINTR) prefixes.c -globalprefix "G" -expect 1 + -$(SPLINTR) prefixes.c -globalprefix "&G?_^" -expect 1 + -$(SPLINTR) prefixes.c -externalprefix "G" -expect 5 + -$(SPLINTR) prefixes.c -typeprefix "T" -externalprefix "G" -expect 4 + -$(SPLINTR) prefixes.c -localprefix "?*" +localprefixexclude -expect 13 .PHONY: printflike printflike: - $(SPLINTR) printflike.c -expect 6 - $(SPLINTR) printflike.c -warnlintcomments -expect 5 + -$(SPLINTR) printflike.c -expect 6 + -$(SPLINTR) printflike.c -warnlintcomments -expect 5 .PHONY: rc rc: - $(SPLINTR) -DMYSTERY='"a flag\"wicked cool"' rc.c -expect 1 - $(SPLINTR) -DMYSTERY=12 rc.c -expect 1 - $(SPLINTR) -f rc1.splintrc rc.c -expect 1 - $(SPLINTR) -UMYSTERY -f rc1.splintrc rc.c -expect 1 - $(SPLINTR) -f rc3.splintrc rc.c -expect 1 + -$(SPLINTR) -DMYSTERY='"a flag\"wicked cool"' rc.c -expect 1 + -$(SPLINTR) -DMYSTERY=12 rc.c -expect 1 + -$(SPLINTR) -f rc1.splintrc rc.c -expect 1 + -$(SPLINTR) -UMYSTERY -f rc1.splintrc rc.c -expect 1 + -$(SPLINTR) -f rc3.splintrc rc.c -expect 1 .PHONY: rcfiles rcfiles: - cd rcfiles; ${MAKE} SPLINT="$(SPLINTPNEST)" + cd rcfiles; ${MAKE} SPLINT="-$(SPLINTPNEST)" .PHONY: refcounts refcounts: - $(SPLINTR) refcounts.c -expect 7 + -$(SPLINTR) refcounts.c -expect 7 .PHONY: release release: - $(SPLINTR) release.c +memchecks -expect 1 + -$(SPLINTR) release.c +memchecks -expect 1 .PHONY: repexpose repexpose: - $(SPLINTR) +lh repexpose +memchecks -expect 12 - $(SPLINTR) repexpose +memchecks +retalias -expect 15 - $(SPLINTRN) repexpose +checks -exportlocal -expect 27 + -$(SPLINTR) +lh repexpose +memchecks -expect 12 + -$(SPLINTR) repexpose +memchecks +retalias -expect 15 + -$(SPLINTRN) repexpose +checks -exportlocal -expect 27 ### returned added 2001-05-27 ### (Bug discovered checking splint sources.) @@ -639,75 +753,130 @@ repexpose: returned: ${SPLINTR} returned.c -expect 1 +### russian added 2003-06-07: bug reported in pre-processing non-standard characters. +.PHONY: russian +russian: + ${SPLINTR} russian.c + .PHONY: sharing sharing: - $(SPLINTR) sharing1.c -expect 21 - $(SPLINTR) sharing3.c -expect 3 - $(SPLINTR) sharing4.c -expect 13 - $(SPLINTR) sharing4.c -paramimptemp -expect 12 - $(SPLINTR) sharing5.c -expect 6 + -$(SPLINTR) sharing1.c -expect 21 + -$(SPLINTR) sharing3.c -expect 3 + -$(SPLINTR) sharing4.c -expect 13 + -$(SPLINTR) sharing4.c -paramimptemp -expect 12 + -$(SPLINTR) sharing5.c -expect 6 + +.PHONY: shifts +shifts: + -$(SPLINTR) shifts.c -expect 4 + -$(SPLINTR) shifts.c -shiftimplementation -expect 3 + -$(SPLINTR) shifts.c -shiftnegative -expect 1 + +#drl comment this out until sizesigns is added to cvs + +### evans - added 2002-08-17: check warnings with arbitrary integral types +sizesigns: + -$(SPLINTR) +strict sizesigns.c -expect 5 + -$(SPLINTR) +strict +matchanyintegral sizesigns.c -expect 4 .PHONY: slovaknames slovaknames: - $(SPLINTR) +hints slovaknames.c -expect 1 - $(SPLINTR) +hints slovaknames.c +accessslovak - $(SPLINTR) +hints +slovak slovaknames.c -expect 3 - $(SPLINTR) +hints +slovak -slovakvars slovaknames.c -expect 2 - $(SPLINTR) +hints +slovak -accessslovak slovaknames.c -expect 7 + -$(SPLINTR) +hints slovaknames.c -expect 1 + -$(SPLINTR) +hints slovaknames.c +accessslovak + -$(SPLINTR) +hints +slovak slovaknames.c -expect 3 + -$(SPLINTR) +hints +slovak -slovakvars slovaknames.c -expect 2 + -$(SPLINTR) +hints +slovak -accessslovak slovaknames.c -expect 7 + +## +## evans 2002-07-22: 1 less warning for specclauses3.c because of NULL result +## .PHONY: specclauses specclauses: - $(SPLINTR) specclauses.c -expect 6 - $(SPLINTR) specclauses2.c -expect 8 - $(SPLINTR) specclauses3.c -expect 6 - $(SPLINTR) specclauses4.c -expect 3 - $(SPLINTR) specclauses5.c -expect 3 + -$(SPLINTR) specclauses.c -expect 6 + -$(SPLINTR) specclauses2.c -expect 8 + -$(SPLINTR) specclauses3.c -expect 5 + -$(SPLINTR) specclauses4.c -expect 3 + -$(SPLINTR) specclauses5.c -expect 3 + +.PHONY: specclauses1 +specclauses1: + -$(SPLINTR) specclauses.c -expect 6 + +.PHONY: specclauses2 +specclauses2: + -$(SPLINTR) specclauses2.c -expect 8 + +.PHONY: specclauses3 +specclauses3: + -$(SPLINTR) specclauses3.c -expect 6 + +.PHONY: specclauses4 +specclauses4: + -$(SPLINTR) specclauses4.c -expect 3 + +.PHONY: specclauses5 +specclauses5: + -$(SPLINTR) specclauses5.c -expect 3 .PHONY: special special: - $(SPLINTR) special -expect 20 - $(SPLINTR) special -relaxquals -expect 22 + -$(SPLINTR) special -expect 20 + -$(SPLINTR) special -relaxquals -expect 22 .PHONY: stack stack: - $(SPLINTR) stack.c -expect 5 - $(SPLINTR) stack.c -stackref + -$(SPLINTR) stack.c -expect 5 + -$(SPLINTR) stack.c -stackref .PHONY: staticarray staticarray: - $(SPLINTR) staticarray.c -expect 3 + -$(SPLINTR) staticarray.c -expect 3 + +### +### evans 2002-03-16: Default setting of stringliteralnoroomfinalnull changed +### + +.PHONY: stringliteral +stringliteral: + -$(SPLINTR) stringliteral.c -stringliteralnoroomfinalnull -expect 3 + -$(SPLINTR) stringliteral.c -expect 4 .PHONY: strings strings: - $(SPLINTR) strings.c -expect 3 - $(SPLINTR) -readonlystrings -expect 1 strings.c - $(SPLINTR) +modobserverstrict -maintype -expect 4 strings.c + -$(SPLINTR) strings.c -expect 3 + -$(SPLINTR) -readonlystrings -expect 1 strings.c + -$(SPLINTR) +modobserverstrict -maintype -expect 4 strings.c .PHONY: structassign structassign: - $(SPLINTR) structassign.c -expect 4 + -$(SPLINTR) structassign.c -expect 4 + +.PHONY: typeof +typeof: + -$(SPLINTR) typeof.c -expect 2 .PHONY: typequals typequals: - $(SPLINTR) typequals.c tq.lcl -expect 5 - $(SPLINTR) typequals.c -expect 2 + -$(SPLINTR) typequals.c tq.lcl -expect 5 + -$(SPLINTR) typequals.c -expect 2 .PHONY: ud ud: - $(SPLINTR) ud.c -expect 9 - $(SPLINTR) ud2 -specundef -expect 3 + -$(SPLINTR) ud.c -expect 9 + -$(SPLINTR) ud2 -specundef -expect 3 .PHONY: ulstypes ulstypes: - $(SPLINTR) ulstypes.c -expect 8 - $(SPLINTR) ulstypes.c +ignorequals - $(SPLINTRN) ulstypes.c +strict -exportheader -exportheadervar -expect 28 + -$(SPLINTR) ulstypes.c -expect 8 + -$(SPLINTR) ulstypes.c +ignorequals + -$(SPLINTRN) ulstypes.c +strict -exportheader -exportheadervar -expect 28 # 3 more detected with version 2.5 (change in -numliteral setting) .PHONY: union union: - $(SPLINTR) +memchecks union.c -expect 8 + -$(SPLINTR) +memchecks union.c -expect 8 ### ### Added 2001-12-30: fixed union initializer checking in response to @@ -716,13 +885,17 @@ union: .PHONY: unioninit unioninit: - $(SPLINTR) unioninit.c -expect 2 + -$(SPLINTR) unioninit.c -expect 2 + +.PHONY: unnamedsu +unnamedsu: + -$(SPLINTR) unnamedsu.c -expect 0 .PHONY: unreachable unreachable: - $(SPLINTR) unreachable.c -expect 5 - $(SPLINTR) -unreachable unreachable.c -expect 2 - $(SPLINTR) switch.c -expect 4 + -$(SPLINTR) unreachable.c -expect 5 + -$(SPLINTR) -unreachable unreachable.c -expect 2 + -$(SPLINTR) switch.c -expect 4 .PHONY: unsignedcompare unsignedcompare: @@ -735,8 +908,8 @@ unsignedcompare: .PHONY: unused unused: - $(SPLINTRN) unused.c +checks -exportlocal -expect 5 - $(SPLINTRN) unused.c +checks -exportlocal +topuse -expect 8 + -$(SPLINTRN) unused.c +checks -exportlocal -expect 5 + -$(SPLINTRN) unused.c +checks -exportlocal +topuse -expect 8 ### ### 2001-06-10: Provided by Jim Zalenka @@ -750,10 +923,12 @@ ullint: ### ### 2001-12-30: Poor warnings reported by Peter Deutsch ### +### 2002-07-03: removed warnings for datatype/macro definitions +### .PHONY: utypes utypes: - ${SPLINTRN} utypes.c -expect 6 + ${SPLINTRN} utypes.c -expect 2 ### @@ -786,23 +961,14 @@ linked: freearray: ${SPLINTR} freearray.c -expect 1 -### -### Bugs fixed and new features since version 2.1b -### - -SUBDIRTESTS += tests2.2 -SUBDIRTESTS += tests2.2a -SUBDIRTESTS += tests2.4 - .PHONY: sizeof sizeof: - $(SPLINTR) +arraybounds +arrayboundsread sizeof.c -expect 1 + -$(SPLINTR) +bounds sizeof.c -expect 1 + .PHONY: buffertest buffertest: - $(SPLINTR) +arraybounds +arrayboundsread buffertest1.c -expect 5 - -SUBDIRTESTS += tests2.5 + -$(SPLINTR) +bounds buffertest1.c -expect 5 ## Integration Tests @@ -811,17 +977,15 @@ SUBDIRTESTS += tests2.5 ## Need to clarify what it means for an object to be immutable; ## there should be 2 types with different storage requirements. -SUBDIRTESTS += db1 db2 db3 - .PHONY: $(SUBDIRTESTS) $(SUBDIRTESTS): cd $@; $(MAKE) SPLINT="$(SPLINTRNNEST)" #drl 11/29/2001 This is a very ugly hack to get make dist to work -EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ - ./abstptr.lcl ./abstptr.lcs \ - ./alias.lcl ./alias.lcs \ - ./alias2.lcl ./alias2.lcs \ +EXTRA_DIST = ./abst_t.lcl \ + ./abstptr.lcl \ + ./alias.lcl \ + ./alias2.lcl \ ./alias3.lcl \ ./db1/erc.lcl \ ./db1/bool.lcl \ @@ -830,42 +994,22 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./db1/empset.lcl \ ./db1/eref.lcl \ ./db1/ereftab.lcl \ - ./alias3.lcs \ - ./alias3.lh \ ./alias4.lcl \ - ./alias4.lcs \ - ./alias4.lh \ ./alias5.lcl \ - ./alias5.lcs \ - ./alias5.lh \ ./argorder2.lcl \ - ./argorder2.lcs \ ./argorder4.lcl \ - ./argorder4.lcs \ ./args.lcl \ - ./args.lcs \ ./cast.lcl \ - ./cast.lcs \ ./decl2.lcl \ - ./decl2.lcs \ ./empty.lcl \ ./enum.lcl \ - ./enum.lcs \ ./glob.lcl \ - ./glob.lcs \ ./impabstract.lcl \ - ./impabstract.lcs \ ./iter.lcl \ - ./iter.lcs \ ./macros.lcl \ - ./macros.lcs \ ./macrosef.lcl \ - ./macrosef.lcs \ ./modtest.lcl \ - ./modtest.lcs \ ./mut.lcl \ - ./mut.lcs \ - ./mut.lh \ ./mut.lh.expect \ ./db2/dbase.lcl \ ./db2/employee.lcl \ @@ -874,27 +1018,18 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./db2/eref.lcl \ ./db2/ereftab.lcl \ ./db2/etest.lcl \ - ./null6.lcd \ ./null6.lcl \ - ./null6.lcs \ ./observer.lcl \ - ./observer.lcs \ ./oldstyle.lcl \ - ./oldstyle.lcs \ ./outglob.lcl \ - ./outglob.lcs \ ./outparam.lcl \ - ./outparam.lcs \ ./rc1.splintrc \ ./rc2.splintrc \ ./rc3.splintrc \ ./rc3.splintrc.os2 \ ./repexpose.lcl \ - ./repexpose.lcs \ - ./repexpose.lh \ ./repexpose.lh.expect \ ./special.lcl \ - ./special.lcs \ ./db3/.splintrc \ ./db3/bool.lcl \ ./db3/check.lcl \ @@ -904,24 +1039,17 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./db3/erc.lcl \ ./db3/eref.lcl \ ./db3/ereftab.lcl \ + ./db3/README \ + ./db3/clean \ + ./db3/tidy \ ./tq.lcl \ - ./tq.lcs \ ./ud2.lcl \ - ./ud2.lcs \ ./for/.splintrc \ ./globalbufferannotation/.splintrc \ ./maxset/.splintrc \ ./strchr/.splintrc \ ./tests2.2/bool.lcl \ - ./tests2.2/bool.lcs \ - ./tests2.2/libraries.lcd \ - ./tests2.2/obsolete.lcd \ - ./tests2.2/oldversion.lcd \ ./tests2.4/subdir/main.lcl \ - ./tests2.4/subdir/main.lcs \ - ./tests2.5/newlint.lcd \ - ./warnuse/warnuse.lcd \ - ./empty.lcs \ ./abstptr.c \ ./alias.c \ ./alias2.c \ @@ -945,6 +1073,7 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./argorder5.c \ ./args.c \ ./arrayinit.c \ + ./arraylit.c \ ./blocks.c \ ./branchstate.c \ ./break.c \ @@ -953,6 +1082,7 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./cases2.c \ ./cast.c \ ./cast2.c \ + ./chararraylit.c \ ./charlit.c \ ./clauses.c \ ./clauses2.c \ @@ -960,6 +1090,9 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./commentchar.c \ ./commentcmd.c \ ./compdestroy.c \ + ./compoundliterals.c ./compoundliterals.expect \ + ./compoundstmt.c ./compoundstmt.expect \ + ./condifomit.c \ ./csyntax.c \ ./constannot.c \ ./controldepth.c \ @@ -989,6 +1122,7 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./dkf5kSprintf.c \ ./ensures.c \ ./enum.c \ + ./enumtag.c \ ./exports.c \ ./external.c \ ./fields.c \ @@ -1022,6 +1156,7 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./longconstants.c \ ./macros.c \ ./macrosef.c \ + ./malloc.c \ ./merge.c \ ./modclient.c \ ./modifies.c \ @@ -1097,6 +1232,7 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./union.c \ ./unreachable.c \ ./unsignedcompare.c \ + ./unnamedsu.c \ ./unused.c \ ./void.c \ ./conditions/miroslaw.c \ @@ -1144,6 +1280,8 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./simplebufferConstraintTests/test3.c \ ./simplebufferConstraintTests/test7.c \ ./sizeoftest/sizeof.c \ + ./sizeoftest/sizeofConst.c \ + ./sizeoftest/Makefile \ ./strchr/strchr.c \ ./suppressfile/test.c \ ./tainted/sprintf.c \ @@ -1261,12 +1399,14 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ argorder.expect \ args.expect \ arrayinit.expect \ + arraylit.expect \ blocks.expect \ branchstate.expect \ break.expect \ buffertest.expect \ cases.expect \ cast.expect \ + chararraylit.expect \ charlit.expect \ clauses.expect \ commentchar.expect \ @@ -1282,6 +1422,7 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ deadparam.expect \ decl.expect \ enum.expect \ + enumtag.expect \ exports.expect \ external.expect \ fields.expect \ @@ -1361,6 +1502,7 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ullint.expect \ ulstypes.expect \ union.expect \ + unnamedsu.expect \ unreachable.expect \ unsignedcompare.expect \ unused.expect \ @@ -1403,7 +1545,6 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./tq.h \ ./metastate/global.h \ ./suppressfile/test.h \ - ./tests2.2/Makefile.hide \ ./tests2.2/mbool.h \ ./tests2.4/forward.h \ ./tests2.4/hash.h \ @@ -1413,7 +1554,7 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./tests2.5/immutable.h \ ./tests2.5/impabsmodule.h \ ./tests2.5/socket.h \ - ./Makefile-test.os2 \ + ./Makefile.os2 \ ./db1/Makefile \ ./db2/Makefile \ ./db3/Makefile \ @@ -1429,10 +1570,8 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./strchr/Makefile \ ./tainted/Makefile \ ./temp/Makefile \ - ./tests2.2/Makefile.hide \ ./tests2.2/Makefile \ ./tests2.2/Makefile-tests2.2.os2 \ - ./tests2.2a/Makefile \ ./tests2.4/Makefile \ ./tests2.4/Makefile-tests2.4.os2 \ ./tests2.5/Makefile \ @@ -1441,6 +1580,21 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./Makefile.in \ ./moreBufferTests2/Makefile \ ./fileio/eof.mts ./fileio/file.mts ./fileio/filerw.mts ./mergestate/tainted.mts ./mergestate/taintednm.mts ./metastate/file.mts ./metastate/nullterminated.mts ./metastate/sockets.mts ./tainted/tainted-bad.mts ./tainted/tainted.mts ./fileio/file.xh ./fileio/filerw.xh ./mergestate/tainted.xh ./mergestate/taintednm.xh ./metastate/file.xh ./tainted/tainted.xh \ - alias alttypes ansireserved \ - db2.old-expect outglob outparam preds union.pp warnuse.old-expect \ - ./tests2.5/badcomment ./tests2.5/boolbad ./tests2.5/booltest ./tests2.5/uconstants + db2.old-expect union.pp warnuse.old-expect \ + ./tests2.5/badcomment ./tests2.5/boolbad ./tests2.5/booltest ./tests2.5/uconstants loopexec.expect mergenull.expect shifts.expect looptesteffect.expect \ + unioninit.expect unioninit.c utypes.c \ + utypes.expect widestrings.expect widestrings.c \ + functionmacro.expect functionmacro.c info.c info.expect \ + longint.c loopexec.c looptesteffect.c mergenull.c shifts.c \ + longint.expect nullret.expect numabstract.expect \ + sizesigns.expect typeof.expect \ + manual.expect ./manual/Makefile \ + ./manual/annotglobs.c ./manual/bool.c ./manual/bool.h ./manual/clauses.c ./manual/employee.h ./manual/exposure.c ./manual/globals.c ./manual/ignore.c ./manual/implicit.c ./manual/intSet.h ./manual/list.c ./manual/loop.c ./manual/macros.c ./manual/modify.c ./manual/mstring.c ./manual/mstring.h ./manual/mstringnn.c ./manual/multiError.c ./manual/names.c ./manual/noeffect.c ./manual/null.c ./manual/only.c ./manual/order.c ./manual/palindrome.c ./manual/palindrome.h ./manual/refs.c ./manual/returned.c ./manual/rgb.c ./manual/rstring.c ./manual/rstring.h ./manual/sample.c ./manual/setChar.c ./manual/setname.c ./manual/setname.h ./manual/special.c ./manual/stack.c ./manual/sumsquares.c ./manual/switch.c ./manual/testpal.c ./manual/types.c ./manual/unique.c ./manual/usedef.c ./manual/bounds.c \ + arraydims.expect arraydims.c \ + moreBufferTests2/fixedArrayType.c oldstyle2.c \ + divzero.expect parentype.expect \ + divzero.c parentype.c \ +stringliteral.expect stringliteral.c \ + numabstract.c sizesigns.c typeof.c nullassign.expect + +# sizesigns.c sizesigns.expect \