+++ /dev/null
-##################################################\r
-###\r
-### Makefile for OS/2 version of LCLint\r
-###\r
-### designed for use with gmake (GNU make)\r
-###\r
-### based on David Evans' original makefile for Unix systems automatically\r
-### generated by configure on a Linux system.\r
-###\r
-### configuration is set here and written to file config.inc included by\r
-### other makefiles\r
-###\r
-### supported compilers are:\r
-### emx/gcc\r
-### IBM VisualAge C++ 3.0\r
-###\r
-### other system requirements:\r
-### HPFS filesystem (long filenames).\r
-###\r
-### *NOTE*, before running "make" edit this file to fit your local settings!\r
-### ========================================================================\r
-###\r
-### Commands:\r
-###\r
-### make all\r
-### builds a release version of lclint from scratch using optimizations\r
-###\r
-### This makefile uses gmake, the gnu version of make.\r
-###\r
-### Run gmake to build LCLint.\r
-### gmake install to install.\r
-###\r
-\r
-###\r
-### lclint version and date:\r
-###\r
-\r
-LCL_VERSION=3.0.0.16\r
-LCL_DATE=25 Sep 2001\r
-\r
-# this gets written into the binary, add your name, your compiler settings\r
-# etc. if you like.\r
-TODAY=Monday 25 Sep 19:40 MEST 2001\r
-ME=herbert\r
-MACHINE=i586\r
-COMPILE_MSG=\# define LCL_COMPILE \"Compiled using $(CC)\\n on OS/2 $(TODAY) $(MACHINE) by $(ME),\\n OS/2 specific subversion is 4\"\r
-\r
-### Directory containing system include files:\r
-\r
-SYSTEM_LIBDIR = "\\\\usr\\\\include"\r
-\r
-### default preprocessor command:\r
-\r
-CPPCMD = "cpp "\r
-\r
-###\r
-### Select installation directories:\r
-###\r
-### The LIBDIR and IMPORTSDIR are compiled into the binary to \r
-### select the default LARCH_PATH and LCLIMPORTDIR, which can \r
-### also be overridden by environment variables.\r
-###\r
-### It may be a good idea to edit these variables not only in this\r
-### makefile but also in the header file src/Headers/local_constants.h\r
-### \r
-\r
-### directory for lclint libraries\r
-LIBDIR = \\\\usr\\\\lib\\\\lclint\\\\lib\r
-\r
-### directory for lclint standard imports\r
-IMPORTSDIR = \\\\usr\\\\lib\\\\lclint\\\\imports\r
-\r
-### these are automatically set:\r
-\r
-SYSTEM_IMPORTSDIR = "$(IMPORTSDIR)"\r
-SYSTEM_LARCHPATH = ".;$(LIBDIR)"\r
-\r
-### directory for lclint binary\r
-INSTALLDIR = \\usr\\bin\r
-\r
-### this should be the complete path for the directory where this\r
-### Makefile is, with no trailing / or spaces.\r
-\r
-BASEDIR = e:\\usr\\src\\lclint-$(LCL_VERSION)\r
-\r
-###\r
-### Then, run:\r
-###\r
-### make\r
-###\r
-### I recommend doing this in an emacs shell (or buffered terminal) so\r
-### you can scroll through the output.\r
-###\r
-### This should (hopefully) work on most systems without further changes.\r
-###\r
-### If you do not have gcc, set CC = cc (or some other compiler)\r
-### later in this file. \r
-###\r
-### It should:\r
-### o build lclint\r
-### o put lclint in BASEDIR/bin/lclint\r
-###\r
-### If you have installed the test suite, then do:\r
-###\r
-### make test\r
-###\r
-### to verify lclint.\r
-###\r
-\r
-###\r
-### If you wish to install lclint in some other directory, set these \r
-### variables, and do \r
-###\r
-### make install\r
-###\r
-\r
-### installation command (I use emx GNUish utilities)\r
-CP = cp\r
-MV = mv\r
-CAT = type\r
-RM = rm\r
-INSTALL = cp\r
-INSTALLFLAGS = \r
-ECHO = "echo.exe"\r
-\r
-###\r
-### end of installation variables\r
-###\r
-\r
-###\r
-### compiler --- gcc is recommended, but lclint has been compiled\r
-### without changes using cc on several platforms.\r
-###\r
-\r
-# name of configuration:\r
-COMPILER=gcc-emx\r
-#COMPILER=gcc-os2\r
-#COMPILER=icc-os2\r
-\r
-# compile commands:\r
-ifeq ($(COMPILER), gcc-emx)\r
- CC = gcc -g\r
- CPPFLAGS=-I.\Headers -DSTDC_HEADERS=1 -DOS2\r
- CFLAGS=-Wall \r
- OFLAG=-o \r
- LINKFLAGS = -lfl\r
- O=.o\r
- E=.exe\r
-else\r
- ifeq ($(COMPILER), gcc-os2)\r
- CC = gcc -Zsys -Zomf -O3\r
- CPPFLAGS=-I.\Headers -DSTDC_HEADERS=1 -DOS2\r
- CFLAGS=-Wall \r
- OFLAG=-o \r
- LINKFLAGS = lclint.def -lfl\r
- O=.obj\r
- E=.exe\r
- else\r
- ifeq ($(COMPILER), icc-os2)\r
- # Shame! Normally no warnings should be turned off, but IBM's are\r
- # so stupid they warn me about each llassert(). Let's check our\r
- # code using lclint then develop it on gcc and then move to IBMC...\r
- CC = icc -q -W2 -Dunlink=unlink -O+ -G5 -Gf+ -Gi+ -Gs+ \r
- #CSet 2.01 needs this:\r
- #-D__STDC__\r
- CPPFLAGS=-I.\Headers -DSTDC_HEADERS=1 -DOS2 \r
- CFLAGS=\r
- OFLAG=-fe\r
- LINKFLAGS = -B/noe setargv.obj fl.lib lclint.def\r
- O=.obj\r
- E=.exe\r
- endif\r
- endif\r
-endif\r
-\r
-###\r
-### do you have bison and/or flex?\r
-### (Note: yacc will probably not work; lex might work but is not recommended.)\r
-###\r
-\r
-BISON = bison\r
-FLEX = flex\r
-YFLAGS = -v -t -d\r
-LFLAGS =\r
-\r
-###\r
-### is the test suite available? (must be full path here)\r
-###\r
-\r
-TESTDIR = $(BASEDIR)/test\r
-\r
-### \r
-### if this Makefile is used with one of the\r
-### standard installation packages, no changes should be \r
-### necessary below this line.\r
-###\r
-\r
-.PHONY: install dobinaries dolibraries doimports test \r
-\r
-###\r
-### set this to a different directory\r
-### to install binaries elsewhere\r
-###\r
-\r
-RELEASEDIR = $(BASEDIR)/bin\r
-\r
-all: \r
- @$(ECHO)\r
- @$(ECHO) "Creating configuration file. Syntax error message can be ignored..."\r
- @$(ECHO)\r
- $(MAKE) -f Makefile.os2 --warn-undefined-variables configinc \r
- @$(ECHO)\r
- @$(ECHO) "Creating local constants header file. Syntax error messages can be ignored..."\r
- @$(ECHO)\r
- $(MAKE) ARGV=$(ARGV) -f Makefile.os2 --directory=$(BASEDIR)\\src --warn-undefined-variables localconstants \r
- @$(ECHO)\r
- @$(ECHO) "Now building lclint executable file..."\r
- @$(ECHO)\r
- $(MAKE) -f Makefile.os2 --directory=$(BASEDIR)\\src --warn-undefined-variables\r
- @$(ECHO)\r
- @$(ECHO) "Now moving lclint executable file to bin directory..."\r
- @$(ECHO)\r
- $(MV) $(BASEDIR)\src\lclint$E $(RELEASEDIR)\lclint$E\r
-\r
-configinc:\r
- $(ECHO) "CC=$(CC)" >config.inc\r
- $(ECHO) "CFLAGS=$(CFLAGS)" >>config.inc\r
- $(ECHO) "CPPFLAGS=$(CPPFLAGS)" >>config.inc\r
- $(ECHO) "BISON=$(BISON)" >>config.inc\r
- $(ECHO) "FLEX=$(FLEX)" >>config.inc\r
- $(ECHO) "YFLAGS=$(YFLAGS)" >>config.inc\r
- $(ECHO) "LFLAGS=$(LFLAGS)" >>config.inc\r
- $(ECHO) "SYSTEM_LIBDIR=\"$(SYSTEM_LIBDIR)\"" >>config.inc\r
- $(ECHO) "DEFAULT_LCLIMPORTDIR=\"$(SYSTEM_IMPORTSDIR)\"" >>config.inc\r
- $(ECHO) "DEFAULT_LARCHPATH=\"$(SYSTEM_LARCHPATH)\"" >>config.inc\r
- $(ECHO) "DEFAULT_CPPCMD=\"$(CPPCMD)\"" >>config.inc\r
- $(ECHO) "LINKFLAGS=$(LINKFLAGS)" >>config.inc\r
- $(ECHO) "O=$O" >>config.inc\r
- $(ECHO) "E=$E" >>config.inc\r
- $(ECHO) "OFLAG=$(OFLAG)lclint$E" >>config.inc\r
- $(ECHO) "CAT=$(CAT)" >>config.inc\r
- $(ECHO) "MV=$(MV)" >>config.inc\r
- $(ECHO) "CP=$(CP)" >>config.inc\r
- $(ECHO) "ECHO=\"$(ECHO)\"" >>config.inc\r
- $(CP) $(BASEDIR)\src\Headers\herald.h $(BASEDIR)\src\Headers\herald.last\r
- $(ECHO) "/* herald.h - created automatically from herald.os2 and Makefile.os2 */" >$(BASEDIR)\src\Headers\herald.h\r
- $(ECHO) "/*@constant observer char *LCL_VERSION;@*/" >>$(BASEDIR)\src\Headers\herald.h\r
- $(ECHO) "# define LCL_VERSION \"LCLint $(LCL_VERSION) --- $(LCL_DATE)\"" >>$(BASEDIR)\src\Headers\herald.h\r
- $(ECHO) "/*@constant observer char *LCL_PARSE_VERSION;@*/" >>$(BASEDIR)\src\Headers\herald.h\r
- $(ECHO) "# define LCL_PARSE_VERSION \"LCLint $(LCL_VERSION)\"" >>$(BASEDIR)\src\Headers\herald.h\r
- $(ECHO) "/*@constant observer char *LCL_COMPILE;@*/" >>$(BASEDIR)\src\Headers\herald.h\r
- $(ECHO) "$(COMPILE_MSG)" >>$(BASEDIR)\src\Headers\herald.h\r
-\r
-###\r
-### locations of standard LCLint files\r
-###\r
-### this should NOT have to be edited if you use the standard\r
-### installation package\r
-\r
-LCLINTBINDIR = $(BASEDIR)/bin\r
-\r
-LCLINTLIB = $(BASEDIR)/lib\r
-LCLINTIMPORTS = $(BASEDIR)/imports\r
-\r
-###\r
-### uses recursive make calls directly, so installation\r
-### will continue even if there are errors!\r
-###\r
-\r
-install: \r
- $(MAKE) dobinaries -f Makefile.os2\r
- $(MAKE) dolibraries -f Makefile.os2\r
- $(MAKE) doimports -f Makefile.os2\r
-\r
-dobinaries:\r
- $(INSTALL) $(INSTALLFLAGS) $(LCLINTBINDIR)\lclint$E $(INSTALLDIR)\r
-\r
-dolibraries:\r
- -mkdir$E $(LIBDIR)\r
- $(CP) $(LCLINTLIB)\\* $(LIBDIR)\r
-\r
-doimports:\r
- -mkdir$E $(IMPORTSDIR)\r
- $(CP) $(LCLINTIMPORTS)\\* $(IMPORTSDIR)\r
-\r
+++ /dev/null
-lclint 3.0.0.16 for OS/2\r
-========================\r
-\r
-This file is originally part of the binary distribution of lclint for OS/2.\r
-\r
-Contents:\r
----------\r
-\r
- Differences to the Unix versions\r
- Installation\r
- Bugs and known problems\r
- Where to get\r
- History\r
- Afterword\r
-\r
-\r
-Differences to the Unix versions:\r
----------------------------------\r
-\r
-1. lclint searches for the initialization file in the current directory \r
- and additionally in the directory pointed to by the environment \r
- variable "HOME" if set. \r
-\r
-2. For path specifications "\" can be used instead of "/". In most\r
- cases any of both, even in combination are fine.\r
-\r
-3. lclint/2 will use the value of the environment variable TMP (if not set\r
- TEMP) for creating and reading temporary files if possible. Else the\r
- current directory is used.\r
-\r
-\r
-Installation:\r
--------------\r
-\r
-For installing lclint there are four steps necessary:\r
-\r
-1. Place the executable file lclint.exe in some directory in your PATH.\r
-2. Install all that's in the "imports" and "lib" subdirectories somewhere\r
- you like it. You will need a HPFS drive to install these files.\r
-3. Set the environment variable LARCH_PATH to the `lib' subdir in the \r
- main LCLint directory, like:\r
- set LARCH_PATH=d:\software\lclint-3.0.0.16\lib\r
- Then set LCLIMPORTDIR to the `imports' subdir in the main LCLint\r
- directory, like:\r
- set LCLIMPORTDIR=d:\software\lclint-3.0.0.16\imports\r
- You may want to add these statements to your your config.sys file \r
- as soon as you've got the software working. \r
-4. If you want to use some standard settings different from what's built\r
- in edit and place the configuration file `.lclintrc' somewhere lclint \r
- can find it. This is the directory pointed to by the HOME environment\r
- variable if set or else the directory containing the executable file.\r
- It seems a good idea to put all global stuff into that file and all\r
- project dependent information into another `.lclintrc' in the directory\r
- containing the sources to be checked by lclint. lclint will first\r
- read the global and then the local `.lclintrc'.\r
-\r
-For building lclint you will need the complete sources package. Untar that\r
-file. You need HPFS to compile the package because there are plenty of \r
-files with long filenames. Refer to the file BUILD.OS2 for further \r
-instructions. \r
-\r
-\r
-Bugs and known problems:\r
-------------------------\r
-\r
-There are a few things that still do not work properly. As lclint was\r
-originally developed on and for Unix systems e.g. path names differ.\r
-Currently all paths specified in the command line have to contain\r
-backslashes rather than slashes which will be quite normal for people\r
-with no Unix background anyway. Also not all tests work well yet, at\r
-the moment only the "quicktest" with a few changes is available.\r
-\r
-\r
-Where to get:\r
--------------\r
-\r
-In any case future versions of lclint for OS/2 will be available from the\r
-lclint homepage at:\r
- - http://lclint.cs.virginia.edu/\r
-\r
-I will try to upload the file to at least the following sites (the file \r
-should be located somewhere in the OS2/DEVELOP areas):\r
- - ftp.cdrom.com\r
- - ftp.hobbes.nmsu.edu\r
- - ftp.leo.org\r
-I always put any fixes (even unofficial ones) to my private ftp directory\r
-at:\r
- - ftp.fh-wedel.de/pub/fh-wedel/staff/herbert/lclint\r
-\r
-\r
-History:\r
---------\r
-\r
-The following things specific to the OS/2 version of lclint have changed / \r
-fixed since the first official release:\r
-\r
-version 3.0.0.16:\r
-- Bugfixes.\r
-\r
-version 3.0.0.14:\r
-- first OS/2 version of the current alpha.\r
-- changed the name of the initialization file to `.lclintrc'.\r
-\r
-version 2.5m:\r
-- only some fixes mostly derived from the Win32 port.\r
-\r
-version 2.4b:\r
-- First official OS/2 release.\r
-- Switched from IBM's CSet++ 2.01 to VisualAge C++ 3.0.\r
-\r
-version 2.3i:\r
-- Due to my mistake the "HOME" environment variable was ignored even if it \r
- was set.\r
-\r
-version 2.3h:\r
-- IBM's CSet++ is now used as default compiler instead of emx/gcc.\r
-- lclint compiled as a.out binary using emx/gcc now runs fine under DOS.\r
-- In the previous release some temporary files did not get removed properly.\r
-- Sometimes lclint delivered the names of temporary files rather than the\r
- original source files when reporting errors.\r
-- Sometimes include files were not found.\r
-\r
-\r
-Due to the differences between Unix and OS/2 (file-I/O, standard directory\r
-structures etc.) there are still some more to expect!\r
-\r
-\r
-Afterword:\r
-----------\r
-\r
-I have not yet fully ported Makfiles / scripts for a full-featured test\r
-suite. The simple Makefile.os2 in the test/ directory allows checking\r
-the C sources belonging to the suite and looking at the output (or \r
-directing it to a file using "make -f Makefile.os2 >test.log 2>&1" or\r
-something similar. \r
-\r
-After having used lclint/2 on a few projects now I may say it has got \r
-more reliable. Still I do not know enough about it yet to be able to do \r
-more sophisticated testing than just using it for my sources or running\r
-the (simplified) test suite. If you run across any OS/2-specific problems \r
-write me an email -- I will *try* to fix it. But, please, do not forget \r
-that I am *not* the author of lclint!\r
-\r
-You can reach me via Email or fido-netmail:\r
-\r
-Email: herbert@paulina.shnet.org (at home)\r
- herbert@fh-wedel.de (at work)\r
-Fido: 2:240/5216.18\r
-\r
-Have fun!\r
-\r
-Martin "Herbert" Dietze\r
+++ /dev/null
-##################################################\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