-##################################################
-### ###
-### Makefile for LCLint testing ###
-### ###
-### designed for use with GNU make ###
-### ###
-##################################################
-
-.PHONY: all fulltest quicktest funcpointer cast abstract
-.PHONY: version help abstptr abstract alias alttypes ansireserved
-.PHONY: argorder args blocks branchstate break cases cast charlit
-.PHONY: clauses commentchar arrayinit
-.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 longconstants macros macrosef merge mergestate modifies modtest moduncon mongoincludes
-.PHONY: noeffect null observer oldstyle outglob outparam postnotnull 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 unsignedcompare void
-.PHONY: db1 db2 db3 tests2.2 tests2.2a tests2.4 tests2.5
-.PHONY: all test fulltest expects quicktest
-.PHONY: warnuse metastate
-.PHONY: linked freearray
-.PHONY: sizeoftest
-.PHONY: bufferTest
-.PHONY: simplebufferConstraintTests
-.PHONY: moreBufferTests
-.PHONY: maxset
-.PHONY: globalbufferannotation
-.PHONY: strchr
-.PHONY: for
-
-.SUFFIXES: .out .expect .c .lcl .h .lh .diff
-
-SHELL = /bin/csh -f
-
-# Command to run lclint
-# ${HOME}/LCLintDev/src/lclint
-LCLINT = lclint
-LCLINTP = $(LCLINT)
+# Makefile.in generated automatically by automake 1.5 from Makefile.am.
+
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+# Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+SHELL = /bin/sh
+
+srcdir = .
+top_srcdir = ..
+
+prefix = /usr/local
+exec_prefix = ${prefix}
+
+bindir = ${exec_prefix}/bin
+sbindir = ${exec_prefix}/sbin
+libexecdir = ${exec_prefix}/libexec
+datadir = ${prefix}/share
+sysconfdir = ${prefix}/etc
+sharedstatedir = ${prefix}/com
+localstatedir = ${prefix}/var
+libdir = ${exec_prefix}/lib
+infodir = ${prefix}/info
+mandir = ${prefix}/man
+includedir = ${prefix}/include
+oldincludedir = /usr/include
+pkgdatadir = $(datadir)/lclint
+pkglibdir = $(libdir)/lclint
+pkgincludedir = $(includedir)/lclint
+top_builddir = ..
+
+ACLOCAL = ${SHELL} /net/af10/evans/LCLintDev/config/missing --run aclocal
+AUTOCONF = ${SHELL} /net/af10/evans/LCLintDev/config/missing --run autoconf
+AUTOMAKE = ${SHELL} /net/af10/evans/LCLintDev/config/missing --run automake
+AUTOHEADER = ${SHELL} /net/af10/evans/LCLintDev/config/missing --run autoheader
+
+INSTALL = /usr/bin/install -c
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = s,x,x,
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias =
+host_triplet = i686-pc-linux-gnu
+AMTAR = ${SHELL} /net/af10/evans/LCLintDev/config/missing --run tar
+AWK = gawk
+BISON = bison
+CAT = cat
+CC = gcc
+CP = cp
+CPP = gcc -E
+CXX = g++
+DEPDIR = .deps
+DIFF = diff
+EXEEXT =
+GREP = grep
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
+LCLOBJ = $(lcl_OBJECTS)
+LEX = flex
+LN_S = ln -s
+MV = mv
+OBJEXT = o
+PACKAGE = lclint
+RM = rm
+VERSION = 3.0.0.19
+am__include = include
+am__quote =
+install_sh = /net/af10/evans/LCLintDev/config/install-sh
+
+AUTOMAKE_OPTIONS = 1.5 foreign
+
+DIFFFLAGS = -u
+
+LCLINT = $(top_builddir)/bin/lclint$(EXEEXT)
+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
-
-# removed for now: nullret nullassign warnuse
+LCLINTR = $(LCLINTRN) -exportlocal +debugfcnconstraint
-# fileio tainted mergestate metastate \
-UNITTESTS = \
- help sizeoftest bufferTest simplebufferConstraintTests \
- moreBufferTests globalbufferannotation maxset strchr for \
- abstptr abstract alias alttypes ansireserved argorder args arrayinit blocks branchstate 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 \
- fileio tainted metastate \
- init inparam internal iter keep libs linked lintcomments list longconstants macros macrosef merge 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 unreachable unsignedcompare 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))
+### !!!
+### These tests have been temporarily removed because of problems with the new build process:
+### fileio tainted mergestate metastate help sizeoftest bufferTest \
+### tests2.2 tests2.2a tests2.4 tests2.5
+### simplebufferConstraintTests moreBufferTests globalbufferannotation \
+### maxset strchr for
+UNITTESTS = \
+ 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 \
+ postnotnull preds prefixes printflike rc refcounts release repexpose \
+ returned sharing slovaknames specclauses special stack staticarray strings \
+ structassign typequals ud ulstypes union unreachable unsignedcompare \
+ unused ullint void
+
+UNITEXPECTS = $(addsuffix .expect, $(UNITTESTS))
INTEGTESTS = db1 db2 db3
-INTEGEXPECTS = $(addsuffix .expect, $(INTEGTESTS))
+INTEGEXPECTS = $(addsuffix .expect, $(INTEGTESTS))
LCLINTTESTS = $(UNITTESTS) $(INTEGTESTS)
QUICKTESTS = db3
-all: fulltest
-test: fulltest
+CLEANOUTPUT = $(GREP) -v "LCLint 3." | $(GREP) -v "$(LCLINT)" | $(GREP) -v "^make.*\[[1-9]*\]:"
-GREP = grep
-DIFF = diff
+
+#!!!!
+# @echo ""
+# @echo "Integration tests:"
+# @echo ""
+# @for TEST in $(INTEGTESTS); do \
+# echo "Checking $$TEST..."; \
+# $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.out && \
+# $(DIFF) $(DIFFFLAGS) $$TEST.expect $$TEST.out || \
+# echo "*** FAIL ***"; \
+# done
###
-### This is a kludgey way of processing the output to make it match exactly
+### Bugs fixed and new features since version 2.1b
###
+SUBDIRTESTS = metastate mergestate tainted fileio warnuse ensuresclauses tests2.2 tests2.4 tests2.5 db1 db2 db3
+subdir = test
+mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+DIST_SOURCES =
+DIST_COMMON = Makefile.am Makefile.in
+all: all-am
-CLEANOUTPUT = $(GREP) -v "LCLint 3." | $(GREP) -v "make -e" | $(GREP) -v "make\[" | $(GREP) -v "lclint -nof" | $(GREP) -v "make -e" | $(GREP) -v $(HOME)
+.SUFFIXES:
+.SUFFIXES: .c .diff .expect
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign test/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) && \
+ CONFIG_HEADERS= CONFIG_LINKS= \
+ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
+uninstall-info-am:
+tags: TAGS
+TAGS:
-### not real .c
-.c.expect:
- $(MAKE) -e $(*) |& $(CLEANOUTPUT) > $(*).expect ; \
- cat $(*).expect
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-.c.diff:
- $(MAKE) -e $(*) |& $(CLEANOUTPUT) > $(*).out ; \
- diff $(*).expect $(*).out
+top_distdir = ..
+distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
-expects:
- echo "Saving old expects: " ; \
- more *.expect | cat > expects-`date +"%y-%m-%d-%H"`
- @$(foreach test, $(UNITTESTS), \
- echo "Making "$(test)".expect: " ; \
- $(MAKE) -e $(test) |& $(CLEANOUTPUT) > $(test).expect ; \
- cat $(test).expect ; )
- @echo "Integration Tests"
- @$(foreach test, $(INTEGTESTS), \
- echo "Making "$(test)".expect: "; \
- $(MAKE) -e $(test) |& $(CLEANOUTPUT) > $(test).expect ; \
- cat $(test).expect ; )
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ $(mkinstalldirs) "$(distdir)/$$dir"; \
+ fi; \
+ if test -d $$d/$$file; then \
+ cp -pR $$d/$$file $(distdir) \
+ || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
-quicktest:
- @$(foreach test, $(QUICKTESTS), \
- echo "Checking "$(test)"... " ; \
- $(MAKE) -e $(test) |& $(CLEANOUTPUT) > $(test).out ; \
- $(DIFF) $(test).expect $(test).out ; \
- if ($$status) echo "*** FAIL ***" ; \
- )
-fulltest:
- @echo ''
- @echo 'Testing '$(LCLINTP)
- @echo ''
- @echo 'Version:'
- @echo ''
- @$(LCLINTP) -help version
- @$(LCLINTP) -help vars
- @echo ''
- @echo "Unit Tests:"
- @echo ''
- @$(foreach test, $(UNITTESTS), \
- echo "Checking "$(test)"... " ; \
- $(MAKE) -e $(test) |& $(CLEANOUTPUT) > $(test).out ; \
- $(DIFF) $(test).expect $(test).out ; \
- if ($$status) echo "*** FAIL ***" ; \
- )
- @echo ''
- @echo "Integration Tests"
- @echo ''
- @$(foreach test, $(INTEGTESTS), \
- echo "Checking "$(test)"... "; \
- $(MAKE) -e $(test) |& $(CLEANOUTPUT) > $(test).out ; \
- $(DIFF) $(test).expect $(test).out ; )
+installdirs:
-###
-### Unit Tests
-###
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-local mostlyclean-am
+
+distclean: distclean-am
+
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+uninstall-am: uninstall-info-am
+.PHONY: all all-am check check-am clean clean-generic clean-local \
+ distclean distclean-generic distdir dvi dvi-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic uninstall uninstall-am uninstall-info-am
+
+
+.PHONY: all check
+all check: fulltest
+
+.PHONY: version
version:
-$(LCLINTP) -help version
+.PHONY: help
help:
-@$(LCLINTP)
- -@setenv LARCH_PATH "/dev/null"; $(LCLINTP) empty.lcl
+ -@LARCH_PATH=/dev/null $(LCLINTP) empty.lcl
-@$(LCLINTP) -help
-@$(LCLINTP) -asdf
-@$(LCLINTP) +boolint +boolint
-@$(LCLINTP) -help flags alpha
-@$(LCLINTP) -help flags all
+.PHONY: clean-local
+clean-local:
+ -rm -f *~ #*# *.o *.lcs a.out
+ -cd db1; $(MAKE) clean
+ -cd db2; $(MAKE) clean
+ -cd db3; $(MAKE) clean
+
+$(LCLINTTESTS): $(LCLINT)
+
+$(LCLINT):
+ cd $(top_builddir)/src; $(MAKE)
+
+.c.expect:
+ $(MAKE) $* |& $(CLEANOUTPUT) >$*.expect && cat $*.expect
+
+.c.diff:
+ $(MAKE) $* |& $(CLEANOUTPUT) >$*.out && diff $*.expect $*.out
+
+.PHONY: expects
+expects:
+ @echo "Saving old expects..."; \
+ cat *.expect >expects-`date +"%y-%m-%d-%H"`
+ @for TEST in $(UNITTESTS) $(INTEGTESTS); do \
+ echo "Making $$TEST.expect..."; \
+ $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.expect; \
+ cat $$TEST.expect; \
+ done
+
+.PHONY: quicktest
+quicktest:
+ @for TEST in $(QUICKTESTS); do \
+ echo "Checking $$TEST..."; \
+ $(MAKE) $$TEST 2>&1 | $(CLEANOUTPUT) >$$TEST.out && \
+ $(DIFF) $(DIFFFLAGS) $$TEST.expect $$TEST.out || \
+ echo "*** FAIL ***"; \
+ done
+
+.PHONY: fulltest
+fulltest:
+ @echo "Testing $(PACKAGE) $(VERSION)..."
+ @echo
+ @echo "Version Info:"
+ @$(LCLINTP) -help version
+ @$(LCLINTP) -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
+
+.PHONY: abstptr
abstptr:
$(LCLINTR) abstptr -expect 9
$(LCLINTR) abstptr +voidabstract -expect 6
+.PHONY: abstract
abstract:
$(LCLINTR) abst_t.lcl commentcmd.c -expect 15
+.PHONY: alias
alias:
$(LCLINTR) +lh mut
$(LCLINTR) mut alias +globalias -expect 19
$(LCLINTR) alias4 -pred +retalias -expect 6
$(LCLINTR) +lh alias5 +memchecks -null -specundef -expect 5
+.PHONY: alttypes
alttypes:
$(LCLINTR) alttypes.c -expect 2
###
### evans 2001-06-07 - updated nameCheck.c to reflect C9X.
-### Reports one new errors for ansireserved.c - wctomb is bad even as a local variable.
-### (could be a macro?)
-### Reports 3 additional errors for +checks; no longer suppresses name errors in the
-### presense of other errors.
+### Reports one new errors for ansireserved.c - wctomb is bad even as a local
+### variable (could be a macro?)
+### Reports 3 additional errors for +checks; no longer suppresses name errors
+### in the presense of other errors.
###
+.PHONY: ansireserved
ansireserved:
$(LCLINTR) ansireserved.c +ansireserved -nolib -expect 9
$(LCLINTR) ansireserved.c +ansireserved +ansireservedlocal -nolib -expect 11
$(LCLINTRN) ansireserved.c +checks -exportlocal -exportheadervar -exportheader -expect 12
$(LCLINTR) ansireserved2.c +ansireserved -expect 1
-arrayinit:
- ${LCLINTR} arrayinit.c -expect 8
- ${LCLINTR} arrayinit.c +stringliteralsmaller -expect 9
-
+.PHONY: argorder
argorder:
$(LCLINTR) argorder.c -expect 4
$(LCLINTR) argorder2 -expect 5
$(LCLINTR) argorder4 -evalorder -expect 1
$(LCLINTR) argorder5.c +evalorderuncon -expect 3
+.PHONY: args
args:
$(LCLINTR) args -noeffect -expect 12
+.PHONY: blocks
blocks:
$(LCLINTR) blocks.c -expect 4
$(LCLINTR) blocks.c +ifblock +elseifcomplete -expect 7
$(LCLINTR) blocks.c +allempty -expect 6
$(LCLINTRN) blocks.c +strict -exportlocal +partial -exportheader -expect 11
-branchstate:
- $(LCLINTR) branchstate.c -nof -branchstate -expect 1
-
+.PHONY: break
break:
$(LCLINTR) break.c -expect 4
$(LCLINTR) break.c +deepbreak -expect 6
$(LCLINTR) break.c +deepbreak -looploopbreak -expect 5
+.PHONY: cases
cases:
$(LCLINTR) cases.c -expect 5
$(LCLINTR) cases2.c -expect 2
$(LCLINTRN) cases2.c +checks -exportlocal -exportheader -expect 3
$(LCLINTRN) cases2.c +checks -exportlocal -exportheader -branchstate -expect 3
+.PHONY: cast
cast:
$(LCLINTR) cast -accessmodule -expect 20
$(LCLINTRN) cast2.c +checks -exportlocal -exportheader -expect 3
### Two addition errors detected with 2.5 with -numliteral.
+.PHONY: charlit
charlit:
$(LCLINTR) +hints charlit.c -expect 4
$(LCLINTR) +hints -numliteral charlit.c -expect 6
$(LCLINTR) +hints charlit.c +charintliteral +ignoresigns
+.PHONY: clauses
clauses:
$(LCLINTR) clauses.c +memchecks -expect 4
$(LCLINTR) clauses2.c +memchecks
$(LCLINTR) clauses3.c +memchecks -expect 2
$(LCLINTR) clauses3.c +memchecks +unixlib -expect 3
+.PHONY: commentchar
commentchar:
$(LCLINTR) commentchar.c -expect 4
$(LCLINTR) -commentchar '#' commentchar.c -expect 4
+.PHONY: controldepth
controldepth:
$(LCLINTR) +hints -controlnestdepth 2 controldepth.c -expect 2
$(LCLINTR) +hints -controlnestdepth 1 controldepth.c -expect 2
+.PHONY: compdestroy
compdestroy:
$(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader -expect 1
$(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy -expect 2
$(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3
$(LCLINTRN) compdestroy.c +strict +partial -exportheader -expect 3
+.PHONY: constannot
constannot:
${LCLINTRN} constannot.c +arraybounds -exportlocal -expect 2
+.PHONY: csyntax
csyntax:
$(LCLINTR) +quiet -incondefs csyntax.c -expect 1
$(LCLINTR) +quiet csyntax2.c -expect 2
$(LCLINTR) +quiet csyntax16.c -expect 2
$(LCLINTR) +quiet csyntax17.c -expect 3
+.PHONY: czechnames
czechnames:
$(LCLINTR) czechnames.c
$(LCLINTR) +hints +czech czechnames.c -expect 2
$(LCLINTR) +hints +czech -czechvars czechnames.c -expect 1
$(LCLINTR) +hints +czech -accessczech czechnames.c -expect 6
+.PHONY: czechoslovaknames
czechoslovaknames:
$(LCLINTR) +hints +czechoslovak czechnames.c -expect 1
$(LCLINTR) +hints +czechoslovak slovaknames.c -expect 1
### deadparam added 2001-05-27
###
+.PHONY: deadparam
deadparam:
${LCLINTR} deadparam.c -expect 3
# function pointers correctly.
#
+.PHONY: decl
decl:
$(LCLINTR) decl.c -expect 2
$(LCLINTRN) decl.c +strict -exportlocal -expect 5
$(LCLINTR) decl2 -expect 4
+.PHONY: enum
enum:
$(LCLINTR) enum -expect 16
$(LCLINTR) enum -misscase -expect 14
+.PHONY: exports
exports:
$(LCLINTR) exports.c +exporttype +exportvar +exportfcn +topuse +typeuse -expect 6
$(LCLINTR) exports.c +exportany -expect 3
$(LCLINTR) exports.c
+.PHONY: external
external:
$(LCLINTR) external.c +partial
$(LCLINTR) external.c +partial +distinctexternalnames -expect 2
$(LCLINTR) external.c -nolib +partial -externalnamelength 3 +externalnamecaseinsensitive -expect 3
$(LCLINTR) external.c +partial -externalnamelength 3 -expect 4
+.PHONY: fields
fields:
$(LCLINTR) fields.c +memchecks -expect 6
$(LCLINTR) fields2.c +memchecks -expect 5
$(LCLINTR) fields3.c +memchecks
+.PHONY: flags
flags:
$(LCLINTR) flags.c -expect 8
$(LCLINTR) +nocomments flags.c -expect 2
### Added 2001-06-02
+.PHONY: forbody
forbody:
${LCLINTR} forbody.c -expect 2
### Added 2001-06-03
+.PHONY: format
format:
${LCLINTR} format.c -expect 3
${LCLINTR} format.c -formatconst
# two new errors (invalid lhs)
+.PHONY: funcpointer
funcpointer:
$(LCLINTR) +memchecks +noparams funcpointer.c -expect 18
+.PHONY: glob
glob:
$(LCLINTR) glob -expect 4
$(LCLINTR) glob -globuse -expect 3
$(LCLINTR) glob +globunspec -expect 6
+.PHONY: globals
globals:
$(LCLINTR) -modifies globals.c -expect 5
$(LCLINTR) -modifies globals.c +allglobals -expect 6
$(LCLINTR) -modifies globals.c +globunspec +allglobals -expect 8
# Was -accessfile
+.PHONY: impabstract
impabstract:
$(LCLINTR) -accessmodule impabstract.c
$(LCLINTR) -accessmodule +hints +impabstract impabstract.c -expect 2
$(LCLINTR) -accessmodule +hints +impabstract impabstract -expect 4
+### evans 2001-10-14: Expected errors updated
+.PHONY: init
init:
$(LCLINTR) init.c -expect 14
$(LCLINTRN) init.c +checks -exportlocal -exportheadervar -expect 17
+.PHONY: inparam
inparam:
$(LCLINTR) inparam.c -expect 2
$(LCLINTR) +impouts inparam.c -expect 1
+.PHONY: internal
internal:
$(LCLINTR) internal.c -expect 1
$(LCLINTR) internal.c +distinctinternalnames -expect 2
### 2001-06-06: Error message for iter.lcl:3,6 fixed to iter.lcl:3:6
###
+.PHONY: iter
iter:
$(LCLINTR) iter -expect 14 -lclexpect 1
$(LCLINTR) iter2.c -expect 12
+.PHONY: keep
keep:
$(LCLINTR) keep.c +memchecks -expect 6
### 2001-05-22: 2 new errors found (fixed spec of signal)
### 2001-05-30: 3 new errors found (formatconst)
+.PHONY: libs
libs:
$(LCLINTR) libs.c +longunsignedunsignedintegral -expect 18
$(LCLINTR) libs.c -expect 22
$(LCLINTR) libs.c +globunspec +modunspec -expect 25
$(LCLINTR) libs.c +strictlib +globunspec +modunspec -expect 42
+.PHONY: lintcomments
lintcomments:
$(LCLINTR) lintcomments.c -expect 4
$(LCLINTR) lintcomments.c -warnlintcomments -expect 1
$(LCLINTR) lintcomments.c -lintcomments -expect 4
+.PHONY: list
list:
$(LCLINTR) list.c -expect 3
-longconstants:
- $(LCLINTR) longconstants.c -expect 1
-
+.PHONY: macros
macros:
$(LCLINTR) macros -expect 17
$(LCLINTR) macros.c +allmacros -expect 34
$(LCLINTR) macros.c +fcnmacros -expect 31
-
+.PHONY: macrosef
macrosef:
$(LCLINTR) macrosef -expect 4
$(LCLINTR) macrosef.c +allmacros -expect 3
$(LCLINTR) macrosef.c +allmacros +sefuncon -expect 4
+.PHONY: merge
merge:
$(LCLINTRN) merge.c +checks -exportlocal -exportheadervar -exportheader -expect 3
+.PHONY: modifies
modifies:
$(LCLINTR) modifies.c modclient.c +impcheckedstatics +mustmod -expect 7
+.PHONY: modtest
modtest:
$(LCLINTR) modtest -expect 10
$(LCLINTR) modtest +modunspec -expect 13
$(LCLINTR) modtest +mustmod -expect 14
+.PHONY: moduncon
moduncon:
$(LCLINTR) moduncon.c +moduncon -memchecks -expect 4
$(LCLINTRN) moduncon.c +strict -exportlocal -expect 22
+.PHONY: mongoincludes
mongoincludes:
$(LCLINTR) mongoincludes.c -includenest 1 -expect 19
$(LCLINTR) mongoincludes.c -includenest 2 -expect 10
$(LCLINTR) mongoincludes.c -includenest 4 -expect 1
$(LCLINTR) mongoincludes.c -includenest 5 -expect 0
+.PHONY: mystrncat
mystrncat:
$(LCLINTR) mystrncat.c +arraybounds +arrayboundsread -expect 4
+.PHONY: noeffect
noeffect:
${LCLINT} -nof noeffect.c +allmacros +checks -expect 3
+.PHONY: null
null:
$(LCLINTR) null1.c -expect 14
$(LCLINTR) null1.c -null -expect 4
### Added for 3.0 (bugs reported by Kevin Broady)
+.PHONY: nullret
nullret:
$(LCLINTR) nullret.c -expect 2
$(LCLINTR) -nullret nullret.c -expect 1
+.PHONY: nullassign
nullassign:
$(LCLINTR) nullassign.c -expect 2
$(LCLINTR) -nullassign nullassign.c -expect 1
-
#
# Before 2.4, expected one more because error was reported both as
# dependent and observer.
#
+.PHONY: observer
observer:
$(LCLINTRN) observer +checks -exportlocal -exportheader -expect 9
$(LCLINTRN) observer.c +checks -exportlocal -exportheader -expect 8
$(LCLINTR) observer.c -expect 7
+.PHONY: oldstyle
oldstyle:
$(LCLINTR) oldstyle -expect 3
+.PHONY: outglob
outglob:
$(LCLINTR) outglob -expect 10
+.PHONY: outparam
outparam:
$(LCLINTR) outparam -expect 12
### evans 2001-08-26: postnotnull new
+.PHONY: postnotnull
postnotnull:
${LCLINTR} postnotnull.c -expect 1
#
# Four new +fcnuse errors for -strict (evans 2001-07-22)
#
+.PHONY: preds
preds:
$(LCLINTR) +hints preds.c -expect 6
$(LCLINTRN) +hints preds.c -weak -expect 1
$(LCLINTRN) +hints preds.c -strict -exportlocal -exportheader -expect 12
+.PHONY: prefixes
prefixes:
$(LCLINTR) prefixes.c +partial
$(LCLINTRN) prefixes.c +allmacros +checks -exportlocal +partial -exportheader -exportheadervar -expect 4
$(LCLINTR) prefixes.c -typeprefix "T" -externalprefix "G" -expect 4
$(LCLINTR) prefixes.c -localprefix "?*" +localprefixexclude -expect 13
+.PHONY: printflike
printflike:
$(LCLINTR) printflike.c -expect 6
$(LCLINTR) printflike.c -warnlintcomments -expect 5
+.PHONY: rc
rc:
$(LCLINTR) -DMYSTERY='"a flag\"wicked cool"' rc.c -expect 1
$(LCLINTR) -DMYSTERY=12 rc.c -expect 1
$(LCLINTR) -UMYSTERY -f rc1.lclintrc rc.c -expect 1
$(LCLINTR) -f rc3.lclintrc rc.c -expect 1
+.PHONY: refcounts
refcounts:
$(LCLINTR) refcounts.c -expect 7
+.PHONY: release
release:
$(LCLINTR) release.c +memchecks -expect 1
+.PHONY: repexpose
repexpose:
$(LCLINTR) +lh repexpose +memchecks -expect 12
$(LCLINTR) repexpose +memchecks +retalias -expect 15
### returned added 2001-05-27
### (Bug discovered checking lclint sources.)
+.PHONY: returned
returned:
${LCLINTR} returned.c -expect 1
+.PHONY: sharing
sharing:
$(LCLINTR) sharing1.c -expect 21
$(LCLINTR) sharing3.c -expect 3
$(LCLINTR) sharing4.c -paramimptemp -expect 12
$(LCLINTR) sharing5.c -expect 6
+.PHONY: slovaknames
slovaknames:
$(LCLINTR) +hints slovaknames.c -expect 1
$(LCLINTR) +hints slovaknames.c +accessslovak
$(LCLINTR) +hints +slovak -slovakvars slovaknames.c -expect 2
$(LCLINTR) +hints +slovak -accessslovak slovaknames.c -expect 7
+.PHONY: specclauses
specclauses:
$(LCLINTR) specclauses.c -expect 6
$(LCLINTR) specclauses2.c -expect 8
$(LCLINTR) specclauses4.c -expect 3
$(LCLINTR) specclauses5.c -expect 3
+.PHONY: special
special:
$(LCLINTR) special -expect 20
$(LCLINTR) special -relaxquals -expect 22
+.PHONY: stack
stack:
$(LCLINTR) stack.c -expect 5
$(LCLINTR) stack.c -stackref
+.PHONY: staticarray
staticarray:
$(LCLINTR) staticarray.c -expect 3
+.PHONY: strings
strings:
$(LCLINTR) strings.c -expect 3
$(LCLINTR) -readonlystrings -expect 1 strings.c
$(LCLINTR) +modobserverstrict -maintype -expect 4 strings.c
+.PHONY: structassign
structassign:
$(LCLINTR) structassign.c -expect 4
+.PHONY: typequals
typequals:
$(LCLINTR) typequals.c tq.lcl -expect 5
$(LCLINTR) typequals.c -expect 2
+.PHONY: ud
ud:
$(LCLINTR) ud.c -expect 9
$(LCLINTR) ud2 -specundef -expect 3
+.PHONY: ulstypes
ulstypes:
$(LCLINTR) ulstypes.c -expect 8
$(LCLINTR) ulstypes.c +ignorequals
$(LCLINTRN) ulstypes.c +strict -exportheader -exportheadervar -expect 28
# 3 more detected with version 2.5 (change in -numliteral setting)
+.PHONY: union
union:
$(LCLINTR) +memchecks union.c -expect 8
+.PHONY: unreachable
unreachable:
$(LCLINTR) unreachable.c -expect 5
$(LCLINTR) -unreachable unreachable.c -expect 2
$(LCLINTR) switch.c -expect 4
+.PHONY: unsignedcompare
unsignedcompare:
${LCLINTR} +posixlib unsignedcompare.c -expect 4
-
###
### 2001-06-08 evans: 2 new errors after fixing ansireserved name checks
###
+.PHONY: unused
unused:
$(LCLINTRN) unused.c +checks -exportlocal -expect 5
$(LCLINTRN) unused.c +checks -exportlocal +topuse -expect 8
### 2001-06-10: Provided by Jim Zalenka
###
+.PHONY: ullint
ullint:
${LCLINTRN} ullint.c -expect 5
${LCLINTRN} ullint.c +charint +charintliteral -expect 2
+.PHONY: void
void:
${LCLINTRN} void.c -expect 2
### New since 2.5q:
###
+.PHONY: linked
linked:
${LCLINTR} linked.c -expect 4
${LCLINTR} linked2.c -expect 3
${LCLINTR} linked5.c -expect 4
${LCLINTR} linked6.c -expect 4
+.PHONY: freearray
freearray:
${LCLINTR} freearray.c -expect 1
-###
-### Bugs fixed and new features since version 2.1b
-###
-
-tests2.2:
- setenv LCLINT '$(LCLINTRN)'; cd tests2.2 ; $(MAKE) -e
-
+.PHONY: tests2.2a
tests2.2a:
@cd tests2.2a ; \
$(LCLINTR) erik.c -expect 1 ; \
$(LCLINTR) dobb.c ; \
$(LCLINTR) popik.c -expect 11
-tests2.4:
- setenv LCLINT '$(LCLINTRN)'; cd tests2.4 ; $(MAKE) -e
-
+.PHONY: sizeotest
sizeoftest:
@cd sizeoftest; \
$(LCLINTR) +arraybounds +arrayboundsread sizeof.c
+.PHONY: bufferTest
bufferTest:
@cd bufferTest; \
$(LCLINTR) +arraybounds +arrayboundsread test4.c test6.c
+.PHONY: simplebufferConstraintTests
simplebufferConstraintTests:
@cd simplebufferConstraintTests; \
$(LCLINTR) +arraybounds +arrayboundsread m.c sizeof.c test3.c test7.c
+.PHONY: moreBufferTests
moreBufferTests:
@cd moreBufferTests; \
$(LCLINTR) +arraybounds +arrayboundsread unrecogCall.c strrchr.c initialization.c simplifyTest.c strncatNotReallyGood.c strncatReallyGood.c
+.PHONY: maxset
maxset:
@cd maxset; \
$(LCLINTR) +arraybounds maxsetannotations.c; \
$(LCLINTR) +arraybounds maxsetnoannotations.c -expect 1
+.PHONY: globalbufferannotation
globalbufferannotation:
@cd globalbufferannotation; \
$(LCLINTR) +arraybounds +arrayboundsread globalvariable.c
+.PHONY: strchr
strchr:
@cd strchr; \
$(LCLINTR) +arraybounds +arrayboundsread strchr.c -expect 2
+.PHONY: for
for:
- @cd for; \
- $(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
-
-fileio:
- setenv LCLINT '$(LCLINTRN)'; cd fileio ; $(MAKE) -e
-
-warnuse:
- setenv LCLINT '$(LCLINTRN)'; cd warnuse ; $(MAKE) -e
-
-ensuresclauses:
- setenv LCLINT '$(LCLINTRN)'; cd ensuresclauses ; $(MAKE) -e
-
-###
-### Integration Tests
-###
-
-db1:
- setenv LCLINT '$(LCLINTRN)'; cd db1; $(MAKE) -e test
-
-
-### evans 2000-12-22
-### 2 errors are no longer reported, since eref is immutable.
-### Need to clarify what it means for an object to be immutable;
-### there should be 2 types with different storage requirements.
-
-db2:
- setenv LCLINT '$(LCLINTRN)'; cd db2; $(MAKE) -e test
-
-db3:
- setenv LCLINT '$(LCLINTRN)'; cd db3; $(MAKE) -e test
-
-clean:
- -rm -f *~ #*# *.o *.lcs a.out
- -cd db1 ; $(MAKE) clean
- -cd db2 ; $(MAKE) clean
- -cd db3 ; $(MAKE) clean
-
-
-
-
+ @cd for; $(LCLINTR) +arraybounds +arrayboundsread for.c
+
+.PHONY: $(SUBDIRTESTS)
+$(SUBDIRTESTS):
+ cd $@; $(MAKE) LCLINT="$(LCLINTRN)"
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT: