]> andersk Git - splint.git/commitdiff
Updated documentation and Makefiles (LCLint -> splint),
authorherbert <herbert>
Mon, 18 Feb 2002 10:45:47 +0000 (10:45 +0000)
committerherbert <herbert>
Mon, 18 Feb 2002 10:45:47 +0000 (10:45 +0000)
configuration is now largely automatic (using Unix tools `sed',
`tr' etc.), removed obsolete files.

16 files changed:
lib/Makefile.os2 [new file with mode: 0644]
os2/BUILD.OS2
os2/Makefile.os2
os2/README.OS2
os2/config.inc [deleted file]
os2/herald.h [deleted file]
os2/local_constants.h [deleted file]
os2/make.vars [new file with mode: 0644]
os2/makeos2.cmd
os2/os2config.h.in [new file with mode: 0644]
os2/run_splint.cmd [moved from os2/run_lclint.cmd with 79% similarity]
os2/setenv.cmd [deleted file]
os2/setenv.cmd.in [new file with mode: 0644]
src/Makefile.os2
src/splint.def [moved from src/lclint.def with 71% similarity]
test/Makefile.os2 [new file with mode: 0644]

diff --git a/lib/Makefile.os2 b/lib/Makefile.os2
new file mode 100644 (file)
index 0000000..985b66f
--- /dev/null
@@ -0,0 +1,39 @@
+#\r
+# splint Makefile for GNU Make on OS/2 systems\r
+#\r
+# Derived from original Unix makefile by Herbert\r
+#\r
+\r
+include ../os2/make.vars\r
+\r
+DATAFILES = standard.h standard.lcd standardstrict.lcd posix.h posix.lcd \\r
+       posixstrict.lcd unix.h unix.lcd unixstrict.lcd \r
+SPLINT = ../bin/splint$(EXEEXT)\r
+\r
+all: $(DATAFILES)\r
+\r
+clean: $(RM) -f $(DATAFILES)\r
+\r
+standard.lcd: standard.h $(SPLINT)\r
+       -$(SPLINT) -nof -nolib +impconj standard.h -dump standard\r
+       @touch $@\r
+\r
+standardstrict.lcd: standard.h $(SPLINT)\r
+       -$(SPLINT) -nof -nolib +impconj -DSTRICT standard.h -dump standardstrict\r
+       @touch $@\r
+\r
+posix.lcd: standard.h posix.h $(SPLINT)\r
+       -$(SPLINT) -nof -nolib +impconj standard.h posix.h -dump posix\r
+       @touch $@\r
+\r
+posixstrict.lcd: standard.h posix.h $(SPLINT)\r
+       -$(SPLINT) -nof -nolib +impconj -DSTRICT standard.h posix.h -dump posixstrict\r
+       @touch $@\r
+\r
+unix.lcd: standard.h posix.h unix.h $(UnixHeaders) $(SPLINT)\r
+       -$(SPLINT) -supcounts -nof -incondefs -nolib +impconj standard.h posix.h unix.h stdio.h stdlib.h -dump unix\r
+       @touch $@\r
+\r
+unixstrict.lcd: standard.h posix.h unix.h $(UnixHeaders) $(SPLINT)\r
+       -$(SPLINT) -supcounts -nof -incondefs -nolib +impconj -DSTRICT standard.h posix.h unix.h  stdio.h stdlib.h  -dump unixstrict\r
+       @touch $@\r
index c0215bdf2ed30d14610637e645d07c67163add85..ab9ff4aa69bc48b96d894bd16541e0b4d2790098 100644 (file)
@@ -1,32 +1,38 @@
-Building lclint:\r
+Building splint:\r
 ----------------\r
 \r
-This file is originally part of the binary distribution of lclint for OS/2.\r
+This file is originally part of the binary distribution of splint \r
+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
+For building splint for OS/2 you need the complete "original" source\r
+package (available e.g. via Dave Evans' splint homepage) and maybe \r
+some more recent patches for the OS/2 version. The splint home page\r
 is at:\r
 \r
-  http://lclint.cs.virginia.edu/\r
+  http://www.splint.org\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
-You may want to set the correct date and version to be written into the \r
-lclint.exe binary in the Makefile.os2 file, although it is not strictly \r
-necessary. This should be enough to build the program. During make \r
-execution then some information will be written to a config file read \r
-by the sub makefile in the src/ directory.\r
+You also need a couple of Unix tools. These are available as free \r
+software (GNU tools) or freeware (IBM aixlike tools). In particular\r
+the tools needed are:\r
+\r
+ - A Unix shell. I use ksh, but others may do as well\r
+ - The Unix `date', `cp', `mv', `rm' and `echo' commands\r
+ - The `sed' and `tr' filters\r
+ - GNU make (IBM/M$'s `nmake' does *not* work here)\r
+ - Optionally, `flex' and `bison' (if not available, comment out\r
+   the corresponding entries from the Makefile.os2 file)\r
 \r
 Use the batch file makeos2.cmd from inside the os2/ directory to build \r
-lclint. The options to that batch file are:\r
+splint. The options to that batch file are:\r
 \r
   makeos2 [--emx|-e|--gcc|-g|--icc|-i|--oldconf|-o|--test|-t|--package|-p]\r
 \r
 This batch should be called from inside the os2 directory. The options \r
-starting with "e" build LCLint using emx/gcc with debug code. The letter \r
+starting with "e" build splint using emx/gcc with debug code. The letter \r
 "g" stands for gcc using the OMF object format and optimization rather \r
 than debug code. For IBMs icc compiler use "i".  Each of the above \r
 options will create a new configuration. To continue a build with an \r
@@ -36,16 +42,13 @@ of the test suite (other tests are not yet supported).
 If you experience problems with the automatic configuration file creation\r
 from within Makefile.os2 you may alternatively call makeos2.cmd with the\r
 `-o' option and use the existing config.inc file (assuming that you use\r
-IBMC, else edit it by hand). In that case you may also want to edit the\r
-local_constants.h and herald.h files from this directory to have it match \r
-your setup.\r
+IBMC, else edit it by hand). The files to check are `setenv.cmd', \r
+`make.vars' and `..\config.h'. \r
 \r
 After building the program you may want to testrun it, using the batch\r
-file `run_lclint.cmd' or go through the test suite using `makeos2 -t'. \r
-Before that you will need to set the environment variables in the \r
-`setenv.cmd' file that is called from the other two batches.\r
+file `run_splint.cmd' or go through the test suite using `makeos2 -t'. \r
 \r
-Please, be aware that you need the flex library in order to build lclint.\r
+Please, be aware that you need the flex library in order to build splint.\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
@@ -79,24 +82,24 @@ a.out format defined in Makefile.os2 do *not* produce an executable that
 runs under DOS):\r
 \r
     @echo off\r
-    if exist bin\lclint del bin\lclint\r
+    if exist bin\splint del bin\splint\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
+    emxbind splint -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
+choice. I did not succeed in debugging any single step of splint using \r
+ipmd as it crashed each time I tried to load the splint 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
+splint sources.\r
 \r
 Herbert in September 2001\r
 \r
index 6b1888546f0b44d591262a67c030b04201cb51d0..2e7f92d4a1ab8e14682e8773b112bc699f556d85 100644 (file)
@@ -1,6 +1,6 @@
 ##################################################\r
 ###\r
-### Makefile for OS/2 version of LCLint\r
+### Makefile for OS/2 version of splint\r
 ###\r
 ### designed for use with gmake (GNU make)\r
 ###\r
 ### Commands:\r
 ###\r
 ### make all\r
-###    builds a release version of lclint from scratch using optimizations\r
+###    builds a release version of splint from scratch using optimizations\r
 ###\r
 ### This makefile uses gmake, the gnu version of make.\r
 ###\r
-### Run gmake to build LCLint.\r
+### Run gmake to build splint.\r
 ###     gmake install to install.\r
 ###\r
 \r
-###\r
-### lclint version and date:\r
-###\r
+SHELL=/usr/bin/ksh\r
 \r
-LCL_VERSION=3.0.0.16\r
-LCL_DATE=28 Sep 2001\r
 \r
-# this gets written into the binary, add your name, your compiler settings\r
-#  etc. if you like.\r
-TODAY=Monday 28 Sep 23:43 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 5\"\r
+###\r
+### This needs to be configured:\r
+###\r
 \r
 ### Directory containing system include files:\r
 \r
-SYSTEM_LIBDIR   = "\\\\usr\\\\include"\r
+SYSTEM_LIBDIR = e:/usr/include\r
 \r
 ### default preprocessor command:\r
 \r
-CPPCMD = "cpp "\r
+CPPCMD = cpp \r
+\r
+### directory for splint standard imports\r
+DEFAULT_LCLIMPORTDIR = .;e:/usr/lib/splint/imports\r
+\r
+### directory for splint libraries\r
+DEFAULT_LARCHPATH  = .;e:/usr/lib/splint/lib\r
+\r
+### directory for splint binary\r
+INSTALLDIR = e:/usr/bin\r
+\r
+### system include directory\r
+GCC_INCLUDE_DIR = e:/usr/include\r
+\r
+### alternate system include directory\r
+GCC_INCLUDE_DIR2 = e:/emx/include\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
+### Cosmetic stuff (goes into the executable\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
+LCL_OS2 = 1\r
+TARGET_CPU = i586\r
+UNAME = OS/2 Warp 4 (Paulina)\r
 \r
-### directory for lclint standard imports\r
-IMPORTSDIR = \\\\usr\\\\lib\\\\lclint\\\\imports\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
-### these are automatically set:\r
+BISON     = bison\r
+FLEX      = flex\r
+YFLAGS    = -v -t -d\r
+LFLAGS    =\r
 \r
-SYSTEM_IMPORTSDIR = "$(IMPORTSDIR)"\r
-SYSTEM_LARCHPATH  = ".;$(LIBDIR)"\r
+###\r
+### Set automatically: splint version and date etc.\r
+###\r
 \r
-### directory for lclint binary\r
-INSTALLDIR = \\usr\\bin\r
+LCL_VERSION := $(shell grep "^VERSION" ../configure | sed "s/VERSION *= *//")\r
+LCL_DATE := $(shell date +"%d %b %Y")\r
+BUILD_DATE := $(shell date +"%c")\r
+ME := $(shell whoami)\r
+BASEDIR := $(shell (cd ..; cmd /c cd | tr '\\' '/'))\r
 \r
-### this should be the complete path for the directory where this\r
-### Makefile is, with no trailing / or spaces.\r
+LCL_COMPILE = Compiled using $(CC)\\n on $(UNAME) $(TARGET_CPU) $(BUILD_DATE) by $(ME),\\n OS/2 specific subversion is $(LCL_OS2)\r
+LCL_PARSE_VERSION = Splint $(LCL_VERSION)\r
+SPLINT_VERSION = $(LCL_PARSE_VERSION) -- $(LCL_DATE)\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
+### file-related commands (I use emx GNUish utilities)\r
 CP = cp\r
 MV = mv\r
-CAT = type\r
+CAT = cat\r
 RM = rm\r
 INSTALL = cp\r
 INSTALLFLAGS =           \r
-ECHO = "echo.exe"\r
-\r
-###\r
-### end of installation variables\r
-###\r
+ECHO = echo\r
 \r
 ###\r
-### compiler --- gcc is recommended, but lclint has been compiled\r
+### compiler --- gcc is recommended, but splint has been compiled\r
 ###              without changes using cc on several platforms.\r
 ###\r
 \r
@@ -143,91 +126,86 @@ ifeq ($(COMPILER), gcc-emx)
  CPPFLAGS=-I.\Headers -DSTDC_HEADERS=1 -DOS2\r
  CFLAGS=-Wall \r
  OFLAG=-o \r
- LINKFLAGS = -lfl\r
+ LDFLAGS = -lfl\r
  O=.o\r
- E=.exe\r
+ EXEEXT=.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
+  LDFLAGS = splint.def -lfl\r
   O=.obj\r
-  E=.exe\r
+  EXEEXT=.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
+   # code using splint 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
+   LDFLAGS = -B/noe setargv.obj fl.lib splint.def\r
    O=.obj\r
-   E=.exe\r
+   EXEEXT=.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
-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=..\\src --warn-undefined-variables localconstants \r
-       @$(ECHO)\r
-       @$(ECHO) "Now building lclint executable file..."\r
-       @$(ECHO)\r
-       $(MAKE) -f Makefile.os2 --directory=..\\src --warn-undefined-variables\r
-       @$(ECHO)\r
-       @$(ECHO) "Now moving lclint executable file to bin directory..."\r
-       @$(ECHO)\r
-       @if not exist ..\\bin mkdir ..\\bin\r
-       $(MV) ..\src\lclint$E ..\\bin\\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) ..\src\Headers\herald.h ..\src\Headers\herald.last\r
-       $(ECHO) "/* herald.h - created automatically from herald.os2 and Makefile.os2 */" >..\src\Headers\herald.h\r
-       $(ECHO) "/*@constant observer char *LCL_VERSION;@*/" >>..\src\Headers\herald.h\r
-       $(ECHO) "# define LCL_VERSION \"LCLint $(LCL_VERSION) --- $(LCL_DATE)\"" >>..\src\Headers\herald.h\r
-       $(ECHO) "/*@constant observer char *LCL_PARSE_VERSION;@*/" >>..\src\Headers\herald.h\r
-       $(ECHO) "# define LCL_PARSE_VERSION \"LCLint $(LCL_VERSION)\"" >>..\src\Headers\herald.h\r
-       $(ECHO) "/*@constant observer char *LCL_COMPILE;@*/" >>..\src\Headers\herald.h\r
-       $(ECHO) "$(COMPILE_MSG)" >>..\src\Headers\herald.h\r
-\r
+.PHONY: all clean config confclean\r
+\r
+all: make.vars ../config.h setenv.cmd\r
+       $(MAKE) --directory=../src -f Makefile.os2 all\r
+       $(MAKE) --directory=../lib -f Makefile.os2 all\r
+\r
+make.vars:\r
+       echo "CC = $(CC)" >make.vars\r
+       echo "CPPFLAGS = $(CPPFLAGS)" >>make.vars\r
+       echo "CFLAGS = $(CFLAGS)" >>make.vars\r
+       echo "OFLAG = $(OFLAG)" >>make.vars\r
+       echo "LDFLAGS = $(LDFLAGS)" >>make.vars\r
+       echo "O = $(O)" >>make.vars\r
+       echo "EXEEXT = $(EXEEXT)" >>make.vars\r
+       echo "BISON = $(BISON)" >>make.vars\r
+       echo "FLEX = $(FLEX)" >>make.vars\r
+       echo "YFLAGS = $(YFLAGS)" >>make.vars\r
+       echo "LFLAGS = $(LFLAGS)" >>make.vars\r
+       echo "CPPCMD = $(CPPCMD)" >>make.vars\r
+       echo "CP = $(CP)" >>make.vars\r
+       echo "MV = $(MV)" >>make.vars\r
+       echo "CAT = $(CAT)" >>make.vars\r
+       echo "RM = $(RM)" >>make.vars\r
+       echo "INSTALL = $(INSTALL)" >>make.vars\r
+       echo "INSTALLFLAGS = $(INSTALLFLAGS)" >>make.vars\r
+       echo "ECHO = $(ECHO)" >>make.vars\r
+\r
+../config.h: os2config.h.in\r
+       sed -e 's|@DEFAULT_LARCHPATH@|$(DEFAULT_LARCHPATH)|' \\r
+       -e 's|@DEFAULT_LCLIMPORTDIR@|$(DEFAULT_LCLIMPORTDIR)|' \\r
+       -e 's|@GCC_INCLUDE_DIR@|$(GCC_INCLUDE_DIR)|' \\r
+       -e 's|@GCC_INCLUDE_DIR2@|$(GCC_INCLUDE_DIR2)|' \\r
+       -e 's|@TARGET_CPU@|$(TARGET_CPU)|' \\r
+       -e 's|@UNAME@|$(UNAME)|' \\r
+       -e 's|@LCL_COMPILE@|$(LCL_COMPILE)|' \\r
+       -e 's|@LCL_PARSE_VERSION@|$(LCL_PARSE_VERSION)|' \\r
+       -e 's|@SPLINT_VERSION@|$(SPLINT_VERSION)|' \\r
+       -e 's|@SYSTEM_LIBDIR@|$(SYSTEM_LIBDIR)|' \\r
+       os2config.h.in >../config.h\r
+\r
+setenv.cmd: setenv.cmd.in\r
+       sed -e 's|@LCL_VERSION@|$(LCL_VERSION)|' \\r
+       -e 's|@BASEDIR@|$(BASEDIR)|' \\r
+       setenv.cmd.in | tr '/' '\\\\' >setenv.cmd\r
+\r
+config: make.vars ../config.h setenv.cmd\r
+\r
+confclean:\r
+       $(RM) -f make.vars ../config.h setenv.cmd\r
+\r
+clean: confclean\r
+       $(MAKE) --directory=../src -f Makefile.os2 clean\r
+       $(MAKE) --directory=../lib -f Makefile.os2 clean\r
index a7c3e480501a850fd1335112a5a6db707fece234..019bfaf12aebbb953d200870b83766836c1a2e1f 100644 (file)
@@ -1,7 +1,7 @@
-lclint 3.0.0.16 for OS/2\r
+splint 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
+This file is originally part of the binary distribution of splint for OS/2.\r
 \r
 Contents:\r
 ---------\r
@@ -17,14 +17,14 @@ Contents:
 Differences to the Unix versions:\r
 ---------------------------------\r
 \r
-1. lclint searches for the initialization file in the current directory \r
+1. splint 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
+3. splint/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
@@ -32,29 +32,29 @@ Differences to the Unix versions:
 Installation:\r
 -------------\r
 \r
-For installing lclint there are four steps necessary:\r
+For installing splint there are four steps necessary:\r
 \r
-1. Place the executable file lclint.exe in some directory in your PATH.\r
+1. Place the executable file splint.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
+   main splint directory, like:\r
+     set LARCH_PATH=d:\software\splint-3.0.0.16\lib\r
+   Then set LCLIMPORTDIR to the `imports' subdir in the main splint\r
    directory, like:\r
-     set LCLIMPORTDIR=d:\software\lclint-3.0.0.16\imports\r
+     set LCLIMPORTDIR=d:\software\splint-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
+   in edit and place the configuration file `.splintrc' somewhere splint \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
+   project dependent information into another `.splintrc' in the directory\r
+   containing the sources to be checked by splint. splint will first\r
+   read the global and then the local `.splintrc'.\r
 \r
-For building lclint you will need the complete sources package. Untar that\r
+For building splint 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
@@ -63,7 +63,7 @@ instructions.
 Bugs and known problems:\r
 ------------------------\r
 \r
-There are a few things that still do not work properly. As lclint was\r
+There are a few things that still do not work properly. As splint 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
@@ -74,9 +74,9 @@ the moment only the "quicktest" with a few changes is available.
 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
+In any case future versions of splint for OS/2 will be available from the\r
+splint homepage at:\r
+ - http://splint.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
@@ -85,13 +85,13 @@ should be located somewhere in the OS2/DEVELOP areas):
  - 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
+ - ftp.fh-wedel.de/pub/fh-wedel/staff/herbert/splint\r
 \r
 \r
 History:\r
 --------\r
 \r
-The following things specific to the OS/2 version of lclint have changed / \r
+The following things specific to the OS/2 version of splint have changed / \r
 fixed since the first official release:\r
 \r
 version 3.0.0.16:\r
@@ -100,7 +100,7 @@ version 3.0.0.16:
 \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
+- changed the name of the initialization file to `.splintrc'.\r
 \r
 version 2.5m:\r
 - only some fixes mostly derived from the Win32 port.\r
@@ -115,9 +115,9 @@ version 2.3i:
 \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
+- splint 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
+- Sometimes splint 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
@@ -135,19 +135,19 @@ the C sources belonging to the suite and looking at the output (or
 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
+After having used splint/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
+that I am *not* the author of splint!\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
+My eMail address is `herbert@spamcop.net'. The first time you write me \r
+you'll get an automatically generated mail asking for confirmation. I\r
+regret to need this measure, previous addresses were spammed unusable,\r
+you know the story.\r
 \r
 Have fun!\r
 \r
 Martin "Herbert" Dietze\r
+\r
diff --git a/os2/config.inc b/os2/config.inc
deleted file mode 100644 (file)
index 97ba474..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-CC=icc -q -W2 -Dunlink=unlink -O+ -G5 -Gf+ -Gi+ -Gs+ \r
-CFLAGS=\r
-CPPFLAGS=-I.\Headers -DSTDC_HEADERS=1 -DOS2 \r
-BISON=bison\r
-FLEX=flex\r
-YFLAGS=-v -t -d\r
-LFLAGS=\r
-SYSTEM_LIBDIR="\\usr\\include"\r
-DEFAULT_LCLIMPORTDIR="\\usr\\lib\\lclint\\imports"\r
-DEFAULT_LARCHPATH=".;\\usr\\lib\\lclint\\lib"\r
-DEFAULT_CPPCMD="cpp "\r
-LINKFLAGS=-B/noe setargv.obj fl.lib lclint.def\r
-O=.obj\r
-E=.exe\r
-OFLAG=-felclint.exe\r
-CAT=type\r
-MV=mv\r
-CP=cp\r
-ECHO="echo.exe"\r
diff --git a/os2/herald.h b/os2/herald.h
deleted file mode 100644 (file)
index 6cb330c..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-/* herald.h - created automatically from herald.os2 and Makefile.os2 */\r
-/*@constant observer char *LCL_VERSION;@*/\r
-# define LCL_VERSION "LCLint 3.0.0.16 --- Sep 25 2001"\r
-/*@constant observer char *LCL_PARSE_VERSION;@*/\r
-# define LCL_PARSE_VERSION "LCLint 3.0.0.16"\r
-/*@constant observer char *LCL_COMPILE;@*/\r
-# define LCL_COMPILE "Compiled using icc -q -W2 -Dunlink=unlink -O+ -G5 -Gf+ -Gi+ -Gs+ \n on OS/2 Tue Sep 25 16:55:42 CET 2001 i586 by herbert,\n OS/2 specific subversion is 2"\r
diff --git a/os2/local_constants.h b/os2/local_constants.h
deleted file mode 100644 (file)
index 6bb6e37..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-/* local_constants.h - created automatically by gmake localconstants */\r
-/*@constant observer char *DEFAULT_CPPCMD;@*/\r
-# define DEFAULT_CPPCMD "cpp "\r
-/*@constant observer char *SYSTEM_LIBDIR;@*/\r
-# define SYSTEM_LIBDIR "\\usr\\include"\r
-/*@constant observer char *DEFAULT_LARCHPATH;@*/\r
-# define DEFAULT_LARCHPATH ".;\\usr\\lib\\lclint\\lib"\r
-/*@constant observer char *DEFAULT_LCLIMPORTDIR;@*/\r
-# define DEFAULT_LCLIMPORTDIR "\\usr\\lib\\lclint\\imports"\r
diff --git a/os2/make.vars b/os2/make.vars
new file mode 100644 (file)
index 0000000..a8d445b
--- /dev/null
@@ -0,0 +1,19 @@
+CC = icc -q -W2 -Dunlink=unlink -O+ -G5 -Gf+ -Gi+ -Gs+ \r
+CPPFLAGS = -I.\Headers -DSTDC_HEADERS=1 -DOS2 \r
+CFLAGS = \r
+OFLAG = -fe\r
+LDFLAGS = -B/noe setargv.obj fl.lib splint.def\r
+O = .obj\r
+EXEEXT = .exe\r
+BISON = bison\r
+FLEX = flex\r
+YFLAGS = -v -t -d\r
+LFLAGS = \r
+CPPCMD = cpp \r
+CP = cp\r
+MV = mv\r
+CAT = cat\r
+RM = rm\r
+INSTALL = cp\r
+INSTALLFLAGS = \r
+ECHO = echo\r
index 821954ab921b08dbc212dc4074f6c72923a88c57..dbc4efc3acc9f648e0320fcba2204dbb9b052f19 100755 (executable)
@@ -30,32 +30,29 @@ set COMPILER=icc-os2
 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
+make -f Makefile.os2 confclean\r
+make -e -f Makefile.os2 %2 %3 %4 %5 %6 %7 %8 %9\r
 goto end\r
 \r
 :oldconf\r
-if not exist ..\src\Headers\local_constants.h copy local_constants.h ..\src\Headers\local_constants.h\r
-if not exist ..\src\Headers\heral.h copy local_constants.h ..\src\Headers\herald.h\r
 make -f Makefile.os2 --directory=../src --warn-undefined-variables %2 %3 %4 %5 %6 %7 %8 %9 \r
-if not exist ..\bin mv ..\src\lclint.exe ..\bin\r
-if errorlevel 0 mv ..\src\lclint.exe ..\bin\r
 goto end\r
 \r
 :test\r
 cd ..\test\r
 echo it's %LARCH_PATH% and %LCLIMPORTDIR%\r
-make LCLINT=%basedir%\bin\lclint %2 %3 %4 %4 %5 %6 %7 %8 %9 -e -f Makefile-test.os2\r
+make LCLINT=%basedir%\bin\splint %2 %3 %4 %4 %5 %6 %7 %8 %9 -e -f Makefile.os2\r
 cd ..\os2\r
 goto end\r
 \r
 :package\r
 cd %basedir%\..\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 %basedir%\..\lclint-%version%-os2-add.tar lclint-%version%\r
-gzip %basedir%\..\lclint-%version%-os2-*.tar\r
+rm -f splint-%version%-os2-*.tar*\r
+tar cvf splint-%version%-os2-bin.tar splint-%version%\bin splint-%version%\imports splint-%version%\lib splint-%version%\os2 splint-%version%\test splint-%version%\LICENSE splint-%version%\README\r
+tar cvf splint-%version%-os2-all.tar splint-%version%\r
+cd \export\splint\r
+tar cvf %basedir%\..\splint-%version%-os2-add.tar splint-%version%\r
+gzip %basedir%\..\splint-%version%-os2-*.tar\r
 goto end\r
 \r
 :end\r
diff --git a/os2/os2config.h.in b/os2/os2config.h.in
new file mode 100644 (file)
index 0000000..c7bf345
--- /dev/null
@@ -0,0 +1,33 @@
+/* config.h.  Generated automatically by configure.  */\r
+/* config.hin.  Generated automatically from configure.ac by autoheader.  */\r
+\r
+/*@-constmacros@*/\r
+\r
+/* The directory where Splint's library files live */\r
+#define DEFAULT_LARCHPATH "@DEFAULT_LARCHPATH@"\r
+\r
+/* Splint's imports directory */\r
+#define DEFAULT_LCLIMPORTDIR "@DEFAULT_LCLIMPORTDIR@"\r
+\r
+/* system include directory */\r
+#define GCC_INCLUDE_DIR "@GCC_INCLUDE_DIR@"\r
+\r
+/* alternate include directory */\r
+#define GCC_INCLUDE_DIR2 "@GCC_INCLUDE_DIR2@"\r
+\r
+#define TARGET_CPU "@TARGET_CPU@"\r
+#define UNAME "@UNAME@"\r
+\r
+/* String describing who compiled this binary and how */\r
+#define LCL_COMPILE "@LCL_COMPILE@"\r
+\r
+/* Splint's version number */\r
+#define LCL_PARSE_VERSION "@LCL_PARSE_VERSION@"\r
+\r
+/* Splint's version number and configure/build date */\r
+#define SPLINT_VERSION "@SPLINT_VERSION@"\r
+\r
+/* The system's main include directory */\r
+#define SYSTEM_LIBDIR "@SYSTEM_LIBDIR@"\r
+\r
+/*@=constmacros@*/\r
similarity index 79%
rename from os2/run_lclint.cmd
rename to os2/run_splint.cmd
index 6e8c958901c332722f3c05b674d174d9369a5cdc..398a985666743db5abaa155411b86eda7ebfcab8 100755 (executable)
@@ -1,6 +1,6 @@
 @echo off\r
 rem *****************************************************************\r
-rem run LCLint from the source\os2 directory with proper environment\r
+rem run splint from the source\os2 directory with proper environment\r
 rem *****************************************************************\r
 setlocal\r
 call setenv.cmd\r
diff --git a/os2/setenv.cmd b/os2/setenv.cmd
deleted file mode 100755 (executable)
index e6a767e..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-rem **********************************************************************\r
-rem Configure me: This is needed because the test targets are made in\r
-rem               different directories, so absolute paths in the \r
-rem               environment variables are needed.\r
-rem **********************************************************************\r
-set version=3.0.0.16\r
-set basedir=e:\usr\src\lclint-%version%\r
-set LARCH_PATH=%basedir%\lib\r
-set LCLIMPORTDIR=%basedir%\imports\r
-set LCLBINARY=%basedir%\bin\lclint.exe \r
diff --git a/os2/setenv.cmd.in b/os2/setenv.cmd.in
new file mode 100644 (file)
index 0000000..7e7cf71
--- /dev/null
@@ -0,0 +1,8 @@
+rem **********************************************************************\r
+rem Automatically created from setenv.cmd.in by make\r
+rem **********************************************************************\r
+set version=@LCL_VERSION@\r
+set basedir=@BASEDIR@\r
+set LARCH_PATH=.;%basedir%\lib\r
+set LCLIMPORTDIR=.;%basedir%\imports\r
+set LCLBINARY=%basedir%\bin\splint.exe \r
index c5bc368065a0ecbb5888b2a8d2e75163ea6a9c1c..02af352af4b5aed25d11c56058c6645a60a0be98 100644 (file)
-##################################################
-###                                         
-### 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
-
-
-
+#\r
+# splint Makefile for GNU Make on OS/2 systems\r
+#\r
+# Derived from original Unix makefile by Herbert\r
+#\r
+\r
+SHELL = /usr/bin/ksh\r
+\r
+include ../os2/make.vars\r
+binDir = ../bin\r
+\r
+\r
+.SUFFIXES = \r
+.SUFFIXES = .c .h $O $(EXEEXT) .l .check\r
+\r
+# Some preferences\r
+### We use the no-lines option to prevent confusion with splint flag settings.\r
+### Should fix splint to avoid this...\r
+YFLAGS = -v -t -d --debug --no-lines\r
+LFLAGS = -L\r
+\r
+BISON_SRC = cgrammar.y  llgrammar.y  mtgrammar.y  signature.y\r
+\r
+\r
+## We only build Splint\r
+bin_PROGRAMS = splint$(EXEEXT)\r
+\r
+## This is a fake program, so we can easily substitute in the extra LCL objects\r
+EXTRA_PROGRAMS = lcl\r
+\r
+AM_CPPFLAGS = -IHeaders\r
+\r
+## The main sources\r
+\r
+SETSRC = globSet.c intSet.c typeIdSet.c guardSet.c usymIdSet.c sRefSet.c\r
+\r
+LISTSRC = clauseStack.c filelocStack.c \\r
+          cstringList.c cstringSList.c sRefSetList.c ctypeList.c \\r
+          enumNameList.c enumNameSList.c exprNodeList.c exprNodeSList.c \\r
+          uentryList.c fileIdList.c filelocList.c qualList.c sRefList.c \\r
+          flagMarkerList.c idDeclList.c flagSpec.c\r
+\r
+CPPSRC = cppmain.c cpplib.c cppexp.c cpphash.c cpperror.c\r
+\r
+CSRC = uentry.c cprim.c macrocache.c qual.c qtype.c stateClause.c \\r
+       stateClauseList.c ctype.c cvar.c clabstract.c idDecl.c clause.c \\r
+       globalsClause.c modifiesClause.c warnClause.c functionClause.c \\r
+       functionClauseList.c metaStateConstraint.c metaStateConstraintList.c \\r
+       metaStateExpression.c metaStateSpecifier.c functionConstraint.c\r
+\r
+SPLINTSRC = exprNode.c exprChecks.c llmain.c\r
+CHECKSRC = structNames.c transferChecks.c varKinds.c nameChecks.c\r
+\r
+GLOBSRC = context.c globals.c flags.c general.c osd.c reader.c mtreader.c\r
+\r
+GRAMSRC = cgrammar.c cscanner.c mtscanner.c mtgrammar.c llgrammar.c signature.c\r
+\r
+OVERFLOWCHSRC = constraintGeneration.c constraintTerm.c \\r
+                constraintExprData.c constraintExpr.c constraint.c \\r
+                constraintList.c constraintResolve.c \\r
+                constraintOutput.c loopHeuristics.c \r
+\r
+GENERALSRC = exprData.c cstring.c fileloc.c message.c inputStream.c \\r
+             fileTable.c cstringTable.c valueTable.c stateValue.c \\r
+             llerror.c messageLog.c flagMarker.c aliasTable.c ynm.c \\r
+             sRefTable.c genericTable.c ekind.c usymtab.c multiVal.c \\r
+             lltok.c sRef.c lcllib.c randomNumbers.c fileLib.c\r
+\r
+METASTATESRC = stateInfo.c stateCombinationTable.c metaStateTable.c \\r
+               metaStateInfo.c annotationTable.c annotationInfo.c mttok.c \\r
+               mtDeclarationNode.c mtDeclarationPieces.c mtDeclarationPiece.c \\r
+               mtContextNode.c mtValuesNode.c mtDefaultsNode.c \\r
+               mtAnnotationsNode.c mtMergeNode.c mtAnnotationList.c \\r
+               mtAnnotationDecl.c mtTransferClauseList.c mtTransferClause.c \\r
+               mtTransferAction.c mtLoseReferenceList.c mtLoseReference.c \\r
+               mtDefaultsDeclList.c mtDefaultsDecl.c mtMergeItem.c \\r
+               mtMergeClause.c mtMergeClauseList.c\r
+\r
+## These are only used if LCL is enabled\r
+\r
+LCLONLYSRC = usymtab_interface.c abstract.c ltoken.c lclscanline.c \\r
+             lclsyntable.c lcltokentable.c sort.c symtable.c lclinit.c \\r
+             shift.c lclscan.c lsymbol.c mapping.c\r
+\r
+LSLSRC = tokentable.c scan.c scanline.c lslparse.c \\r
+         lh.c checking.c lclctypes.c imports.c lslinit.c syntable.c \r
+\r
+LCLSETSRC  = lsymbolSet.c sigNodeSet.c lslOpSet.c sortSet.c\r
+\r
+LCLLISTSRC = initDeclNodeList.c sortList.c declaratorInvNodeList.c \\r
+             interfaceNodeList.c sortSetList.c declaratorNodeList.c \\r
+             letDeclNodeList.c stDeclNodeList.c storeRefNodeList.c \\r
+             lslOpList.c lsymbolList.c termNodeList.c ltokenList.c \\r
+             traitRefNodeList.c pairNodeList.c typeNameNodeList.c \\r
+             fcnNodeList.c paramNodeList.c programNodeList.c \\r
+             varDeclarationNodeList.c varNodeList.c quantifierNodeList.c \\r
+             replaceNodeList.c importNodeList.c\r
+\r
+IFILES =  ctbase.i  cttable.i  exprDataQuite.i\r
+\r
+\r
+#Files that are used on systems that do not have bison or yacc\r
+DER_BISON_FILES = signature.c.der  cgrammar.c.der  mtgrammar.c.der \\r
+                  llgrammar.c.der \r
+DER_FILES = $(DER_BISON_FILES)\r
+\r
+\r
+COMMONSRC = $(OVERFLOWCHSRC) $(CPPSRC) $(CSRC) $(CHECKSRC) $(GENERALSRC) \\r
+            $(GLOBSRC) $(IFACESRC) $(LISTSRC) $(SETSRC) $(METASTATESRC)\r
+\r
+ALLSRC = $(GRAMSRC) $(COMMONSRC) $(SPLINTSRC) $(DER_FILES) \r
+\r
+#files to run Splint on\r
+LINTSRC = $(COMMONSRC) $(SPLINTSRC)\r
+\r
+LCLSRC = $(LCLSETSRC) $(LCLLISTSRC) $(LSLSRC) $(CMNSRC) $(LCLONLYSRC) \r
+lcl_SOURCES = $(LCLSRC)\r
+CONFIG_HEADER = $(top_builddir)/config.h\r
+\r
+splint_SOURCES = $(ALLSRC)\r
+\r
+lcl_OBJECTS = lsymbolSet$O sigNodeSet$O \\r
+       lslOpSet$O sortSet$O initDeclNodeList$O \\r
+       sortList$O declaratorInvNodeList$O \\r
+       interfaceNodeList$O sortSetList$O \\r
+       declaratorNodeList$O letDeclNodeList$O \\r
+       stDeclNodeList$O storeRefNodeList$O \\r
+       lslOpList$O lsymbolList$O \\r
+       termNodeList$O ltokenList$O \\r
+       traitRefNodeList$O pairNodeList$O \\r
+       typeNameNodeList$O fcnNodeList$O \\r
+       paramNodeList$O programNodeList$O \\r
+       varDeclarationNodeList$O varNodeList$O \\r
+       quantifierNodeList$O replaceNodeList$O \\r
+       importNodeList$O tokentable$O scan$O \\r
+       scanline$O lslparse$O lh$O \\r
+       checking$O lclctypes$O imports$O \\r
+       lslinit$O syntable$O \\r
+       usymtab_interface$O abstract$O ltoken$O \\r
+       lclscanline$O lclsyntable$O \\r
+       lcltokentable$O sort$O symtable$O \\r
+       lclinit$O shift$O lclscan$O \\r
+       lsymbol$O mapping$O\r
+\r
+splint_OBJECTS = cgrammar$O cscanner$O \\r
+       mtscanner$O mtgrammar$O llgrammar$O \\r
+       signature$O constraintGeneration$O \\r
+       constraintTerm$O constraintExprData$O \\r
+       constraintExpr$O constraint$O \\r
+       constraintList$O constraintResolve$O \\r
+       constraintOutput$O loopHeuristics$O \\r
+       cppmain$O cpplib$O cppexp$O \\r
+       cpphash$O cpperror$O uentry$O \\r
+       cprim$O macrocache$O qual$O \\r
+       qtype$O stateClause$O stateClauseList$O \\r
+       ctype$O cvar$O clabstract$O \\r
+       idDecl$O clause$O globalsClause$O \\r
+       modifiesClause$O warnClause$O \\r
+       functionClause$O functionClauseList$O \\r
+       metaStateConstraint$O metaStateConstraintList$O \\r
+       metaStateExpression$O metaStateSpecifier$O \\r
+       functionConstraint$O structNames$O \\r
+       transferChecks$O varKinds$O \\r
+       nameChecks$O exprData$O cstring$O \\r
+       fileloc$O message$O inputStream$O \\r
+       fileTable$O cstringTable$O valueTable$O \\r
+       stateValue$O llerror$O messageLog$O \\r
+       flagMarker$O aliasTable$O ynm$O \\r
+       sRefTable$O genericTable$O ekind$O \\r
+       usymtab$O multiVal$O lltok$O \\r
+       sRef$O lcllib$O randomNumbers$O \\r
+       fileLib$O context$O globals$O \\r
+       flags$O general$O osd$O \\r
+       reader$O mtreader$O clauseStack$O \\r
+       filelocStack$O cstringList$O \\r
+       cstringSList$O sRefSetList$O \\r
+       ctypeList$O enumNameList$O \\r
+       enumNameSList$O exprNodeList$O \\r
+       exprNodeSList$O uentryList$O \\r
+       fileIdList$O filelocList$O qualList$O \\r
+       sRefList$O flagMarkerList$O \\r
+       idDeclList$O flagSpec$O globSet$O \\r
+       intSet$O typeIdSet$O guardSet$O \\r
+       usymIdSet$O sRefSet$O stateInfo$O \\r
+       stateCombinationTable$O metaStateTable$O \\r
+       metaStateInfo$O annotationTable$O \\r
+       annotationInfo$O mttok$O \\r
+       mtDeclarationNode$O mtDeclarationPieces$O \\r
+       mtDeclarationPiece$O mtContextNode$O \\r
+       mtValuesNode$O mtDefaultsNode$O \\r
+       mtAnnotationsNode$O mtMergeNode$O \\r
+       mtAnnotationList$O mtAnnotationDecl$O \\r
+       mtTransferClauseList$O mtTransferClause$O \\r
+       mtTransferAction$O mtLoseReferenceList$O \\r
+       mtLoseReference$O mtDefaultsDeclList$O \\r
+       mtDefaultsDecl$O mtMergeItem$O \\r
+       mtMergeClause$O mtMergeClauseList$O \\r
+       exprNode$O exprChecks$O llmain$O\r
+\r
+# Keep it fake\r
+.PHONY: lcl$(EXEEXT)\r
+\r
+DEFS = -DHAVE_CONFIG_H\r
+DEFAULT_INCLUDES =  -I. -I..\r
+LDADD = $(lcl_OBJECTS) \r
+\r
+## Sources that need to be built\r
+BUILT_SOURCES = Headers/signature_gen.h Headers/cgrammar_tokens.h \\r
+                Headers/llgrammar_gen.h Headers/llgrammar_gen2.h \\r
+                Headers/mtgrammar_tokens.h signature.c cgrammar.c \\r
+                llgrammar.c mtgrammar.c Headers/flag_codes.gen \\r
+                $(DER_FILES)\r
+\r
+all: $(BUILT_SOURCES) splint$(EXEEXT) $(binDir)/splint$(EXEEXT)\r
+\r
+Headers/signature_gen.h signature.c: signature.c.der signature.y\r
+ifndef BISON\r
+       $(CP) signature.c.der signature.c\r
+else \r
+       echo "Making signature.c"\r
+       $(BISON) $(YFLAGS) -p lsl signature.y\r
+       $(CAT) bison.head signature.tab.c bison.reset >signature.c\r
+       $(CP) signature.c signature.c.der\r
+       -$(MV) Headers/signature_gen.h Headers/signature_gen.bak\r
+       $(CAT) bison.head signature.tab.h bison.reset >Headers/signature_gen.h\r
+       $(RM) signature.tab.c signature.tab.h\r
+endif\r
+\r
+## 11/29/001 drl added copy so that the file cgrammar.c.der is created\r
+\r
+Headers/cgrammar_tokens.h cgrammar.c: cgrammar.c.der cgrammar.y\r
+ifndef BISON\r
+       $(CP) cgrammar.c.der cgrammar.c\r
+else \r
+       @echo "Making cgrammar.c"\r
+       @echo "Expect 141 shift/reduce conflicts and 111 reduce/reduce conflicts."\r
+       @echo "(see cgrammar.y for explanation)"\r
+       $(BISON) $(YFLAGS) cgrammar.y\r
+       $(CAT) bison.head cgrammar.tab.c bison.reset >cgrammar.c\r
+       $(CP) cgrammar.c cgrammar.c.der\r
+       -$(MV) Headers/cgrammar_tokens.h Headers/cgrammar_tokens.bak\r
+       $(CAT) bison.head cgrammar.tab.h bison.reset >Headers/cgrammar_tokens.h\r
+       $(RM) cgrammar.tab.c cgrammar.tab.h\r
+endif\r
+\r
+## 10/16/001 drl added copy so that the file mtgrammar.c.der is created\r
+## also removed the dependency for this file on mtgrammary.c  \r
+\r
+Headers/mtgrammar_tokens.h mtgrammar.c: mtgrammar.y\r
+ifndef BISON\r
+       $(CP) mtgrammar.c.der mtgrammar.c\r
+else \r
+       @echo "Making mtgrammar.c"\r
+       @echo "Expect 11 shift/reduce conflicts."\r
+       $(BISON) $(YFLAGS) -p mt mtgrammar.y\r
+       $(CAT) bison.head mtgrammar.tab.c bison.reset >mtgrammar.c\r
+       $(CP) mtgrammar.c mtgrammar.c.der\r
+       -$(MV) Headers/mtgrammar_tokens.h Headers/mtgrammar_tokens.bak\r
+       $(CAT) bison.head mtgrammar.tab.h bison.reset >Headers/mtgrammar_tokens.h\r
+       $(RM) mtgrammar.tab.c mtgrammar.tab.h\r
+endif\r
+\r
+Headers/llgrammar_gen.h Headers/llgrammar_gen2.h llgrammar.c: llgrammar.c.der llgrammar.y\r
+ifndef BISON\r
+       $(CP) llgrammar.c.der llgrammar.c\r
+else \r
+       @echo "Making llgrammar.c"\r
+       @echo "Expect 2 shift/reduce conflicts"\r
+       $(BISON) $(YFLAGS) -p yl llgrammar.y\r
+       $(CAT) bison.head llgrammar.tab.c bison.reset >llgrammar.c\r
+       $(CP) llgrammar.c llgrammar.c.der\r
+       -$(MV) Headers/llgrammar_gen2.h Headers/llgrammar_gen2.bak\r
+       -$(MV) Headers/llgrammar_gen.h Headers/llgrammar_gen.bak\r
+       $(CAT) bison.head llgrammar.tab.h bison.reset >Headers/llgrammar_gen2.h\r
+       $(CAT) bison.head llgrammar.tab.h bison.reset >Headers/llgrammar_gen.h\r
+       $(RM) llgrammar.tab.c llgrammar.tab.h\r
+endif\r
+\r
+cscanner.c: cscanner.l\r
+       $(FLEX) $(LFLAGS) cscanner.l \r
+       $(CAT) flex.head lexyy.c flex.reset > cscanner.c\r
+\r
+Headers/flag_codes.gen: flags.def\r
+       grep "FLG_" flags.def > Headers/flag_codes.gen\r
+       $(MAKE)\r
+       cd ../lib; $(MAKE)\r
+\r
+$(binDir)/splint$(EXEEXT):  splint$(EXEEXT)\r
+       -$(RM) -f $(binDir)/splint$(EXEEXT)\r
+       $(CP) splint$(EXEEXT)  $(binDir)/splint$(EXEEXT)\r
+\r
+up: clean\r
+       rm -f cgrammar.c llgrammar.c mtgrammar.c signature.c cscanner.c\r
+\r
+\r
+clean: \r
+       -rm -f $(splint_OBJECTS) core *.core *~ \r
+\r
+\r
+CLEANFILES = splint$(EXEEXT)  $(binDir)/splint$(EXEEXT)\r
+\r
+%$O: %.c\r
+       $(CC) $(CFLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(CPPFLAGS) -c $<\r
+\r
+splint$(EXEEXT) : $(splint_OBJECTS) $(lcl_OBJECTS)\r
+       $(CC) $(OFLAG)$@ $^ $(LDFLAGS)\r
+\r
+list:\r
+       @echo "$(splint_OBJECTS)"\r
similarity index 71%
rename from src/lclint.def
rename to src/splint.def
index ed03016edd5cc58c1c7548f5ee610d8ec6ef568a..62edab354da57534005c881973413126d4db18c0 100644 (file)
@@ -1,4 +1,4 @@
-NAME lclint WINDOWCOMPAT
+NAME splint WINDOWCOMPAT
 DESCRIPTION 'C source code checker'
 PROTMODE
 STACKSIZE 0x30000
diff --git a/test/Makefile.os2 b/test/Makefile.os2
new file mode 100644 (file)
index 0000000..aca6680
--- /dev/null
@@ -0,0 +1,802 @@
+##################################################\r
+###                                            ###\r
+### Makefile for LCLint testing                ###\r
+###                                            ### \r
+### designed for use with GNU make             ### \r
+###                                            ###\r
+##################################################\r
+\r
+SHELL = cmd.exe\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
+# -u show context\r
+SPLINT = ../bin/splint.exe\r
+\r
+### This is horrible!  Can't we make top_builddir absolute?\r
+SPLINTNEST = ../../bin/splint.exe\r
+\r
+SPLINTPNEST = $(SPLINTNEST) -nof\r
+SPLINTP = $(SPLINT) -nof\r
+\r
+# Make sure .splintrc files are not used so test results do not\r
+# depend on local settings.\r
+SPLINTRN = $(SPLINTP) -hints -booltype "bool"\r
+SPLINTR = $(SPLINTRN) -exportlocal +debugfcnconstraint\r
+\r
+SPLINTRNNEST = $(SPLINTPNEST) -hints -booltype "bool"\r
+SPLINTRNEST = $(SPLINTRNNEST) -exportlocal +debugfcnconstraint\r
+\r
+###\r
+### rcfiles not included becuase file names will not match exactly\r
+###\r
+UNITTESTS = \\r
+  help \\r
+  abstptr abstract alias alttypes ansireserved argorder \\r
+  args arraydims blocks break cases cast charlit clauses commentchar compdestroy \\r
+  constannot controldepth csyntax czechnames czechoslovaknames deadparam \\r
+  decl divzero enum exports external fields flags forbody format freearray \\r
+  funcpointer functionmacro glob globals impabstract info init inparam internal iter keep libs \\r
+  linked lintcomments list loopexec \\r
+  macros macrosef merge mergenull modifies modtest moduncon \\r
+  mongoincludes mystrncat noeffect null observer oldstyle outglob outparam \\r
+  parentype postnotnull preds prefixes printflike rc refcounts release repexpose \\r
+  returned sharing shifts slovaknames \\r
+  specclauses \\r
+  special stack staticarray strings \\r
+  stringliteral \\r
+  structassign typequals ud ulstypes union unioninit unreachable unsignedcompare \\r
+  unused ullint utypes void widestrings\r
+\r
+UNITEXPECTS = $(addsuffix .expect, $(UNITTESTS))\r
+\r
+### warnuse doesn't work yet!\r
+SUBDIRTESTS = metastate mergestate tainted fileio \\r
+   simplebufferConstraintTests moreBufferTests moreBufferTests2 globalbufferannotation \\r
+   maxset strchr for manual\\r
+tests2.2 tests2.4 tests2.5 db1 db2 db3\r
+\r
+SPLINTTESTS = $(UNITTESTS) $(SUBDIRTESTS)\r
+\r
+QUICKTESTS = db3\r
+\r
+all: quicktest\r
+\r
+DIFF = diff\r
+\r
+### not real .c\r
+\r
+quicktest: $(SPLINTTESTS)\r
+\r
+\r
+.PHONY: help\r
+\r
+help:\r
+       -@$(SPLINT)\r
+       #@LARCH_PATH=/dev/null; $(SPLINT) -nof empty.lcl\r
+       @$(SPLINTP) -help\r
+       @$(SPLINTP) -asdf\r
+       @$(SPLINTP) +boolint +boolint \r
+       @$(SPLINTP) -help flags alpha\r
+\r
+.PHONY: abstptr\r
+abstptr:\r
+       $(SPLINTR) abstptr -expect 9\r
+       $(SPLINTR) abstptr +voidabstract -expect 6\r
+\r
+.PHONY: abstract\r
+abstract:\r
+       $(SPLINTR) abst_t.lcl commentcmd.c -expect 15\r
+\r
+.PHONY: alias\r
+alias:\r
+       $(SPLINTR) +lh mut\r
+       $(SPLINTR) mut alias +globalias -expect 19\r
+       $(SPLINTR) mut alias2 +globalias -expect 17\r
+       $(SPLINTR) +lh alias3 -expect 14 \r
+       $(SPLINTR) +lh alias4 +boolint\r
+       $(SPLINTR) alias4 -pred +retalias -expect 6\r
+       $(SPLINTR) +lh alias5 +memchecks -null -specundef -expect 5\r
+\r
+.PHONY: alttypes\r
+alttypes:\r
+       $(SPLINTR) 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\r
+###    variable (could be a macro?)\r
+### Reports 3 additional errors for +checks; no longer suppresses name errors\r
+###    in the presense of other errors.\r
+###\r
+\r
+.PHONY: ansireserved\r
+ansireserved:\r
+       $(SPLINTR) ansireserved.c +ansireserved -nolib -expect 9\r
+       $(SPLINTR) ansireserved.c +ansireserved +ansireservedlocal -nolib -expect 11\r
+       $(SPLINTRN) ansireserved.c +checks -exportlocal -exportheadervar -exportheader -expect 12\r
+       $(SPLINTR) ansireserved2.c +ansireserved -expect 1\r
+\r
+.PHONY: argorder\r
+argorder:\r
+       $(SPLINTR) argorder.c -expect 4\r
+       $(SPLINTR) argorder2  -expect 5\r
+       $(SPLINTR) argorder3.c -expect 8\r
+       $(SPLINTR) argorder4 -expect 9\r
+       $(SPLINTR) argorder4 -evalorder -expect 1\r
+       $(SPLINTR) argorder5.c +evalorderuncon -expect 3\r
+\r
+.PHONY: args\r
+args:\r
+       $(SPLINTR) args -noeffect -expect 12\r
+\r
+.PHONY: arraydims\r
+arraydims:\r
+       $(SPLINTR) arraydims.c -varuse -expect 2\r
+       $(SPLINTR) arraydims.c -initsize -varuse\r
+\r
+.PHONY: blocks\r
+blocks:\r
+       $(SPLINTR) blocks.c -expect 4\r
+       $(SPLINTR) blocks.c +ifblock +elseifcomplete -expect 7\r
+       $(SPLINTR) blocks.c -ifempty +whileempty +whileblock -expect 3\r
+       $(SPLINTR) blocks.c -ifempty +forempty +forblock -expect 3\r
+       $(SPLINTR) blocks.c +allempty -expect 6\r
+       $(SPLINTRN) blocks.c +strict -exportlocal +partial -exportheader -expect 11\r
+\r
+.PHONY: break\r
+break:\r
+       $(SPLINTR) break.c -expect 4\r
+       $(SPLINTR) break.c +deepbreak -expect 6\r
+       $(SPLINTR) break.c +deepbreak -looploopbreak -expect 5\r
+\r
+.PHONY: cases\r
+cases: \r
+       $(SPLINTR) cases.c -expect 5\r
+       $(SPLINTR) cases2.c -expect 2\r
+       $(SPLINTRN) cases2.c +checks -exportlocal -exportheader -expect 3\r
+       $(SPLINTRN) cases2.c +checks -exportlocal -exportheader -branchstate -expect 3\r
+\r
+.PHONY: cast\r
+cast:\r
+       $(SPLINTR) cast -accessmodule -expect 20\r
+       $(SPLINTRN) cast2.c +checks -exportlocal -exportheader -expect 3\r
+\r
+### Two addition errors detected with 2.5 with -numliteral.\r
+\r
+.PHONY: charlit\r
+charlit:\r
+       $(SPLINTR) +hints charlit.c -expect 4\r
+       $(SPLINTR) +hints -numliteral charlit.c -expect 6\r
+       $(SPLINTR) +hints charlit.c +charintliteral +ignoresigns\r
+\r
+.PHONY: clauses\r
+clauses: \r
+       $(SPLINTR) clauses.c +memchecks -expect 4\r
+       $(SPLINTR) clauses2.c +memchecks \r
+       $(SPLINTR) clauses3.c +memchecks -expect 2\r
+       $(SPLINTR) clauses3.c +memchecks +unixlib -expect 3\r
+\r
+.PHONY: commentchar\r
+commentchar:\r
+       $(SPLINTR) commentchar.c -expect 4\r
+       $(SPLINTR) -commentchar '#' commentchar.c -expect 4\r
+\r
+.PHONY: controldepth\r
+controldepth:\r
+       $(SPLINTR) +hints -controlnestdepth 2 controldepth.c -expect 2\r
+       $(SPLINTR) +hints -controlnestdepth 1 controldepth.c -expect 2\r
+\r
+.PHONY: compdestroy\r
+compdestroy:\r
+       $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader -expect 1\r
+       $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy -expect 2\r
+       $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3\r
+       $(SPLINTRN) compdestroy.c +strict +partial -exportheader -expect 3\r
+\r
+.PHONY: constannot\r
+constannot:\r
+       ${SPLINTRN} constannot.c +boundswrite -exportlocal -expect 2\r
+\r
+.PHONY: csyntax\r
+csyntax:\r
+       $(SPLINTR) +quiet -incondefs csyntax.c -expect 1 \r
+       $(SPLINTR) +quiet csyntax2.c -expect 2\r
+       $(SPLINTR) +quiet csyntax3.c -expect 1\r
+       $(SPLINTR) +quiet -incondefs csyntax4.c\r
+       $(SPLINTR) +quiet csyntax5.c\r
+       $(SPLINTR) +quiet csyntax6.c\r
+       $(SPLINTR) +quiet csyntax7.c\r
+       $(SPLINTR) +quiet csyntax8.c\r
+       $(SPLINTR) +quiet csyntax9.c\r
+       $(SPLINTR) +quiet csyntax10.c\r
+       $(SPLINTR) +quiet csyntax11.c\r
+       $(SPLINTR) +quiet csyntax12.c\r
+       $(SPLINTR) +quiet csyntax13.c -expect 1\r
+       $(SPLINTR) +quiet csyntax14.c\r
+       $(SPLINTR) +quiet csyntax15.c\r
+       $(SPLINTR) +quiet csyntax16.c -expect 2\r
+       $(SPLINTR) +quiet csyntax17.c -expect 3\r
+\r
+.PHONY: czechnames\r
+czechnames:\r
+       $(SPLINTR) czechnames.c\r
+       $(SPLINTR) +hints +czech czechnames.c -expect 2\r
+       $(SPLINTR) +hints +czech -czechvars czechnames.c -expect 1\r
+       $(SPLINTR) +hints +czech -accessczech czechnames.c -expect 6\r
+\r
+.PHONY: czechoslovaknames\r
+czechoslovaknames:\r
+       $(SPLINTR) +hints +czechoslovak czechnames.c -expect 1\r
+       $(SPLINTR) +hints +czechoslovak slovaknames.c -expect 1\r
+       $(SPLINTR) +hints +czechoslovak +slovakvars slovaknames.c -expect 2\r
+\r
+###\r
+### deadparam added 2001-05-27\r
+###\r
+\r
+.PHONY: deadparam\r
+deadparam:\r
+       ${SPLINTR} 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
+.PHONY: decl\r
+decl:\r
+       $(SPLINTR) decl.c -expect 2\r
+       $(SPLINTRN) decl.c +strict -exportlocal -expect 5\r
+       $(SPLINTR) decl2 -expect 4\r
+\r
+.PHONY: divzero\r
+divzero:\r
+       $(SPLINTR) divzero.c -varuse -expect 0\r
+\r
+.PHONY: enum\r
+enum:\r
+       $(SPLINTR) enum -expect 16\r
+       $(SPLINTR) enum -misscase -expect 14\r
+\r
+.PHONY: exports\r
+exports:\r
+       $(SPLINTR) exports.c +exporttype +exportvar +exportfcn +topuse +typeuse -expect 6\r
+       $(SPLINTR) exports.c +exportany -expect 3\r
+       $(SPLINTR) exports.c\r
+\r
+.PHONY: external\r
+external:\r
+       $(SPLINTR) external.c +partial\r
+       $(SPLINTR) external.c +partial +distinctexternalnames +ansi89limits -expect 2\r
+       $(SPLINTR) external.c -nolib +partial -externalnamelength 3 -expect 3\r
+       $(SPLINTR) external.c -nolib +partial -externalnamelength 3 +externalnamecaseinsensitive -expect 3\r
+       $(SPLINTR) external.c +partial -externalnamelength 3 -expect 4\r
+\r
+.PHONY: fields\r
+fields:\r
+       $(SPLINTR) fields.c +memchecks -expect 6\r
+       $(SPLINTR) fields2.c +memchecks -expect 5\r
+       $(SPLINTR) fields3.c +memchecks\r
+\r
+.PHONY: flags\r
+flags:\r
+       $(SPLINTR) flags.c -expect 8\r
+       $(SPLINTR) +nocomments flags.c -expect 2\r
+\r
+### Added 2001-06-02\r
+\r
+.PHONY: forbody\r
+forbody:\r
+       ${SPLINTR} forbody.c -expect 2\r
+\r
+### Added 2001-06-03\r
+.PHONY: format\r
+format:\r
+       ${SPLINTR} format.c -expect 3\r
+       ${SPLINTR} format.c -formatconst \r
+\r
+# two new errors (invalid lhs)\r
+\r
+.PHONY: funcpointer\r
+funcpointer:\r
+       $(SPLINTR) +memchecks +noparams funcpointer.c -expect 18\r
+\r
+.PHONY: functionmacro\r
+functionmacro:\r
+       $(SPLINTR) functionmacro.c -expect 2\r
+\r
+.PHONY: glob\r
+glob:\r
+       $(SPLINTR) glob -expect 4\r
+       $(SPLINTR) glob -globuse -expect 3\r
+       $(SPLINTR) glob +globunspec -expect 6\r
+\r
+.PHONY: globals\r
+globals:\r
+       $(SPLINTR) -modifies globals.c -expect 5\r
+       $(SPLINTR) -modifies globals.c +allglobals -expect 6\r
+       $(SPLINTR) -modifies globals.c +impcheckedglobals -expect 6\r
+       $(SPLINTR) -modifies globals.c -globals -checkstrictglobals -expect 2\r
+       $(SPLINTR) -modifies globals.c +globunspec -expect 6\r
+       $(SPLINTR) -modifies globals.c +globunspec +allglobals -expect 8\r
+\r
+# Was -accessfile\r
+.PHONY: impabstract\r
+impabstract: \r
+       $(SPLINTR) -accessmodule impabstract.c \r
+       $(SPLINTR) -accessmodule +hints +impabstract impabstract.c -expect 2\r
+       $(SPLINTR) -accessmodule +hints +impabstract impabstract -expect 4\r
+\r
+###\r
+### evans 2001-12-30: Handle unrecognized pre-processor directives\r
+###    (Reported by Pierluigi Sanzani)\r
+\r
+.PHONY: info\r
+info:\r
+       ${SPLINTR} info.c -expect 4\r
+\r
+### evans 2001-10-14: Expected errors updated\r
+.PHONY: init\r
+init:\r
+       $(SPLINTR) init.c -expect 14\r
+       $(SPLINTRN) init.c +checks -exportlocal -exportheadervar -expect 17\r
+\r
+.PHONY: inparam\r
+inparam:\r
+       $(SPLINTR) inparam.c -expect 2\r
+       $(SPLINTR) +impouts inparam.c -expect 1\r
+\r
+.PHONY: internal\r
+internal:\r
+       $(SPLINTR) internal.c -expect 1\r
+       $(SPLINTR) internal.c +distinctinternalnames -expect 1\r
+       $(SPLINTR) internal.c +distinctinternalnames +ansi89limits -expect 2\r
+       $(SPLINTR) internal.c -internalnamelen 28 -expect 3\r
+       $(SPLINTR) internal.c +internalnamecaseinsensitive -expect 3\r
+       $(SPLINTR) 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
+.PHONY: iter\r
+iter:\r
+       $(SPLINTR) iter -expect 14 -lclexpect 1\r
+       $(SPLINTR) iter2.c -expect 12\r
+\r
+.PHONY: keep\r
+keep:\r
+       $(SPLINTR) 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
+.PHONY: libs\r
+libs:\r
+       $(SPLINTR) libs.c +longunsignedunsignedintegral -expect 18\r
+       $(SPLINTR) libs.c -expect 22\r
+       $(SPLINTR) libs.c +globunspec +modunspec -expect 25\r
+       $(SPLINTR) libs.c +strictlib +globunspec +modunspec -expect 42\r
+\r
+.PHONY: lintcomments\r
+lintcomments:\r
+       $(SPLINTR) lintcomments.c -expect 5\r
+       $(SPLINTR) lintcomments.c -warnlintcomments -expect 1\r
+       $(SPLINTR) lintcomments.c -lintcomments -expect 4\r
+\r
+.PHONY: list\r
+list:\r
+       $(SPLINTR) list.c -expect 3\r
+\r
+###\r
+### 2002-01-01: Added test case for obvious loop execution.\r
+###\r
+\r
+.PHONY: loopexec\r
+loopexec:\r
+       $(SPLINTR) loopexec.c -expect 1\r
+       $(SPLINTR) loopexec.c -obviousloopexec -expect 3\r
+\r
+.PHONY: macros\r
+macros:\r
+       $(SPLINTR) macros -expect 17 \r
+       $(SPLINTR) macros.c +allmacros -expect 34\r
+       $(SPLINTR) macros.c +fcnmacros -expect 31\r
+\r
+.PHONY: macrosef\r
+macrosef:\r
+       $(SPLINTR) macrosef -expect 4\r
+       $(SPLINTR) macrosef.c +allmacros -expect 3\r
+       $(SPLINTR) macrosef.c +allmacros +sefuncon -expect 4\r
+\r
+.PHONY: merge\r
+merge:\r
+       $(SPLINTRN) merge.c +checks -exportlocal -exportheadervar -exportheader -expect 3\r
+\r
+.PHONY: mergenull\r
+mergenull:\r
+       $(SPLINTRN) mergenull.c \r
+\r
+.PHONY: modifies\r
+modifies:\r
+       $(SPLINTR) modifies.c modclient.c +impcheckedstatics +mustmod -expect 7\r
+\r
+.PHONY: modtest\r
+modtest:\r
+       $(SPLINTR) modtest -expect 10\r
+       $(SPLINTR) modtest +modunspec -expect 13\r
+       $(SPLINTR) modtest +mustmod -expect 14\r
+\r
+.PHONY: moduncon\r
+moduncon:\r
+       $(SPLINTR) moduncon.c +moduncon -memchecks -expect 4\r
+       $(SPLINTRN) moduncon.c +strict -exportlocal -expect 22\r
+\r
+.PHONY: mongoincludes\r
+mongoincludes:\r
+       $(SPLINTR) mongoincludes.c -includenest 1 -expect 19\r
+       $(SPLINTR) mongoincludes.c -includenest 2 -expect 10\r
+       $(SPLINTR) mongoincludes.c -includenest 3 -expect 4\r
+       $(SPLINTR) mongoincludes.c -includenest 4 -expect 1\r
+       $(SPLINTR) mongoincludes.c -includenest 5 -expect 0\r
+\r
+.PHONY: mystrncat\r
+mystrncat:\r
+       $(SPLINTR) mystrncat.c +boundsread +boundswrite -expect 4 \r
+\r
+.PHONY: noeffect\r
+noeffect:\r
+       ${SPLINTP} noeffect.c +allmacros +checks -expect 3\r
+\r
+###\r
+### 2002-01-01: null1.c: expect increased to 15 because out must be defined\r
+###                         checking detects one new error\r
+###\r
+\r
+.PHONY: null\r
+null: \r
+       $(SPLINTR) null1.c -expect 15\r
+       $(SPLINTR) null1.c -null -mustdefine -expect 4\r
+       $(SPLINTR) null2.c -expect 11\r
+       $(SPLINTR) null3.c -expect 15\r
+       $(SPLINTR) null3.c -warnunixlib +unixlib -expect 16\r
+       $(SPLINTR) null4.c -expect 1\r
+       $(SPLINTR) null5.c -expect 4\r
+       $(SPLINTR) null6 -expect 4\r
+       $(SPLINTR) +quiet null6.lcl -dump null6\r
+       $(SPLINTR) null6.c -load null6 -expect 4\r
+\r
+### Added for 3.0 (bugs reported by Kevin Broady)\r
+\r
+.PHONY: nullret\r
+nullret:\r
+       $(SPLINTR) nullret.c -expect 2\r
+       $(SPLINTR) -nullret nullret.c -expect 1\r
+\r
+.PHONY: nullassign\r
+nullassign:\r
+       $(SPLINTR) nullassign.c -expect 2\r
+       $(SPLINTR) -nullassign nullassign.c -expect 1\r
+\r
+#\r
+# Before 2.4, expected one more because error was reported both as \r
+# dependent and observer.\r
+#\r
+\r
+.PHONY: observer\r
+observer:\r
+       $(SPLINTRN) observer +checks -exportlocal -exportheader -expect 9\r
+       $(SPLINTRN) observer.c +checks -exportlocal -exportheader -expect 8\r
+       $(SPLINTR) observer.c -expect 7\r
+\r
+.PHONY: oldstyle\r
+oldstyle:\r
+       $(SPLINTR) oldstyle oldstyle2.c -expect 5\r
+\r
+.PHONY: outglob\r
+outglob:\r
+       $(SPLINTR) outglob -expect 10\r
+\r
+.PHONY: outparam\r
+outparam:\r
+       $(SPLINTR) outparam -expect 12\r
+\r
+### evans 2001-08-26: postnotnull new\r
+\r
+.PHONY: postnotnull\r
+postnotnull:\r
+       ${SPLINTR} postnotnull.c -expect 1\r
+\r
+### evans 2002-02-09: added parentype.c\r
+.PHONY: parentype\r
+parentype:\r
+       ${SPLINTR} parentype.c \r
+\r
+#\r
+# Four new +fcnuse errors for -strict (evans 2001-07-22)\r
+# \r
+\r
+.PHONY: preds\r
+preds:\r
+       $(SPLINTR) +hints preds.c -expect 6\r
+       $(SPLINTRN) +hints preds.c -weak -expect 1\r
+       $(SPLINTRN) +hints preds.c -strict -exportlocal -exportheader -expect 12\r
+\r
+.PHONY: prefixes\r
+prefixes:\r
+       $(SPLINTR) prefixes.c +partial\r
+       $(SPLINTRN) prefixes.c +allmacros +checks -exportlocal +partial -exportheader -exportheadervar -expect 4\r
+       $(SPLINTR) prefixes.c -typeprefix "T" -expect 2\r
+       $(SPLINTR) prefixes.c -typeprefix "^" -expect 1\r
+       $(SPLINTR) prefixes.c -typeprefix "^*" -expect 2\r
+       $(SPLINTR) prefixes.c -typeprefix "^%*" -expect 2\r
+       $(SPLINTR) prefixes.c -typeprefix "^~*" -expect 2\r
+       $(SPLINTR) prefixes.c -typeprefix "^" +typeprefixexclude -expect 7\r
+       $(SPLINTR) prefixes.c -filestaticprefix "^^" -expect 4\r
+       $(SPLINTR) prefixes.c -filestaticprefix "^#" -expect 5\r
+       $(SPLINTR) prefixes.c -filestaticprefix "^?&x" -expect 5\r
+       $(SPLINTR) prefixes.c -globalprefix "G" -expect 1\r
+       $(SPLINTR) prefixes.c -globalprefix "&G?_^" -expect 1\r
+       $(SPLINTR) prefixes.c -externalprefix "G" -expect 5\r
+       $(SPLINTR) prefixes.c -typeprefix "T" -externalprefix "G" -expect 4\r
+#      herbert: unsolved problem with quoting the '*' here!\r
+#      $(SPLINTR) prefixes.c -localprefix "?*" +localprefixexclude -expect 13\r
+\r
+.PHONY: printflike\r
+printflike:\r
+       $(SPLINTR) printflike.c -expect 6\r
+       $(SPLINTR) printflike.c -warnlintcomments -expect 5\r
+\r
+.PHONY: rc\r
+rc:\r
+#       herbert unsolved problem with quoting here!\r
+#      $(SPLINTR) -DMYSTERY='"a flag\"wicked cool"' rc.c -expect 1\r
+       $(SPLINTR) -DMYSTERY=12 rc.c -expect 1\r
+       $(SPLINTR) -f rc1.splintrc rc.c -expect 1\r
+       $(SPLINTR) -UMYSTERY -f rc1.splintrc rc.c -expect 1\r
+       $(SPLINTR) -f rc3.splintrc.os2 rc.c -expect 1\r
+\r
+.PHONY: rcfiles\r
+rcfiles:\r
+       cd rcfiles; ${MAKE} SPLINT="$(SPLINTPNEST)"\r
+\r
+.PHONY: refcounts\r
+refcounts:\r
+       $(SPLINTR) refcounts.c -expect 7 \r
+\r
+.PHONY: release\r
+release:\r
+       $(SPLINTR) release.c +memchecks -expect 1\r
+\r
+.PHONY: repexpose\r
+repexpose:\r
+       $(SPLINTR) +lh repexpose +memchecks -expect 12\r
+       $(SPLINTR) repexpose +memchecks +retalias -expect 15\r
+       $(SPLINTRN) repexpose +checks -exportlocal -expect 27\r
+\r
+### returned added 2001-05-27\r
+### (Bug discovered checking splint sources.)\r
+\r
+.PHONY: returned\r
+returned:\r
+       ${SPLINTR} returned.c -expect 1\r
+\r
+.PHONY: sharing\r
+sharing: \r
+       $(SPLINTR) sharing1.c -expect 21\r
+       $(SPLINTR) sharing3.c -expect  3\r
+       $(SPLINTR) sharing4.c -expect 13\r
+       $(SPLINTR) sharing4.c -paramimptemp -expect 12\r
+       $(SPLINTR) sharing5.c -expect 6\r
+\r
+.PHONY: shifts\r
+shifts:\r
+       $(SPLINTR) shifts.c -expect 4\r
+       $(SPLINTR) shifts.c -shiftimplementation -expect 3\r
+       $(SPLINTR) shifts.c -shiftnegative -expect 1\r
+\r
+.PHONY: slovaknames\r
+slovaknames:\r
+       $(SPLINTR) +hints slovaknames.c -expect 1\r
+       $(SPLINTR) +hints slovaknames.c +accessslovak \r
+       $(SPLINTR) +hints +slovak slovaknames.c -expect 3\r
+       $(SPLINTR) +hints +slovak -slovakvars slovaknames.c -expect 2\r
+       $(SPLINTR) +hints +slovak -accessslovak slovaknames.c -expect 7\r
+\r
+.PHONY: specclauses\r
+specclauses:\r
+       $(SPLINTR) specclauses.c -expect 6\r
+       $(SPLINTR) specclauses2.c -expect 8\r
+       $(SPLINTR) specclauses3.c -expect 6\r
+       $(SPLINTR) specclauses4.c -expect 3\r
+       $(SPLINTR) specclauses5.c -expect 3\r
+\r
+.PHONY: specclauses1\r
+specclauses1:\r
+       $(SPLINTR) specclauses.c -expect 6\r
+\r
+.PHONY: specclauses2\r
+specclauses2:\r
+       $(SPLINTR) specclauses2.c -expect 8\r
+\r
+.PHONY: specclauses3\r
+specclauses3:\r
+       $(SPLINTR) specclauses3.c -expect 6\r
+\r
+.PHONY: specclauses4\r
+specclauses4:\r
+       $(SPLINTR) specclauses4.c -expect 3\r
+\r
+.PHONY: specclauses5\r
+specclauses5:\r
+       $(SPLINTR) specclauses5.c -expect 3\r
+\r
+.PHONY: special\r
+special:\r
+       $(SPLINTR) special -expect 20\r
+       $(SPLINTR) special -relaxquals -expect 22\r
+\r
+.PHONY: stack\r
+stack:\r
+       $(SPLINTR) stack.c -expect 5\r
+       $(SPLINTR) stack.c -stackref\r
+\r
+.PHONY: staticarray\r
+staticarray:\r
+       $(SPLINTR) staticarray.c -expect 3\r
+\r
+.PHONY: stringliteral\r
+stringliteral:\r
+       $(SPLINTR) stringliteral.c +stringliteralnoroomfinalnull -expect 4\r
+       $(SPLINTR) stringliteral.c -expect 3\r
+\r
+.PHONY: strings\r
+strings:\r
+       $(SPLINTR) strings.c -expect 3\r
+       $(SPLINTR) -readonlystrings -expect 1 strings.c\r
+       $(SPLINTR) +modobserverstrict -maintype -expect 4 strings.c\r
+\r
+.PHONY: structassign\r
+structassign:\r
+       $(SPLINTR) structassign.c -expect 4\r
+\r
+.PHONY: typequals\r
+typequals:\r
+       $(SPLINTR) typequals.c tq.lcl -expect 5\r
+       $(SPLINTR) typequals.c -expect 2\r
+\r
+.PHONY: ud\r
+ud:\r
+       $(SPLINTR) ud.c -expect 9\r
+       $(SPLINTR) ud2 -specundef -expect 3\r
+\r
+.PHONY: ulstypes\r
+ulstypes:\r
+       $(SPLINTR) ulstypes.c -expect 8\r
+       $(SPLINTR) ulstypes.c +ignorequals \r
+       $(SPLINTRN) ulstypes.c +strict -exportheader -exportheadervar -expect 28\r
+\r
+# 3 more detected with version 2.5 (change in -numliteral setting)\r
+\r
+.PHONY: union\r
+union:\r
+       $(SPLINTR) +memchecks union.c -expect 8\r
+\r
+###\r
+### Added 2001-12-30: fixed union initializer checking in response to\r
+### bug report from Jim Zelenka.\r
+###\r
+\r
+.PHONY: unioninit\r
+unioninit:\r
+       $(SPLINTR) unioninit.c -expect 2\r
+\r
+.PHONY: unreachable\r
+unreachable:\r
+       $(SPLINTR) unreachable.c -expect 5\r
+       $(SPLINTR) -unreachable unreachable.c -expect 2\r
+       $(SPLINTR) switch.c -expect 4\r
+\r
+.PHONY: unsignedcompare\r
+unsignedcompare:\r
+       ${SPLINTR} +posixlib unsignedcompare.c -expect 4\r
+\r
+###\r
+### 2001-06-08 evans: 2 new errors after fixing ansireserved name checks\r
+###\r
+\r
+.PHONY: unused\r
+unused:\r
+       $(SPLINTRN) unused.c +checks -exportlocal -expect 5\r
+       $(SPLINTRN) unused.c +checks -exportlocal +topuse -expect 8\r
+\r
+###\r
+### 2001-06-10: Provided by Jim Zalenka\r
+###\r
+\r
+.PHONY: ullint\r
+ullint:\r
+       ${SPLINTRN} ullint.c -expect 5\r
+       ${SPLINTRN} ullint.c +charint +charintliteral -expect 2\r
+\r
+###\r
+### 2001-12-30: Poor warnings reported by Peter Deutsch\r
+###\r
+\r
+.PHONY: utypes\r
+utypes:\r
+# herbert: TODO\r
+       -${SPLINTRN} utypes.c -expect 6\r
+\r
+###\r
+\r
+.PHONY: void\r
+void:\r
+       ${SPLINTRN} void.c -expect 2\r
+\r
+###\r
+### 2001-12-30: Problems with wide character strings reported by Nelson Beebe\r
+###\r
+\r
+.PHONY: widestrings\r
+widestrings:\r
+       ${SPLINTRN} widestrings.c -expect 2\r
+\r
+###\r
+### New since 2.5q:\r
+###\r
+\r
+.PHONY: linked\r
+linked:\r
+       ${SPLINTR} linked.c -expect 4\r
+       ${SPLINTR} linked2.c -expect 3\r
+       ${SPLINTR} linked3.c -expect 5\r
+       ${SPLINTR} linked4.c -expect 6\r
+       ${SPLINTR} linked5.c -expect 4\r
+       ${SPLINTR} linked6.c -expect 4\r
+\r
+.PHONY: freearray\r
+freearray:\r
+       ${SPLINTR} freearray.c -expect 1\r
+\r
+.PHONY: sizeof\r
+sizeof:\r
+       $(SPLINTR) +bounds sizeof.c -expect 1\r
+\r
+.PHONY: buffertest\r
+buffertest:\r
+       $(SPLINTR) +bounds buffertest1.c -expect 5\r
+\r
+.PHONY: $(SUBDIRTESTS)\r
+$(SUBDIRTESTS):\r
+       $(MAKE) -C $@ SPLINT="$(SPLINTRNNEST)" \r
+\r
This page took 0.180547 seconds and 5 git commands to generate.