+##################################################\r
+### ###\r
+### Makefile for LCLint testing ###\r
+### ### \r
+### designed for use with GNU make ### \r
+### ###\r
+##################################################\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
+# Command to run lclint\r
+LCLINT = ..\\bin\\lclint\r
+LCLINTP = $(LCLINT)\r
+\r
+# Make sure .lclintrc files are not used so test results do not\r
+# depend on local settings.\r
+LCLINTRN = $(LCLINTP) -nof -hints -booltype "bool"\r
+LCLINTR = $(LCLINTRN) -exportlocal +debugfcnconstraint \r
+\r
+UNITTESTS = \\r
+ fileio tainted mergestate metastate \\r
+ help sizeoftest bufferTest simplebufferConstraintTests \\r
+ moreBufferTests globalbufferannotation maxset strchr for \\r
+ abstptr abstract alias alttypes ansireserved argorder args blocks break cases cast \\r
+ charlit clauses commentchar compdestroy constannot controldepth csyntax czechnames czechoslovaknames deadparam \\r
+ decl enum exports external fields flags forbody format freearray funcpointer glob globals impabstract \\r
+ init inparam internal iter keep libs linked lintcomments list macros macrosef merge modifies \\r
+ modtest moduncon mongoincludes mystrncat noeffect null observer oldstyle \\r
+ outglob outparam postnotnull preds prefixes \\r
+ printflike rc refcounts release repexpose returned sharing slovaknames specclauses special stack \\r
+ staticarray strings structassign \\r
+ typequals ud ulstypes union unreachable unsignedcompare unused ullint void \\r
+ tests2.2 tests2.2a tests2.4 tests2.5 \r
+\r
+UNITEXPECTS = $(addsuffix .expect, $(UNITTESTS))\r
+\r
+LCLINTTESTS = version $(UNITTESTS) \r
+\r
+all: quicktest\r
+\r
+DIFF = diff\r
+\r
+### not real .c\r
+\r
+quicktest: $(LCLINTTESTS)\r
+\r
+###\r
+### Unit Tests\r
+###\r
+\r
+version:\r
+ @$(LCLINTP) -help version\r
+ @$(LCLINTP) -help vars\r
+\r
+abstptr:\r
+ $(LCLINTR) abstptr -expect 9\r
+ $(LCLINTR) abstptr +voidabstract -expect 6\r
+\r
+abstract:\r
+ $(LCLINTR) abst_t.lcl commentcmd.c -expect 15\r
+\r
+alias:\r
+ $(LCLINTR) +lh mut\r
+ $(LCLINTR) mut alias +globalias -expect 19\r
+ $(LCLINTR) mut alias2 +globalias -expect 17\r
+ $(LCLINTR) +lh alias3 -expect 14 \r
+ $(LCLINTR) +lh alias4 +boolint\r
+ $(LCLINTR) alias4 -pred +retalias -expect 6\r
+ $(LCLINTR) +lh alias5 +memchecks -null -specundef -expect 5\r
+\r
+alttypes:\r
+ $(LCLINTR) alttypes.c -expect 2\r
+\r
+###\r
+### evans 2001-06-07 - updated nameCheck.c to reflect C9X.\r
+### Reports one new errors for ansireserved.c - wctomb is bad even as a local variable.\r
+### (could be a macro?)\r
+### Reports 3 additional errors for +checks; no longer suppresses name errors in the\r
+### presense of other errors.\r
+###\r
+\r
+ansireserved:\r
+ $(LCLINTR) ansireserved.c +ansireserved -nolib -expect 9\r
+ $(LCLINTR) ansireserved.c +ansireserved +ansireservedlocal -nolib -expect 11\r
+ $(LCLINTRN) ansireserved.c +checks -exportlocal -exportheadervar -exportheader -expect 12\r
+ $(LCLINTR) ansireserved2.c +ansireserved -expect 1\r
+\r
+argorder:\r
+ $(LCLINTR) argorder.c -expect 4\r
+ $(LCLINTR) argorder2 -expect 5\r
+ $(LCLINTR) argorder3.c -expect 8\r
+ $(LCLINTR) argorder4 -expect 9\r
+ $(LCLINTR) argorder4 -evalorder -expect 1\r
+ $(LCLINTR) argorder5.c +evalorderuncon -expect 3\r
+\r
+args:\r
+ $(LCLINTR) args -noeffect -expect 12\r
+\r
+blocks:\r
+ $(LCLINTR) blocks.c -expect 4\r
+ $(LCLINTR) blocks.c +ifblock +elseifcomplete -expect 7\r
+ $(LCLINTR) blocks.c -ifempty +whileempty +whileblock -expect 3\r
+ $(LCLINTR) blocks.c -ifempty +forempty +forblock -expect 3\r
+ $(LCLINTR) blocks.c +allempty -expect 6\r
+ $(LCLINTRN) blocks.c +strict -exportlocal +partial -exportheader -expect 11\r
+\r
+break:\r
+ $(LCLINTR) break.c -expect 4\r
+ $(LCLINTR) break.c +deepbreak -expect 6\r
+ $(LCLINTR) break.c +deepbreak -looploopbreak -expect 5\r
+\r
+cases: \r
+ $(LCLINTR) cases.c -expect 5\r
+ $(LCLINTR) cases2.c -expect 2\r
+ $(LCLINTRN) cases2.c +checks -exportlocal -exportheader -expect 3\r
+ $(LCLINTRN) cases2.c +checks -exportlocal -exportheader -branchstate -expect 3\r
+\r
+cast:\r
+ $(LCLINTR) cast -accessmodule -expect 20\r
+ $(LCLINTRN) cast2.c +checks -exportlocal -exportheader -expect 3\r
+\r
+### Two addition errors detected with 2.5 with -numliteral.\r
+\r
+charlit:\r
+ $(LCLINTR) +hints charlit.c -expect 4\r
+ $(LCLINTR) +hints -numliteral charlit.c -expect 6\r
+ $(LCLINTR) +hints charlit.c +charintliteral +ignoresigns\r
+\r
+clauses: \r
+ $(LCLINTR) clauses.c +memchecks -expect 4\r
+ $(LCLINTR) clauses2.c +memchecks \r
+ $(LCLINTR) clauses3.c +memchecks -expect 2\r
+ $(LCLINTR) clauses3.c +memchecks +unixlib -expect 3\r
+\r
+commentchar:\r
+ $(LCLINTR) commentchar.c -expect 4\r
+ $(LCLINTR) -commentchar '#' commentchar.c -expect 4\r
+\r
+controldepth:\r
+ $(LCLINTR) +hints -controlnestdepth 2 controldepth.c -expect 2\r
+ $(LCLINTR) +hints -controlnestdepth 1 controldepth.c -expect 2\r
+\r
+compdestroy:\r
+ $(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader -expect 1\r
+ $(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy -expect 2\r
+ $(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3\r
+ $(LCLINTRN) compdestroy.c +strict +partial -exportheader -expect 3\r
+\r
+constannot:\r
+ ${LCLINTRN} constannot.c +arraybounds -exportlocal -expect 2\r
+\r
+csyntax:\r
+ $(LCLINTR) +quiet -incondefs csyntax.c -expect 1 \r
+ $(LCLINTR) +quiet csyntax2.c -expect 2\r
+ $(LCLINTR) +quiet csyntax3.c -expect 1\r
+ $(LCLINTR) +quiet -incondefs csyntax4.c\r
+ $(LCLINTR) +quiet csyntax5.c\r
+ $(LCLINTR) +quiet csyntax6.c\r
+ $(LCLINTR) +quiet csyntax7.c\r
+ $(LCLINTR) +quiet csyntax8.c\r
+ $(LCLINTR) +quiet csyntax9.c\r
+ $(LCLINTR) +quiet csyntax10.c\r
+ $(LCLINTR) +quiet csyntax11.c\r
+ $(LCLINTR) +quiet csyntax12.c\r
+ $(LCLINTR) +quiet csyntax13.c -expect 1\r
+ $(LCLINTR) +quiet csyntax14.c\r
+ $(LCLINTR) +quiet csyntax15.c\r
+ $(LCLINTR) +quiet csyntax16.c -expect 2\r
+ $(LCLINTR) +quiet csyntax17.c -expect 3\r
+\r
+czechnames:\r
+ $(LCLINTR) czechnames.c\r
+ $(LCLINTR) +hints +czech czechnames.c -expect 2\r
+ $(LCLINTR) +hints +czech -czechvars czechnames.c -expect 1\r
+ $(LCLINTR) +hints +czech -accessczech czechnames.c -expect 6\r
+\r
+czechoslovaknames:\r
+ $(LCLINTR) +hints +czechoslovak czechnames.c -expect 1\r
+ $(LCLINTR) +hints +czechoslovak slovaknames.c -expect 1\r
+ $(LCLINTR) +hints +czechoslovak +slovakvars slovaknames.c -expect 2\r
+\r
+###\r
+### deadparam added 2001-05-27\r
+###\r
+\r
+deadparam:\r
+ ${LCLINTR} deadparam.c -expect 3\r
+\r
+#\r
+# Was expect 3 before 2.4. Earlier versions did not handle implicit\r
+# function pointers correctly.\r
+#\r
+\r
+decl:\r
+ $(LCLINTR) decl.c -expect 2\r
+ $(LCLINTRN) decl.c +strict -exportlocal -expect 5\r
+ $(LCLINTR) decl2 -expect 4\r
+\r
+enum:\r
+ $(LCLINTR) enum -expect 16\r
+ $(LCLINTR) enum -misscase -expect 14\r
+\r
+exports:\r
+ $(LCLINTR) exports.c +exporttype +exportvar +exportfcn +topuse +typeuse -expect 6\r
+ $(LCLINTR) exports.c +exportany -expect 3\r
+ $(LCLINTR) exports.c\r
+\r
+external:\r
+ $(LCLINTR) external.c +partial\r
+ $(LCLINTR) external.c +partial +distinctexternalnames -expect 2\r
+ $(LCLINTR) external.c -nolib +partial -externalnamelength 3 -expect 3\r
+ $(LCLINTR) external.c -nolib +partial -externalnamelength 3 +externalnamecaseinsensitive -expect 3\r
+ $(LCLINTR) external.c +partial -externalnamelength 3 -expect 4\r
+\r
+fields:\r
+ $(LCLINTR) fields.c +memchecks -expect 6\r
+ $(LCLINTR) fields2.c +memchecks -expect 5\r
+ $(LCLINTR) fields3.c +memchecks\r
+\r
+flags:\r
+ $(LCLINTR) flags.c -expect 8\r
+ $(LCLINTR) +nocomments flags.c -expect 2\r
+\r
+### Added 2001-06-02\r
+\r
+forbody:\r
+ ${LCLINTR} forbody.c -expect 2\r
+\r
+### Added 2001-06-03\r
+format:\r
+ ${LCLINTR} format.c -expect 3\r
+ ${LCLINTR} format.c -formatconst \r
+\r
+# two new errors (invalid lhs)\r
+\r
+funcpointer:\r
+ $(LCLINTR) +memchecks +noparams funcpointer.c -expect 18\r
+\r
+glob:\r
+ $(LCLINTR) glob -expect 4\r
+ $(LCLINTR) glob -globuse -expect 3\r
+ $(LCLINTR) glob +globunspec -expect 6\r
+\r
+globals:\r
+ $(LCLINTR) -modifies globals.c -expect 5\r
+ $(LCLINTR) -modifies globals.c +allglobals -expect 6\r
+ $(LCLINTR) -modifies globals.c +impcheckedglobals -expect 6\r
+ $(LCLINTR) -modifies globals.c -globals -checkstrictglobals -expect 2\r
+ $(LCLINTR) -modifies globals.c +globunspec -expect 6\r
+ $(LCLINTR) -modifies globals.c +globunspec +allglobals -expect 8\r
+\r
+# Was -accessfile\r
+impabstract: \r
+ $(LCLINTR) -accessmodule impabstract.c \r
+ $(LCLINTR) -accessmodule +hints +impabstract impabstract.c -expect 2\r
+ $(LCLINTR) -accessmodule +hints +impabstract impabstract -expect 4\r
+\r
+init:\r
+ $(LCLINTR) init.c -expect 12\r
+ $(LCLINTRN) init.c +checks -exportlocal -exportheadervar -expect 15\r
+\r
+inparam:\r
+ $(LCLINTR) inparam.c -expect 2\r
+ $(LCLINTR) +impouts inparam.c -expect 1\r
+\r
+internal:\r
+ $(LCLINTR) internal.c -expect 1\r
+ $(LCLINTR) internal.c +distinctinternalnames -expect 2\r
+ $(LCLINTR) internal.c -internalnamelen 28 -expect 3\r
+ $(LCLINTR) internal.c +internalnamecaseinsensitive -expect 3\r
+ $(LCLINTR) internal.c +internalnamecaseinsensitive +internalnamelookalike -expect 11\r
+\r
+###\r
+### iter\r
+### 2001-06-06: Error message for iter.lcl:3,6 fixed to iter.lcl:3:6\r
+### \r
+\r
+iter:\r
+ $(LCLINTR) iter -expect 14 -lclexpect 1\r
+ $(LCLINTR) iter2.c -expect 12\r
+\r
+keep:\r
+ $(LCLINTR) keep.c +memchecks -expect 6\r
+\r
+### libs\r
+### 2001-05-22: 2 new errors found (fixed spec of signal)\r
+### 2001-05-30: 3 new errors found (formatconst)\r
+\r
+libs:\r
+ $(LCLINTR) libs.c +longunsignedunsignedintegral -expect 18\r
+ $(LCLINTR) libs.c -expect 22\r
+ $(LCLINTR) libs.c +globunspec +modunspec -expect 25\r
+ $(LCLINTR) libs.c +strictlib +globunspec +modunspec -expect 42\r
+\r
+lintcomments:\r
+ $(LCLINTR) lintcomments.c -expect 4\r
+ $(LCLINTR) lintcomments.c -warnlintcomments -expect 1\r
+ $(LCLINTR) lintcomments.c -lintcomments -expect 4\r
+\r
+list:\r
+ $(LCLINTR) list.c -expect 3\r
+\r
+macros:\r
+ $(LCLINTR) macros -expect 17 \r
+ $(LCLINTR) macros.c +allmacros -expect 34\r
+ $(LCLINTR) macros.c +fcnmacros -expect 31\r
+\r
+\r
+macrosef:\r
+ $(LCLINTR) macrosef -expect 4\r
+ $(LCLINTR) macrosef.c +allmacros -expect 3\r
+ $(LCLINTR) macrosef.c +allmacros +sefuncon -expect 4\r
+\r
+merge:\r
+ $(LCLINTRN) merge.c +checks -exportlocal -exportheadervar -exportheader -expect 3\r
+\r
+modifies:\r
+ $(LCLINTR) modifies.c modclient.c +impcheckedstatics +mustmod -expect 7\r
+\r
+modtest:\r
+ $(LCLINTR) modtest -expect 10\r
+ $(LCLINTR) modtest +modunspec -expect 13\r
+ $(LCLINTR) modtest +mustmod -expect 14\r
+\r
+moduncon:\r
+ $(LCLINTR) moduncon.c +moduncon -memchecks -expect 4\r
+ $(LCLINTRN) moduncon.c +strict -exportlocal -expect 22\r
+\r
+mongoincludes:\r
+ $(LCLINTR) mongoincludes.c -includenest 1 -expect 19\r
+ $(LCLINTR) mongoincludes.c -includenest 2 -expect 10\r
+ $(LCLINTR) mongoincludes.c -includenest 3 -expect 4\r
+ $(LCLINTR) mongoincludes.c -includenest 4 -expect 1\r
+ $(LCLINTR) mongoincludes.c -includenest 5 -expect 0\r
+\r
+mystrncat:\r
+ $(LCLINTR) mystrncat.c +arraybounds +arrayboundsread -expect 4 \r
+\r
+noeffect:\r
+ ${LCLINT} -nof noeffect.c +allmacros +checks -expect 3\r
+\r
+null: \r
+ $(LCLINTR) null1.c -expect 14\r
+ $(LCLINTR) null1.c -null -expect 4\r
+ $(LCLINTR) null2.c -expect 10\r
+ $(LCLINTR) null3.c -expect 15\r
+ $(LCLINTR) null3.c -warnunixlib +unixlib -expect 16\r
+ $(LCLINTR) null4.c -expect 1\r
+ $(LCLINTR) null5.c -expect 4\r
+ $(LCLINTR) null6 -expect 4\r
+ $(LCLINTR) +quiet null6.lcl -dump null6\r
+ $(LCLINTR) null6.c -load null6 -expect 4\r
+\r
+### Added for 3.0 (bugs reported by Kevin Broady)\r
+\r
+nullret:\r
+ $(LCLINTR) nullret.c -expect 2\r
+ $(LCLINTR) -nullret nullret.c -expect 1\r
+\r
+nullassign:\r
+ $(LCLINTR) nullassign.c -expect 2\r
+ $(LCLINTR) -nullassign nullassign.c -expect 1\r
+\r
+\r
+#\r
+# Before 2.4, expected one more because error was reported both as \r
+# dependent and observer.\r
+#\r
+\r
+observer:\r
+ $(LCLINTRN) observer +checks -exportlocal -exportheader -expect 9\r
+ $(LCLINTRN) observer.c +checks -exportlocal -exportheader -expect 8\r
+ $(LCLINTR) observer.c -expect 7\r
+\r
+oldstyle:\r
+ $(LCLINTR) oldstyle -expect 3\r
+\r
+outglob:\r
+ $(LCLINTR) outglob -expect 10\r
+\r
+outparam:\r
+ $(LCLINTR) outparam -expect 12\r
+\r
+### evans 2001-08-26: postnotnull new\r
+\r
+postnotnull:\r
+ ${LCLINTR} postnotnull.c -expect 1\r
+#\r
+# Four new +fcnuse errors for -strict (evans 2001-07-22)\r
+# \r
+\r
+preds:\r
+ $(LCLINTR) +hints preds.c -expect 6\r
+ $(LCLINTRN) +hints preds.c -weak -expect 1\r
+ $(LCLINTRN) +hints preds.c -strict -exportlocal -exportheader -expect 12\r
+\r
+prefixes:\r
+ $(LCLINTR) prefixes.c +partial\r
+ $(LCLINTRN) prefixes.c +allmacros +checks -exportlocal +partial -exportheader -exportheadervar -expect 4\r
+ $(LCLINTR) prefixes.c -typeprefix "T" -expect 2\r
+ $(LCLINTR) prefixes.c -typeprefix "^" -expect 1\r
+ $(LCLINTR) prefixes.c -typeprefix "^*" -expect 2\r
+ $(LCLINTR) prefixes.c -typeprefix "^%*" -expect 2\r
+ $(LCLINTR) prefixes.c -typeprefix "^~*" -expect 2\r
+ $(LCLINTR) prefixes.c -typeprefix "^" +typeprefixexclude -expect 7\r
+ $(LCLINTR) prefixes.c -filestaticprefix "^^" -expect 4\r
+ $(LCLINTR) prefixes.c -filestaticprefix "^#" -expect 5\r
+ $(LCLINTR) prefixes.c -filestaticprefix "^?&x" -expect 5\r
+ $(LCLINTR) prefixes.c -globalprefix "G" -expect 1\r
+ $(LCLINTR) prefixes.c -globalprefix "&G?_^" -expect 1\r
+ $(LCLINTR) prefixes.c -externalprefix "G" -expect 5\r
+ $(LCLINTR) prefixes.c -typeprefix "T" -externalprefix "G" -expect 4\r
+\r
+# herbert: does not work (shell capabilities)\r
+# $(LCLINTR) prefixes.c -localprefix "?*" +localprefixexclude -expect 13\r
+\r
+printflike:\r
+ $(LCLINTR) printflike.c -expect 6\r
+ $(LCLINTR) printflike.c -warnlintcomments -expect 5\r
+\r
+rc:\r
+ $(LCLINTR) -DMYSTERY=12 rc.c -expect 1\r
+ $(LCLINTR) -f rc1.lclintrc rc.c -expect 1\r
+ $(LCLINTR) -UMYSTERY -f rc1.lclintrc rc.c -expect 1\r
+ $(LCLINTR) -f rc3.lclintrc.os2 rc.c -expect 1\r
+\r
+refcounts:\r
+ $(LCLINTR) refcounts.c -expect 7 \r
+\r
+release:\r
+ $(LCLINTR) release.c +memchecks -expect 1\r
+\r
+repexpose:\r
+ $(LCLINTR) +lh repexpose +memchecks -expect 12\r
+ $(LCLINTR) repexpose +memchecks +retalias -expect 15\r
+ $(LCLINTRN) repexpose +checks -exportlocal -expect 27\r
+\r
+### returned added 2001-05-27\r
+### (Bug discovered checking lclint sources.)\r
+\r
+returned:\r
+ ${LCLINTR} returned.c -expect 1\r
+\r
+sharing: \r
+ $(LCLINTR) sharing1.c -expect 21\r
+ $(LCLINTR) sharing3.c -expect 3\r
+ $(LCLINTR) sharing4.c -expect 13\r
+ $(LCLINTR) sharing4.c -paramimptemp -expect 12\r
+ $(LCLINTR) sharing5.c -expect 6\r
+\r
+slovaknames:\r
+ $(LCLINTR) +hints slovaknames.c -expect 1\r
+ $(LCLINTR) +hints slovaknames.c +accessslovak \r
+ $(LCLINTR) +hints +slovak slovaknames.c -expect 3\r
+ $(LCLINTR) +hints +slovak -slovakvars slovaknames.c -expect 2\r
+ $(LCLINTR) +hints +slovak -accessslovak slovaknames.c -expect 7\r
+\r
+specclauses:\r
+ $(LCLINTR) specclauses.c -expect 6\r
+ $(LCLINTR) specclauses2.c -expect 8\r
+ $(LCLINTR) specclauses3.c -expect 6\r
+ $(LCLINTR) specclauses4.c -expect 3\r
+ $(LCLINTR) specclauses5.c -expect 3\r
+\r
+special:\r
+ $(LCLINTR) special -expect 20\r
+ $(LCLINTR) special -relaxquals -expect 22\r
+\r
+stack:\r
+ $(LCLINTR) stack.c -expect 5\r
+ $(LCLINTR) stack.c -stackref\r
+\r
+staticarray:\r
+ $(LCLINTR) staticarray.c -expect 3\r
+\r
+strings:\r
+ $(LCLINTR) strings.c -expect 3\r
+ $(LCLINTR) -readonlystrings -expect 1 strings.c\r
+ $(LCLINTR) +modobserverstrict -maintype -expect 4 strings.c\r
+\r
+structassign:\r
+ $(LCLINTR) structassign.c -expect 4\r
+\r
+typequals:\r
+ $(LCLINTR) typequals.c tq.lcl -expect 5\r
+ $(LCLINTR) typequals.c -expect 2\r
+\r
+ud:\r
+ $(LCLINTR) ud.c -expect 9\r
+ $(LCLINTR) ud2 -specundef -expect 3\r
+\r
+ulstypes:\r
+ $(LCLINTR) ulstypes.c -expect 8\r
+ $(LCLINTR) ulstypes.c +ignorequals \r
+ $(LCLINTRN) ulstypes.c +strict -exportheader -exportheadervar -expect 28\r
+# 3 more detected with version 2.5 (change in -numliteral setting)\r
+\r
+union:\r
+ $(LCLINTR) +memchecks union.c -expect 8\r
+\r
+unreachable:\r
+ $(LCLINTR) unreachable.c -expect 5\r
+ $(LCLINTR) -unreachable unreachable.c -expect 2\r
+ $(LCLINTR) switch.c -expect 4\r
+\r
+unsignedcompare:\r
+ ${LCLINT} +posixlib unsignedcompare.c -expect 2\r
+\r
+\r
+###\r
+### 2001-06-08 evans: 2 new errors after fixing ansireserved name checks\r
+###\r
+\r
+unused:\r
+ $(LCLINTRN) unused.c +checks -exportlocal -expect 5\r
+ $(LCLINTRN) unused.c +checks -exportlocal +topuse -expect 8\r
+\r
+###\r
+### 2001-06-10: Provided by Jim Zalenka\r
+###\r
+\r
+ullint:\r
+ ${LCLINTRN} ullint.c -expect 5\r
+ ${LCLINTRN} ullint.c +charint +charintliteral -expect 2\r
+\r
+void:\r
+ ${LCLINTRN} void.c -expect 2\r
+\r
+###\r
+### New since 2.5q:\r
+###\r
+\r
+linked:\r
+ ${LCLINTR} linked.c -expect 4\r
+ ${LCLINTR} linked2.c -expect 3\r
+ ${LCLINTR} linked3.c -expect 5\r
+ ${LCLINTR} linked4.c -expect 6\r
+ ${LCLINTR} linked5.c -expect 4\r
+ ${LCLINTR} linked6.c -expect 4\r
+\r
+freearray:\r
+ ${LCLINTR} freearray.c -expect 1\r
+\r
+###\r
+### Bugs fixed and new features since version 2.1b\r
+###\r
+\r
+tests2.2:\r
+ @echo " Note: expect difference in name of unclosed file."\r
+ $(MAKE) -C tests2.2 -f Makefile-tests2.2.os2 LCLINT="$(LCLINTR)"\r
+\r
+tests2.4:\r
+ $(MAKE) -C tests2.4 -f Makefile-tests2.4.os2 LCLINT="$(LCLINTR)"\r
+\r
+tests2.5:\r
+ $(MAKE) -C tests2.5 LCLINT="$(LCLINTR)"\r
+\r
+sizeoftest:\r
+ @cd sizeoftest ; \\r
+ $(LCLINTR) +arraybounds +arrayboundsread sizeof.c\r
+\r
+bufferTest:\r
+ @cd bufferTest ; \\r
+ $(LCLINTR) +arraybounds +arrayboundsread test4.c test6.c\r
+\r
+simplebufferConstraintTests:\r
+ @cd simplebufferConstraintTests ; \\r
+ $(LCLINTR) +arraybounds +arrayboundsread m.c sizeof.c test3.c test7.c\r
+\r
+moreBufferTests:\r
+ @cd moreBufferTests ; \\r
+ $(LCLINTR) +arraybounds +arrayboundsread unrecogCall.c strrchr.c initialization.c simplifyTest.c strncatNotReallyGood.c strncatReallyGood.c\r
+\r
+maxset:\r
+ @cd maxset ; \\r
+ $(LCLINTR) +arraybounds maxsetannotations.c; \\r
+ $(LCLINTR) +arraybounds maxsetnoannotations.c -expect 1\r
+\r
+globalbufferannotation:\r
+ @cd globalbufferannotation ; \\r
+ $(LCLINTR) +arraybounds +arrayboundsread globalvariable.c\r
+\r
+strchr:\r
+ @cd strchr ; \\r
+ $(LCLINTR) +arraybounds +arrayboundsread strchr.c -expect 2\r
+\r
+for:\r
+ @cd for ; \\r
+ $(LCLINTR) +arraybounds +arrayboundsread for.c\r
+\r
+metastate:\r
+ @cd metastate ; \\r
+ $(LCLINTR) -mts file file1.c -expect 4; \\r
+ $(LCLINTR) -mts file file2.c -varuse -fcnuse -expect 2; \\r
+ $(LCLINTR) -mts file file3.c -varuse -fcnuse -expect 2; \\r
+ $(LCLINTR) -mts file file4.c -varuse -fcnuse -exportlocal -expect 1 ; \\r
+ $(LCLINTR) -mts file file5.c -varuse -fcnuse -exportlocal -expect 4; \\r
+ $(LCLINTR) -mts file file6.c -varuse -fcnuse -exportlocal -expect 2; \\r
+ $(LCLINTR) -mts file filebad.c -expect 3; \\r
+ $(LCLINTR) sockets.mts sockets.c -expect 3; \\r
+ $(LCLINTR) sockets.mts sockets2.c -expect 2; \\r
+ $(LCLINTR) -mts file struct.c -expect 1; \\r
+ $(LCLINTR) -mts file nullbranch.c -expect 2; \\r
+ $(LCLINTR) -mts file osd.c -expect 2\r
+\r
+mergestate:\r
+ @cd mergestate ; \\r
+ $(LCLINTR) -mts taintednm taintednm.c -mustfree -exportlocal -expect 2; \\r
+ $(LCLINTR) -mts tainted taintednm.c -mustfree -exportlocal -expect 4\r
+\r
+tainted:\r
+ @cd mergestate ; \\r
+ $(LCLINTR) -mts tainted tainted.c -mustfree -exportlocal -expect 4; \\r
+ $(LCLINTR) tainted-bad.mts tainted.xh tainted.c -mustfree -exportlocal -expect 9; \\r
+ $(LCLINTR) -mts tainted tainted2.c -mustfree -exportlocal -expect 1; \\r
+ $(LCLINTR) -mts tainted tainted3.c -mustfree -exportlocal -expect 1; \\r
+ $(LCLINTR) -mts tainted tainted4.c -mustfree -exportlocal -expect 1; \\r
+ $(LCLINTR) -mts tainted tainted5.c -mustfree -exportlocal; \\r
+ $(LCLINTR) -mts tainted taintedmerge.c -mustfree -exportlocal -expect 3; \\r
+ $(LCLINTR) -mts tainted taintedimplicit.c -mustfree -exportlocal -expect 1; \\r
+ $(LCLINTR) -mts tainted sprintf.c -expect 2\r
+\r
+fileio:\r
+ @cd fileio ; \\r
+ $(LCLINTR) -mts file -mts filerw filerw.c -expect 3; \\r
+ $(LCLINTR) -mts file -mts filerw file.c -expect 3; \\r
+ $(LCLINTR) -mts file filebranch.c\r
+\r
+warnuse:\r
+ @cd warnuse; \\r
+ $(LCLINTR) warnuse.c -expect 4; \\r
+ $(LCLINTR) warnuse.c -warnuse -expect 1; \\r
+ $(LCLINTR) warnuse.c -warnuse +bufferoverflow -expect 1; \\r
+ $(LCLINTR) warnuse.c -bufferoverflow -expect 2; \\r
+ $(LCLINTR) warngets.c -expect 1\r
+\r
+ensuresclauses:\r
+ @cd ensuresclauses ; \\r
+ ${LCLINT} ensures.c +fcnconstraint\r
+\r
+\r
+###\r
+### Integration Tests\r
+###\r
+\r
+db1:\r
+ setenv LCLINT '$(LCLINTRN)'; cd db1; $(MAKE) -e test\r
+\r
+\r
+### evans 2000-12-22\r
+### 2 errors are no longer reported, since eref is immutable.\r
+### Need to clarify what it means for an object to be immutable;\r
+### there should be 2 types with different storage requirements.\r
+\r
+db2:\r
+ setenv LCLINT '$(LCLINTRN)'; cd db2; $(MAKE) -e test\r
+\r
+db3:\r
+ setenv LCLINT '$(LCLINTRN)'; cd db3; $(MAKE) -e test\r
+\r
+clean:\r
+ -rm -f *~ #*# *.o *.lcs a.out \r
+ -cd db1 ; $(MAKE) clean\r
+ -cd db2 ; $(MAKE) clean\r
+ -cd db3 ; $(MAKE) clean\r
+\r
+\r
+\r