]> andersk Git - splint.git/commitdiff
hopefully with crlfs now
authorherbert <herbert>
Thu, 27 Sep 2001 09:35:37 +0000 (09:35 +0000)
committerherbert <herbert>
Thu, 27 Sep 2001 09:35:37 +0000 (09:35 +0000)
12 files changed:
os2/BUILD.OS2 [new file with mode: 0644]
os2/Makefile.os2 [new file with mode: 0644]
os2/README.OS2 [new file with mode: 0644]
os2/makeos2.cmd [new file with mode: 0755]
os2/run_lclint.cmd [new file with mode: 0755]
src/Headers/local_constants-os2.h [deleted file]
src/Makefile.os2 [deleted file]
src/lclint.def [deleted file]
test/Makefile-test.os2 [new file with mode: 0644]
test/rc3.lclintrc.os2 [new file with mode: 0644]
test/tests2.2/Makefile-tests2.2.os2 [new file with mode: 0644]
test/tests2.4/Makefile-tests2.4.os2 [new file with mode: 0644]

diff --git a/os2/BUILD.OS2 b/os2/BUILD.OS2
new file mode 100644 (file)
index 0000000..75e2257
--- /dev/null
@@ -0,0 +1,89 @@
+Building lclint:\r
+----------------\r
+\r
+This file is originally part of the binary distribution of lclint for OS/2.\r
+\r
+For building lclint for OS/2 you need the complete "original" source\r
+package (available e.g. via Dave Evans' lclint homepage) and maybe \r
+some more recent patches for the OS/2 version. The LCLint home page\r
+is at:\r
+\r
+  http://lclint.cs.virginia.edu/\r
+\r
+My fixes can be found at:\r
+\r
+  http://www.fh-wedel.de/pub/fh-wedel/staff/di/lclint/index.html\r
+\r
+Edit the makefile "Makefile.os2" and the compile batch "makeos2.cmd" \r
+in the "lclint-?.?\os2" directory. During make execution all important \r
+settings will be written to a config file read by any sub makefile. In\r
+any case you will have to set the variable `$BASEDIR' in Makefile.os2 \r
+and `%base%' in makeos2.cmd according to your setup.\r
+\r
+Then use the batch file makeos2.cmd from inside the os2/ directory\r
+to build lclint. The options to that batch file are:\r
+\r
+  makeos2 [--emx|-e|--gcc|-g|--icc|-i|--oldconf|-o|--test|-t|--package|-p]\r
+\r
+Like with make, this batch should be called from inside the os2\r
+directory. The options starting with "e" build LCLint using emx/gcc with \r
+debug code. The letter "g" stands for gcc using the OMF object format \r
+and optimization rather than debug code. For IBMs icc compiler use "i".\r
+Each of the above options will create a new configuration. To continue\r
+a build with an existing configuration use "o". Finally "t" runs the\r
+"quicktest" part of the test suite (other tests are not yet supported).\r
+\r
+Please, be aware that you need the flex library in order to build lclint.\r
+As far as I remember the OS/2 version of flex comes with this library for\r
+the emx/gcc compiler. If not, you will easily be able to compile it \r
+following the instructions from flex'es README.OS2 file.\r
+\r
+If you want to use IBM's compiler, you will probably not find the lib\r
+as easily as the whole flex package has so far only been ported for \r
+emx/gcc. However you can compile the lib with IBM's compiler, too. To\r
+do this, you will have to get the flex sources from one of the usual \r
+ftp sites and compile at least the library. \r
+\r
+To compile the flex library using IBM's VisualAge C++ compiler, you only\r
+need to perform the following steps:\r
+\r
+- enter the flex source directory.\r
+- enter "icc -c -Q -O libmain.c" and "icc -c -Q -O libyywrap.c"\r
+- enter "ilib fl.lib" from the command line (the library must not exist)\r
+  and "y", "+libmain.obj+libyywrap.obj" and "<enter>" from the ilib prompt.\r
+- copy fl.lib somewhere where it gets found, I suggest "ibmcpp\lib".\r
+\r
+When using emx/gcc you can either produce code using the OMF object format\r
+or use a.out. The latter has the consequence of needing emx.dll to run the \r
+binary and under certain circumstances being able to run it under DOS using \r
+emx.exe or rsx.exe as DOS extender (you may want to replace the "-g" switch\r
+by "-O3" in the compiler settings for optimization rather than debug code)\r
+in such a case. \r
+\r
+To create such a binary override the default settings in the makefile by \r
+invoking the following little batch (the default settings for using the \r
+a.out format defined in Makefile.os2 do *not* produce an executable that \r
+runs under DOS):\r
+\r
+    @echo off\r
+    if exist bin\lclint del bin\lclint\r
+    make all -f makefile.os2 "COMPILER=gcc-emx" "CC=gcc -O3" "E="\r
+    if errorlevel 1 goto end\r
+    cd bin\r
+    echo on\r
+    emxbind lclint -p\r
+    @echo off\r
+    cd ..\r
+    :end\r
+\r
+Please be aware that for debugging purposes the a.out format is the best \r
+choice. I did not succeed in debugging any single step of lclint using \r
+ipmd as it crashed each time I tried to load the lclint executable.\r
+\r
+The Makefile.os2 is currently configured to use flex and bison to generate \r
+some source files. If you do not have these tools on your system you should \r
+change the corresponding section to use the .der files shipping with the \r
+lclint sources.\r
+\r
+Herbert in September 2001\r
+\r
diff --git a/os2/Makefile.os2 b/os2/Makefile.os2
new file mode 100644 (file)
index 0000000..9cd2710
--- /dev/null
@@ -0,0 +1,285 @@
+##################################################\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
diff --git a/os2/README.OS2 b/os2/README.OS2
new file mode 100644 (file)
index 0000000..e61528c
--- /dev/null
@@ -0,0 +1,152 @@
+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
diff --git a/os2/makeos2.cmd b/os2/makeos2.cmd
new file mode 100755 (executable)
index 0000000..29fde7c
--- /dev/null
@@ -0,0 +1,62 @@
+@echo off\r
+setlocal\r
+set version=3.0.0.16\r
+set base=e:\usr\src\lclint-%version%\r
+if "%1"=="" goto icc\r
+if "%1"=="--icc" goto icc\r
+if "%1"=="-i" goto icc\r
+if "%1"=="--emx" goto emx\r
+if "%1"=="-e" goto emx\r
+if "%1"=="--gcc" goto gcc\r
+if "%1"=="-g" goto gcc\r
+if "%1"=="--oldconf" goto oldconf\r
+if "%1"=="-o" goto oldconf\r
+if "%1"=="--test" goto test\r
+if "%1"=="-t" goto test\r
+if "%1"=="--package" goto package\r
+if "%1"=="-p" goto package\r
+"echo.exe" "usage: makeos2 [--emx|-e|--gcc|-g|--icc|-i|--oldconf|-o|--test|-t|--package|-p]"\r
+goto end\r
+\r
+:emx\r
+set COMPILER=gcc-emx\r
+goto initial\r
+\r
+:gcc\r
+set COMPILER=gcc-os2\r
+goto initial\r
+\r
+:icc\r
+set COMPILER=icc-os2\r
+goto initial\r
+\r
+:initial\r
+sh -c "export TODAY=`date.exe`; export LCL_DATE=`date.exe | cut -d ' ' -f 2,3,6`; make -e -f Makefile.os2 %2 %3 %4 %5 %6 %7 %8 %9"\r
+goto end\r
+\r
+:oldconf\r
+make -f Makefile.os2 --directory=../src --warn-undefined-variables %2 %3 %4 %5 %6 %7 %8 %9 \r
+if errorlevel 0 mv ..\src\lclint.exe ..\bin\r
+goto end\r
+\r
+:test\r
+set LARCH_PATH=%base%\lib\r
+set LCLIMPORTDIR=%base%\imports\r
+cd ..\test\r
+echo it's %LARCH_PATH% and %LCLIMPORTDIR%\r
+make LCLINT=%base%\bin\lclint %2 -e -f Makefile-test.os2\r
+cd ..\os2\r
+goto end\r
+\r
+:package\r
+cd %base%\..\r
+rm -f lclint-%version%-os2-*.tar*\r
+tar cvf lclint-%version%-os2-bin.tar lclint-%version%\bin lclint-%version%\imports lclint-%version%\lib lclint-%version%\os2 lclint-%version%\test lclint-%version%\BUFFERCHECKING lclint-%version%\LICENSE lclint-%version%\README\r
+tar cvf lclint-%version%-os2-all.tar lclint-%version%\r
+cd \export\lclint\r
+tar cvf %base%\..\lclint-%version%-os2-add.tar lclint-%version%\r
+gzip %base%\..\lclint-%version%-os2-*.tar\r
+goto end\r
+\r
+:end\r
+endlocal\r
diff --git a/os2/run_lclint.cmd b/os2/run_lclint.cmd
new file mode 100755 (executable)
index 0000000..35fc3d9
--- /dev/null
@@ -0,0 +1,12 @@
+@echo off\r
+rem *****************************************************************\r
+rem run LCLint from the source\os2 directory with proper environment\r
+rem *****************************************************************\r
+setlocal\r
+set base=e:\usr\src\lclint-3.0.0.16\r
+set LARCH_PATH=%base%\lib\r
+set LCLIMPORTDIR=%base%\imports\r
+set LCLBINARY=%base%\bin\lclint.exe \r
+echo it's %LCLBINARY%, %LARCH_PATH% and %LCLIMPORTDIR%\r
+%LCLBINARY% %1 %2 %3 %4 %5 %6 %7 %8 %9\r
+endlocal\r
diff --git a/src/Headers/local_constants-os2.h b/src/Headers/local_constants-os2.h
deleted file mode 100644 (file)
index 2e66757..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * This is local_constants.h from Mike Smith's Win32 port of lclint.
- * Modified by Herbert 04/19/97:
- * added conditional 'OS2' to conditional 'MSDOS'
- */
-
-/*@constant observer char *SYSTEM_LIBDIR; @*/
-# define SYSTEM_LIBDIR     "/usr/include"
-
-/*@constant observer char *DEFAULT_LARCHPATH; @*/
-# define DEFAULT_LARCHPATH ".;/usr/lib/lclint/lib"
-
-/*@constant observer char *DEFAULT_LCLIMPORTDIR; @*/
-# define DEFAULT_LCLIMPORTDIR   "/usr/lib/lclint/imports"
-
diff --git a/src/Makefile.os2 b/src/Makefile.os2
deleted file mode 100644 (file)
index c5bc368..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-##################################################
-###                                         
-### Makefile for OS/2 version of LCLint                     
-###                                         
-### designed for use with gmake (GNU make)
-###
-### based on David Evans' original makefile for Unix systems
-###
-### This file should not need to be edited. 
-###
-### configuration is set by top-level makefile and written to file
-###  config.inc included by this file.
-###
-### Commands:
-###
-### make all 
-###    builds a release version of lclint from scratch using optimizations
-###
-
-O=.o
-E=
-
-
-include ../os2/config.inc
-
-.SUFFIXES:
-.SUFFIXES: $E $O .h .c .l .check
-
-###
-### object files needed for building lclint:
-###  note that there is no dependency checking done!
-###
-FIRSTOBJ=cgrammar$O llgrammar$O signature$O
-OBJ=$(FIRSTOBJ) abstract$O aliasTable$O annotationInfo$O annotationTable$O  \
-    checking$O clabstract$O clause$O clauseStack$O constraint$O \
-    constraintExpr$O constraintExprData$O constraintGeneration$O \
-    constraintList$O constraintOutput$O constraintResolve$O constraintTerm$O \
-    context$O cpperror$O cppexp$O cpphash$O cpplib$O cppmain$O cprim$O \
-    cscanner$O cstring$O cstringList$O cstringSList$O cstringTable$O ctype$O \
-    ctypeList$O cvar$O declaratorInvNodeList$O declaratorNodeList$O ekind$O \
-    enumNameList$O enumNameSList$O exprChecks$O exprData$O exprNode$O \
-    exprNodeList$O exprNodeSList$O fcnNodeList$O fileLib$O fileIdList$O \
-    fileTable$O fileloc$O filelocList$O filelocStack$O flagMarker$O \
-    flagMarkerList$O flagSpec$O flags$O forjunk$O functionClause$O \
-    functionClauseList$O functionConstraint$O general$O genericTable$O \
-    globalsClause$O globSet$O globals$O guardSet$O idDecl$O idDeclList$O \
-    importNodeList$O imports$O initDeclNodeList$O inputStream$O intSet$O \
-    interfaceNodeList$O lclctypes$O lclinit$O lcllib$O lclscan$O \
-    lclscanline$O lclsyntable$O lcltokentable$O letDeclNodeList$O lh$O \
-    llerror$O llmain$O lltok$O lslOpList$O lslOpSet$O lslinit$O \
-    lslparse$O lsymbol$O lsymbolList$O lsymbolSet$O ltoken$O ltokenList$O \
-    macrocache$O mapping$O message$O messageLog$O metaStateConstraint$O \
-    metaStateConstraintList$O metaStateExpression$O metaStateInfo$O \
-    metaStateSpecifier$O metaStateTable$O modifiesClause$O mtAnnotationDecl$O \
-    mtAnnotationList$O mtAnnotationsNode$O mtContextNode$O \
-    mtDeclarationNode$O mtDeclarationPiece$O mtDeclarationPieces$O \
-    mtDefaultsDecl$O mtDefaultsDeclList$O mtDefaultsNode$O mtLoseReference$O \
-    mtLoseReferenceList$O mtMergeClause$O mtMergeClauseList$O mtMergeItem$O \
-    mtMergeNode$O mtTransferAction$O mtTransferClause$O \
-    mtTransferClauseList$O mtValuesNode$O mtgrammar$O mtreader$O mtscanner$O \
-    mttok$O multiVal$O nameChecks$O osd$O pairNodeList$O paramNodeList$O \
-    programNodeList$O qtype$O qual$O qualList$O quantifierNodeList$O \
-    randomNumbers$O reader$O replaceNodeList$O sRef$O sRefSet$O sRefSetList$O \
-    sRefTable$O scan$O scanline$O shift$O sigNodeSet$O \
-    sort$O sortList$O sortSet$O sortSetList$O stateClause$O stateClauseList$O \
-    stateCombinationTable$O stateInfo$O stateValue$O stDeclNodeList$O \
-    storeRefNodeList$O structNames$O symtable$O syntable$O termNodeList$O \
-    tokentable$O traitRefNodeList$O transferChecks$O typeIdSet$O \
-    typeNameNodeList$O uentry$O uentryList$O usymIdSet$O usymtab$O \
-    usymtab_interface$O valueTable$O varDeclarationNodeList$O varKinds$O \
-    varNodeList$O warnClause$O ynm$O 
-
-###
-### main (and only) target: lclint with all optimizations.
-###
-
-all: Headers\\flag_codes.gen lclint$E
-lclint$E : $(OBJ) 
-       $(CC) $(OFLAG) $(OBJ) $(LINKFLAGS)
-
-###
-### subtarget: local constants header file.
-###
-
-localconstants:
-       cmd /c if exist Headers\local_constants.last del Headers\local_constants.last
-       cmd /c if exist Headers\local_constants.h ren Headers\local_constants.h local_constants.last
-       $(ECHO) "/* local_constants.h - created automatically by gmake localconstants */" > Headers\local_constants.h
-       $(ECHO) "/*@constant observer char *DEFAULT_CPPCMD;@*/" >> Headers\local_constants.h 
-       $(ECHO) -E "# define DEFAULT_CPPCMD \"$(DEFAULT_CPPCMD)\"" >> Headers\local_constants.h
-       $(ECHO) "/*@constant observer char *SYSTEM_LIBDIR;@*/" >> Headers\local_constants.h 
-       $(ECHO) -E "# define SYSTEM_LIBDIR \"$(SYSTEM_LIBDIR)\"" >> Headers\local_constants.h 
-       $(ECHO) "/*@constant observer char *DEFAULT_LARCHPATH;@*/" >> Headers\local_constants.h 
-       $(ECHO) -E "# define DEFAULT_LARCHPATH \"$(DEFAULT_LARCHPATH)\"" >> Headers\local_constants.h 
-       $(ECHO) "/*@constant observer char *DEFAULT_LCLIMPORTDIR;@*/" >> Headers\local_constants.h 
-       $(ECHO) -E "# define DEFAULT_LCLIMPORTDIR \"$(DEFAULT_LCLIMPORTDIR)\"" >> Headers\local_constants.h 
-
-###
-### grammars
-###
-
-###
-### -p xx flag to bison renames yyparse ==> xxparse, xxlex ==> xxlex
-### this is probably NOT compatible with yacc.
-###
-
-signature.c : signature.c.der signature.y
-ifdef BISON
-       $(BISON) $(YFLAGS) -p lsl signature.y
-       $(CAT) bison.head signature.tab.c > signature.c
-       -$(MV) Headers\signature_gen.h Headers\signature_gen.bak
-       $(CAT) bison.head signature.tab.h > Headers\signature_gen.h
-else
-       (CP) signature.c.der signature.c
-endif
-
-cgrammar.c : cgrammar.c.der cgrammar.y
-ifdef BISON
-       $(BISON) $(YFLAGS) cgrammar.y
-       $(CAT) bison.head cgrammar.tab.c > cgrammar.c
-       -$(MV) Headers\cgrammar_tokens.h Headers\cgrammar_tokens.bak
-       $(CAT) bison.head cgrammar.tab.h > Headers\cgrammar_tokens.h
-else
-       $(CP) cgrammar.c.der cgrammar.c
-endif
-
-### llgrammar2.h is necessary so +singleinclude may be used
-
-llgrammar.c  : llgrammar.c.der llgrammar.y
-ifdef BISON
-       $(BISON) $(YFLAGS) -p yl llgrammar.y
-       $(CAT) bison.head llgrammar.tab.c > llgrammar.c
-       -$(MV) Headers\llgrammar_gen2.h Headers\llgrammar_gen2.bak
-       $(CAT) bison.head llgrammar.tab.h > Headers\llgrammar_gen2.h
-       -$(MV) Headers\llgrammar_gen.h Headers\llgrammar_gen.bak
-       $(CAT) bison.head llgrammar.tab.h > Headers\llgrammar_gen.h
-else
-       $(CP) llgrammar.c.der llgrammar.c
-endif
-
-cscanner.c : cscanner.c.der cscanner.l
-ifdef FLEX                             
-       $(FLEX) $(LFLAGS) -olex.yy.c cscanner.l  
-       $(CAT) flex.head lex.yy.c > cscanner.c
-else
-       $(CP) cscanner.c.der cscanner.c
-endif
-
-###
-### compile without warnings
-### 
-signature.o : signature.c
-       $(CC) $(CPPFLAGS) -c $*.c
-
-cgrammar.o : cgrammar.c
-       $(CC) $(CPPFLAGS) -c $*.c
-
-cscanner.o : cscanner.c
-       $(CC) $(CPPFLAGS) -c $*.c
-
-mtgrammar.o : mtgrammar.c
-       $(CC) $(CPPFLAGS) -c $*.c
-
-llgrammar.o : llgrammar.c
-       $(CC) $(CPPFLAGS) -c $*.c
-
-
-###
-### header files dependant on grammars
-###
-
-Headers\signature2.h : signature.c
-Headers\cgrammar2.h : cgrammar.c
-Headers\llgrammar.h : llgrammar.c
-
-###
-### generated headers
-###
-
-Headers\\flag_codes.gen: flags.def
-       grep "FLG_" $< >$@
-       touch flags.c
-
-###
-### defaults
-###
-
-### Flags for checking a single file
-SINGLEFLAGS = +neverinclude -supcounts +partial -showsummary -load lclint.lcd
-
-.c$O:
-       $(CC) $(CFLAGS) $(CPPFLAGS) -c $*.c 
-
-###
-### cleaning
-###
-### Standard entries to remove files from the directories
-###    up       --- remove .o files and grammar derivatives
-###    tidy     --- eliminate unwanted files
-###    clean    --- delete derived files, except for spec-derived files
-###    pristine --- delete all derived files
-###
-
-pristine: clean
-       -$(RM) -f *.lcs *.lslo
-
-clean: tidy
-       -$(RM) core lclint 
-       -$(RM) *.out *.output *.bib *.dvi *.idx *.log *$O *.toc
-       -$(RM) cgrammar.c cscanner.c
-
-tidy:
-       -$(RM) ,* .,* *.CKP *.BAK .emacs_[0-9]* core a.out *.*~
-
-up: 
-       -$(RM) cgrammar.c llgrammar.c signature.c cscanner.c 
-       -$(RM) *$O
-
-###
-### other flags are in .lclintrc file
-### 
-
-lint: 
-       $(LCLINT) -f lclint.lclintrc $(CPPFLAGS) +singleinclude $(ALLSRC) -dump lclint
-
-
-
diff --git a/src/lclint.def b/src/lclint.def
deleted file mode 100644 (file)
index ed03016..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-NAME lclint WINDOWCOMPAT
-DESCRIPTION 'C source code checker'
-PROTMODE
-STACKSIZE 0x30000
diff --git a/test/Makefile-test.os2 b/test/Makefile-test.os2
new file mode 100644 (file)
index 0000000..4451498
--- /dev/null
@@ -0,0 +1,694 @@
+##################################################\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
diff --git a/test/rc3.lclintrc.os2 b/test/rc3.lclintrc.os2
new file mode 100644 (file)
index 0000000..a48b231
--- /dev/null
@@ -0,0 +1,6 @@
+-externalnamelen               23
+internalnamelen        73
++tmpdir \spool\
+-tmpdir \spool
+                  -dump
+  
diff --git a/test/tests2.2/Makefile-tests2.2.os2 b/test/tests2.2/Makefile-tests2.2.os2
new file mode 100644 (file)
index 0000000..8f6f70a
--- /dev/null
@@ -0,0 +1,50 @@
+.PHONY: boolops bool boolenum break bstring decl enumbool extension modarray nestext offestof sizeofarray rex struct\r
+\r
+LCLINT = lclint\r
+\r
+all: boolops bool boolenum break bstring decl enumbool extension modarray nestext offestof sizeofarray rex struct\r
+\r
+boolops:\r
+       $(LCLINT) boolops.c -expect 1\r
+\r
+bool:\r
+       $(LCLINT) bool.lcl booldef.c -expect 1\r
+\r
+boolenum:\r
+       $(LCLINT) boolenum.c -booltype BOOLEAN -expect 1 \r
+\r
+break:\r
+       $(LCLINT) break.c -expect 1\r
+\r
+bstring:\r
+       $(LCLINT) bstring.c -expect 2 \r
+\r
+decl:\r
+       $(LCLINT) decl.c -expect 1 \r
+\r
+enumbool:\r
+       $(LCLINT) enumbool.c -expect 3 \r
+       $(LCLINT) enumbool.c -booltype "bool" -booltrue "true" -boolfalse "false" \r
+\r
+extension:\r
+       -$(LCLINT) extension.c\r
+       -$(LCLINT) -gnuextensions extension.c \r
+\r
+modarray:\r
+       $(LCLINT) modarray.c\r
+\r
+nestext:\r
+       $(LCLINT) nestext.c -expect 1\r
+\r
+offsetof:\r
+       $(LCLINT) offsetof.c\r
+\r
+sizeofarray:\r
+       $(LCLINT) sizeofarray.c -expect 3 \r
+\r
+rex:\r
+       $(LCLINT) rex.c -expect 4\r
+### 3 new errors reported\r
+\r
+struct:\r
+       $(LCLINT) struct.c -expect 1\r
diff --git a/test/tests2.4/Makefile-tests2.4.os2 b/test/tests2.4/Makefile-tests2.4.os2
new file mode 100644 (file)
index 0000000..ea99f56
--- /dev/null
@@ -0,0 +1,78 @@
+.PHONY: emptycase enumtest duffs bitfields bugs tests hexconstants innercomment nothing offsetof komazi print syslog error ulrich cpptest longlong subdir fink driverstub alignof source emptycase enumtest duffs bitfields bugs tests hexconstants innercomment nothing offsetof komazi print syslog error ulrich cpptest longlong subdir fink driverstub alignof source\r
+\r
+LCLINT = lclint\r
+\r
+all: emptycase enumtest duffs bitfields bugs tests hexconstants innercomment nothing offsetof komazi print syslog ulrich cpptest longlong subdir fink alignof source \r
+#error driverstub \r
+\r
+emptycase:\r
+       $(LCLINT) emptycase.c \r
+\r
+enumtest:\r
+       $(LCLINT) enumtest.c -expect 2\r
+\r
+duffs:\r
+       $(LCLINT) duffs.c -expect 7\r
+\r
+bitfields:\r
+       $(LCLINT) bitfields.c\r
+\r
+bugs:\r
+       $(LCLINT) bug1.c \r
+       $(LCLINT) bug2.c -expect 5 \r
+       $(LCLINT) bug3.c -expect 3\r
+\r
+tests:\r
+       $(LCLINT) test0.c \r
+       $(LCLINT) test1.c \r
+       $(LCLINT) test2.c \r
+\r
+hexconstants:\r
+       $(LCLINT) hexconstants.c -expect 1 \r
+       $(LCLINT) +checks hexconstants.c -expect 4\r
+\r
+innercomment:\r
+       $(LCLINT) innercomment.c -expect 2 +forcehints \r
+       $(LCLINT) innercomment.c -nestcomment\r
+\r
+nothing:\r
+       $(LCLINT) nothing.c \r
+\r
+offsetof:\r
+       $(LCLINT) offsetof.c -expect 2 \r
+\r
+komazi:\r
+       $(LCLINT) komazi.c \r
+\r
+print:\r
+       $(LCLINT) print.c \r
+\r
+syslog:\r
+       $(LCLINT) syslog.c -warnunixlib +unixlib \r
+\r
+#error:\r
+#      $(LCLINT) error.c -expect 1 \r
+\r
+ulrich:\r
+       $(LCLINT) ulrich.c -expect 1\r
+\r
+cpptest:\r
+       $(LCLINT) cpptest.c '-D__P(x)=x' -expect 1\r
+\r
+longlong:\r
+       $(LCLINT) longlong.c -expect 4\r
+\r
+subdir:\r
+       $(LCLINT) subdir/main.c subdir/main.lcl\r
+\r
+fink:\r
+       $(LCLINT) fink.c \r
+\r
+driverstub:\r
+       $(LCLINT) driverstub.c\r
+\r
+alignof:\r
+       $(LCLINT) alignof.c -expect 2\r
+\r
+source:\r
+       $(LCLINT) -D DBL_MANT_DIG=25 source.c\r
This page took 0.114188 seconds and 5 git commands to generate.