.PHONY: version help abstptr abstract alias alttypes ansireserved
.PHONY: argorder args blocks break cases cast charlit
.PHONY: clauses commentchar
-.PHONY: compdestroy controldepth csyntax czechnames czechoslovaknames
+.PHONY: compdestroy constannot controldepth csyntax czechnames czechoslovaknames
.PHONY: deadparam decl enum exports external fields fileio flags forbody format funcpointer glob globals
.PHONY: impabstract init inparam internal iter keep libs lintcomments
-.PHONY: list macros macrosef merge modifies modtest moduncon mongoincludes
-.PHONY: null observer oldstyle outglob outparam preds prefixes printflike rc
+.PHONY: list macros macrosef merge mergestate modifies modtest moduncon mongoincludes
+.PHONY: noeffect null observer oldstyle outglob outparam preds prefixes printflike rc
.PHONY: refcounts release repexpose returned sharing slovaknames special
.PHONY: specclauses stack staticarray
.PHONY: strings structassign nullret
.PHONY: tainted typequals ud ulstypes union unreachable unused ullint void
.PHONY: db1 db2 db3 tests2.2 tests2.2a tests2.4 tests2.5
.PHONY: all test fulltest expects quicktest
-.PHONY: metastate warnuse
+.PHONY: warnuse metastate
.PHONY: linked freearray
.PHONY: sizeoftest
.PHONY: bufferTest
SHELL = /bin/csh -f
# Command to run lclint
-LCLINT = ${HOME}/LCLintDev/bin/lclint
+# ${HOME}/LCLintDev/src/lclint
+LCLINT = lclint
LCLINTP = $(LCLINT)
# Make sure .lclintrc files are not used so test results do not
# depend on local settings.
LCLINTRN = $(LCLINTP) -nof -hints -booltype "bool"
-LCLINTR = $(LCLINTRN) -exportlocal +debugfcnconstraint
-
-UNITTESTS = help sizeoftest bufferTest simplebufferConstraintTests moreBufferTests globalbufferannotation maxset strchr for abstptr abstract alias alttypes ansireserved argorder args blocks break cases cast \
- charlit clauses commentchar compdestroy controldepth csyntax czechnames czechoslovaknames deadparam \
- decl enum exports external fields fileio flags forbody format freearray funcpointer glob globals impabstract \
- init inparam internal iter keep libs linked lintcomments list macros macrosef merge metastate modifies \
- modtest moduncon mongoincludes mystrncat null nullret nullassign observer oldstyle \
- outglob outparam preds prefixes \
- printflike rc refcounts release repexpose returned sharing slovaknames specclauses special stack \
- staticarray strings structassign tainted typequals ud ulstypes union unreachable unused ullint void warnuse \
- tests2.2 tests2.2a tests2.4 tests2.5
+LCLINTR = $(LCLINTRN) -exportlocal +debugfcnconstraint
+
+UNITTESTS = \
+ fileio tainted mergestate nullret nullassign warnuse metastate \
+ help sizeoftest bufferTest simplebufferConstraintTests \
+ moreBufferTests 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 glob globals impabstract \
+ init inparam internal iter keep libs linked lintcomments list macros macrosef merge modifies \
+ modtest moduncon mongoincludes mystrncat noeffect null observer oldstyle \
+ outglob outparam preds prefixes \
+ printflike rc refcounts release repexpose returned sharing slovaknames specclauses special stack \
+ staticarray strings structassign \
+ typequals ud ulstypes union unreachable unused ullint void \
+ tests2.2 tests2.2a tests2.4 tests2.5
+
+###
+### Attribute checking is not ready for the 3.0.0.9 alpha release:
+###
+
+#drl removed the following tests
+#fileio tainted mergestate nullret nullassign warnuse metastate \
UNITEXPECTS = $(addsuffix .expect, $(UNITTESTS))
GREP = grep
DIFF = diff
-CLEANOUTPUT = $(GREP) -v "LCLint 3." | $(GREP) -v "make -e" | $(GREP) -v "make\[" | $(GREP) -v "lclint -nof" | $(GREP) -v "make -e"
+
+###
+### This is a kludgey way of processing the output to make it match exactly
+###
+
+CLEANOUTPUT = $(GREP) -v "LCLint 3." | $(GREP) -v "make -e" | $(GREP) -v "make\[" | $(GREP) -v "lclint -nof" | $(GREP) -v "make -e" | $(GREP) -v $(HOME)
### not real .c
$(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3
$(LCLINTRN) compdestroy.c +strict +partial -exportheader -expect 3
+constannot:
+ ${LCLINTRN} constannot.c +arraybounds -exportlocal -expect 2
+
csyntax:
$(LCLINTR) +quiet -incondefs csyntax.c -expect 1
$(LCLINTR) +quiet csyntax2.c -expect 2
$(LCLINTR) mongoincludes.c -includenest 5 -expect 0
mystrncat:
- $(LCLINTR) mystrncat.c +fcnconstraint -expect 4
+ $(LCLINTR) mystrncat.c +arraybounds +arrayboundsread -expect 4
+
+noeffect:
+ ${LCLINT} -nof noeffect.c +allmacros +checks -expect 3
null:
$(LCLINTR) null1.c -expect 14
outparam:
$(LCLINTR) outparam -expect 12
+#
+# Four new +fcnuse errors for -strict (evans 2001-07-22)
+#
+
preds:
$(LCLINTR) +hints preds.c -expect 6
$(LCLINTRN) +hints preds.c -weak -expect 1
- $(LCLINTRN) +hints preds.c -strict -exportlocal -exportheader -expect 8
+ $(LCLINTRN) +hints preds.c -strict -exportlocal -exportheader -expect 12
prefixes:
$(LCLINTR) prefixes.c +partial
sizeoftest:
@cd sizeoftest; \
- $(LCLINTR) +functionconstraint sizeof.c
+ $(LCLINTR) +arraybounds +arrayboundsread sizeof.c
bufferTest:
@cd bufferTest; \
- $(LCLINTR) +functionconstraint test4.c test6.c
+ $(LCLINTR) +arraybounds +arrayboundsread test4.c test6.c
simplebufferConstraintTests:
@cd simplebufferConstraintTests; \
- $(LCLINTR) +functionconstraint m.c sizeof.c test3.c test7.c
+ $(LCLINTR) +arraybounds +arrayboundsread m.c sizeof.c test3.c test7.c
moreBufferTests:
@cd moreBufferTests; \
- $(LCLINTR) +functionconstraint +orconstraint unrecogCall.c strrchr.c initialization.c simplifyTest.c strncatNotReallyGood.c strncatReallyGood.c
+ $(LCLINTR) +arraybounds +arrayboundsread unrecogCall.c strrchr.c initialization.c simplifyTest.c strncatNotReallyGood.c strncatReallyGood.c
maxset:
@cd maxset; \
- $(LCLINTR) -f .lclintrc -booltype "lltX_bool" maxsetannotations.c; \
- echo $(LCLINTR); \
- $(LCLINTR) -f .lclintrc -booltype "lltX_bool" maxsetnoannotations.c
+ $(LCLINTR) +arraybounds maxsetannotations.c; \
+ $(LCLINTR) +arraybounds maxsetnoannotations.c -expect 1
globalbufferannotation:
@cd globalbufferannotation; \
- $(LCLINTR) +functionconstraint globalvariable.c
-
+ $(LCLINTR) +arraybounds +arrayboundsread globalvariable.c
strchr:
@cd strchr; \
- $(LCLINTR) -f .lclintrc -booltype "lltX_bool" strchr.c
+ $(LCLINTR) +arraybounds +arrayboundsread strchr.c -expect 2
for:
@cd for; \
- $(LCLINTR) -f .lclintrc -booltype "lltX_bool" for.c
+ $(LCLINTR) +arraybounds +arrayboundsread for.c
tests2.5:
setenv LCLINT '$(LCLINTRN)'; cd tests2.5 ; $(MAKE) -e
metastate:
setenv LCLINT '$(LCLINTRN)'; cd metastate ; $(MAKE) -e
+mergestate:
+ setenv LCLINT '$(LCLINTRN)'; cd mergestate ; $(MAKE) -e
+
tainted:
setenv LCLINT '$(LCLINTRN)'; cd tainted ; $(MAKE) -e