From 11db3170da99e22aa0acea76debd6c7b590a629c Mon Sep 17 00:00:00 2001 From: evans1629 Date: Sat, 29 Dec 2001 23:52:26 +0000 Subject: [PATCH] Renaming - LCLint => Splint --- README | 37 +- config.h | 18 +- config.hin | 8 +- configure | 40 +- configure.ac | 18 +- imports/Makefile | 22 +- lib/Makefile.am | 38 +- lib/Makefile.in | 66 +- lib/ansi.lcd | 4 +- lib/ansistrict.lcd | 4 +- lib/posix.lcd | 4 +- lib/posixstrict.lcd | 4 +- lib/unix.lcd | 4 +- lib/unixstrict.lcd | 4 +- src/{lclint.lclintrc => .splintrc} | 0 src/Headers/constants.h | 17 +- src/Makefile.am | 36 +- src/Makefile.in | 52 +- src/abstract.c | 6 +- src/aliasTable.c | 8 +- src/annotationInfo.c | 4 +- src/annotationTable.c | 4 +- src/cgrammar.c.der | 1256 ++++++++--------- src/cgrammar.y | 33 +- src/checking.c | 4 +- src/clabstract.c | 4 +- src/clause.c | 4 +- src/clauseStack.c | 4 +- src/constraint.c | 6 +- src/constraintExpr.c | 8 +- src/constraintExprData.c | 4 +- src/constraintGeneration.c | 4 +- src/constraintList.c | 4 +- src/constraintOutput.c | 4 +- src/constraintResolve.c | 4 +- src/constraintTerm.c | 4 +- src/context.c | 4 +- src/cpperror.c | 4 +- src/cppexp.c | 4 +- src/cpphash.c | 4 +- src/cpplib.c | 4 +- src/cppmain.c | 4 +- src/cprim.c | 4 +- src/cscanner.l | 89 +- src/cstring.c | 4 +- src/cstringList.c | 4 +- src/cstringSList.c | 4 +- src/cstringTable.c | 6 +- src/ctype.c | 4 +- src/ctypeList.c | 4 +- src/cvar.c | 4 +- src/declaratorInvNodeList.c | 4 +- src/declaratorNodeList.c | 4 +- src/ekind.c | 4 +- src/enumNameList.c | 4 +- src/enumNameSList.c | 4 +- src/exprChecks.c | 6 +- src/exprNode.c | 8 +- src/exprNodeList.c | 4 +- src/exprNodeSList.c | 4 +- src/fcnNodeList.c | 4 +- src/fileIdList.c | 4 +- src/fileLib.c | 4 +- src/fileTable.c | 4 +- src/fileloc.c | 4 +- src/filelocList.c | 4 +- src/filelocStack.c | 4 +- src/flagMarker.c | 6 +- src/flagMarkerList.c | 4 +- src/flagSpec.c | 4 +- src/flags.c | 7 +- src/functionClause.c | 4 +- src/functionClauseList.c | 4 +- src/functionConstraint.c | 4 +- src/general.c | 4 +- src/genericTable.c | 6 +- src/globSet.c | 4 +- src/globals.c | 4 +- src/globalsClause.c | 4 +- src/guardSet.c | 4 +- src/hashTable.c | 4 +- src/idDecl.c | 6 +- src/idDeclList.c | 4 +- src/importNodeList.c | 4 +- src/imports.c | 4 +- src/initDeclNodeList.c | 4 +- src/inputStream.c | 4 +- src/intSet.c | 4 +- src/interfaceNodeList.c | 4 +- src/lclctypes.c | 4 +- src/lclinit.c | 4 +- src/lcllib.c | 26 +- src/lclscan.c | 4 +- src/lclscanline.c | 4 +- src/lclsyntable.c | 4 +- src/lcltokentable.c | 4 +- src/letDeclNodeList.c | 4 +- src/lh.c | 4 +- src/llerror.c | 6 +- src/llgrammar.c.der | 820 +++++------ src/llgrammar.y | 49 +- src/llmain.c | 91 +- src/lltok.c | 4 +- src/loopHeuristics.c | 4 +- src/lslOpList.c | 4 +- src/lslOpSet.c | 4 +- src/lslinit.c | 4 +- src/lslparse.c | 4 +- src/lsymbol.c | 4 +- src/lsymbolList.c | 4 +- src/lsymbolSet.c | 4 +- src/ltoken.c | 4 +- src/ltokenList.c | 4 +- src/macrocache.c | 4 +- src/mapping.c | 4 +- src/message.c | 4 +- src/messageLog.c | 4 +- src/metaStateConstraint.c | 4 +- src/metaStateConstraintList.c | 4 +- src/metaStateExpression.c | 4 +- src/metaStateInfo.c | 4 +- src/metaStateSpecifier.c | 4 +- src/metaStateTable.c | 4 +- src/modifiesClause.c | 4 +- src/mtAnnotationDecl.c | 4 +- src/mtAnnotationList.c | 4 +- src/mtAnnotationsNode.c | 4 +- src/mtContextNode.c | 4 +- src/mtDeclarationNode.c | 4 +- src/mtDeclarationPiece.c | 4 +- src/mtDeclarationPieces.c | 4 +- src/mtDefaultsDecl.c | 4 +- src/mtDefaultsDeclList.c | 4 +- src/mtDefaultsNode.c | 4 +- src/mtLoseReference.c | 4 +- src/mtLoseReferenceList.c | 4 +- src/mtMergeClause.c | 4 +- src/mtMergeClauseList.c | 4 +- src/mtMergeItem.c | 4 +- src/mtMergeNode.c | 4 +- src/mtTransferAction.c | 4 +- src/mtTransferClause.c | 4 +- src/mtTransferClauseList.c | 4 +- src/mtValuesNode.c | 4 +- src/mtreader.c | 4 +- src/mtscanner.c | 4 +- src/mttok.c | 4 +- src/multiVal.c | 4 +- src/nameChecks.c | 4 +- src/osd.c | 4 +- src/pairNodeList.c | 4 +- src/paramNodeList.c | 4 +- src/programNodeList.c | 4 +- src/qtype.c | 4 +- src/qual.c | 4 +- src/qualList.c | 4 +- src/quantifierNodeList.c | 4 +- src/randomNumbers.c | 4 +- src/rangeTable.c | 8 +- src/reader.c | 4 +- src/replaceNodeList.c | 4 +- src/sRef.c | 8 +- src/sRefList.c | 4 +- src/sRefSet.c | 4 +- src/sRefSetList.c | 4 +- src/sRefTable.c | 4 +- src/scan.c | 4 +- src/scanline.c | 4 +- src/shift.c | 4 +- src/sigNodeSet.c | 4 +- src/signature.c.der | 90 +- src/signature.y | 48 +- src/sort.c | 6 +- src/sortList.c | 4 +- src/sortSet.c | 4 +- src/sortSetList.c | 4 +- src/source.c | 4 +- src/specialClauses.c | 4 +- src/stDeclNodeList.c | 4 +- src/stateClause.c | 4 +- src/stateClauseList.c | 4 +- src/stateCombinationTable.c | 4 +- src/stateInfo.c | 4 +- src/stateValue.c | 4 +- src/storeRefNodeList.c | 4 +- src/structNames.c | 4 +- src/symtable.c | 6 +- src/syntable.c | 4 +- src/termNodeList.c | 4 +- src/tokentable.c | 4 +- src/traitRefNodeList.c | 4 +- src/transferChecks.c | 6 +- src/typeIdSet.c | 4 +- src/typeNameNodeList.c | 4 +- src/uentry.c | 8 +- src/uentryList.c | 4 +- src/usymIdSet.c | 4 +- src/usymtab.c | 4 +- src/usymtab_interface.c | 8 +- src/valueTable.c | 4 +- src/varDeclarationNodeList.c | 4 +- src/varKinds.c | 4 +- src/varNodeList.c | 4 +- src/warnClause.c | 4 +- src/ynm.c | 4 +- test/Makefile.am | 582 ++++---- test/Makefile.in | 578 ++++---- test/abst_t.lcs | 2 +- test/abstptr.expect | 4 +- test/abstptr.lcs | 2 +- test/abstract.expect | 2 +- test/alias.expect | 14 +- test/alias.lcs | 2 +- test/alias2.lcs | 2 +- test/alias3.lcs | 2 +- test/alias3.lh | 2 +- test/alias4.lcs | 2 +- test/alias4.lh | 2 +- test/alias5.lcs | 2 +- test/alias5.lh | 2 +- test/alttypes.expect | 2 +- test/ansireserved.expect | 8 +- test/argorder.expect | 12 +- test/argorder2.lcs | 2 +- test/argorder4.lcs | 2 +- test/args.expect | 2 +- test/args.lcs | 2 +- test/blocks.expect | 12 +- test/break.expect | 6 +- test/buffertest.expect | 2 +- test/cases.expect | 8 +- test/cast.expect | 4 +- test/cast.lcs | 2 +- test/charlit.expect | 6 +- test/clauses.expect | 8 +- test/commentchar.expect | 4 +- test/compdestroy.expect | 8 +- test/constannot.expect | 2 +- test/controldepth.expect | 4 +- test/czechnames.expect | 8 +- test/czechoslovaknames.expect | 6 +- test/db1.expect | 4 +- test/db1/Makefile | 12 +- test/db1/bool.lcs | 2 +- test/db1/bool.lh | 2 +- test/db1/dbase.lcs | 2 +- test/db1/dbase.lh | 2 +- test/db1/employee.lcs | 2 +- test/db1/employee.lh | 2 +- test/db1/empset.lcs | 2 +- test/db1/empset.lh | 2 +- test/db1/erc.lcs | 2 +- test/db1/erc.lh | 2 +- test/db1/eref.lcs | 2 +- test/db1/eref.lh | 2 +- test/db1/ereftab.lcs | 2 +- test/db1/ereftab.lh | 2 +- test/db2.expect | 6 +- test/db2/Makefile | 14 +- test/db2/dbase.lcs | 2 +- test/db2/dbase.lh | 2 +- test/db2/employee.lcs | 2 +- test/db2/employee.lh | 2 +- test/db2/empset.lcs | 2 +- test/db2/empset.lh | 2 +- test/db2/erc.lcs | 2 +- test/db2/erc.lh | 2 +- test/db2/eref.lcs | 2 +- test/db2/eref.lh | 2 +- test/db2/ereftab.lcs | 2 +- test/db2/ereftab.lh | 2 +- test/db3.expect | 4 +- test/db3/{.lclintrc => .splintrc} | 0 test/db3/Makefile | 16 +- test/db3/bool.lcs | 2 +- test/db3/bool.lh | 2 +- test/db3/check.lcs | 2 +- test/db3/check.lh | 2 +- test/db3/dbase.lcs | 2 +- test/db3/dbase.lh | 2 +- test/db3/employee.lcs | 2 +- test/db3/employee.lh | 2 +- test/db3/empset.lcs | 2 +- test/db3/empset.lh | 2 +- test/db3/erc.lcs | 2 +- test/db3/erc.lh | 2 +- test/db3/eref.lcs | 2 +- test/db3/eref.lh | 2 +- test/db3/ereftab.lcs | 2 +- test/db3/ereftab.lh | 2 +- test/deadparam.expect | 2 +- test/decl.expect | 6 +- test/decl2.lcs | 2 +- test/enum.expect | 4 +- test/enum.lcs | 2 +- test/exports.expect | 6 +- test/external.expect | 10 +- test/fields.expect | 6 +- test/fileio.expect | 6 +- test/fileio/Makefile | 8 +- test/flags.expect | 4 +- test/for.expect | 2 +- test/for/{.lclintrc => .splintrc} | 0 test/for/Makefile | 4 +- test/forbody.expect | 2 +- test/format.expect | 4 +- test/freearray.expect | 2 +- test/funcpointer.expect | 2 +- test/glob.expect | 6 +- test/glob.lcs | 2 +- test/globalbufferannotation.expect | 2 +- .../{.lclintrc => .splintrc} | 0 test/globalbufferannotation/Makefile | 4 +- test/globals.expect | 12 +- test/help.expect | 14 +- test/impabstract.expect | 6 +- test/impabstract.lcs | 2 +- test/init.expect | 4 +- test/inparam.expect | 4 +- test/internal.expect | 10 +- test/iter.expect | 6 +- test/iter.lcs | 2 +- test/keep.expect | 2 +- test/libs.expect | 8 +- test/linked.expect | 12 +- test/lintcomments.expect | 6 +- test/list.expect | 2 +- test/macros.expect | 6 +- test/macros.lcs | 2 +- test/macrosef.expect | 6 +- test/macrosef.lcs | 2 +- test/maxset.expect | 4 +- test/maxset/{.lclintrc => .splintrc} | 0 test/maxset/Makefile | 6 +- test/merge.expect | 2 +- test/mergestate.expect | 4 +- test/mergestate/Makefile | 6 +- test/metastate.expect | 24 +- test/metastate/Makefile | 26 +- test/modifies.expect | 2 +- test/modtest.expect | 6 +- test/modtest.lcs | 2 +- test/moduncon.expect | 4 +- test/mongoincludes.expect | 10 +- test/moreBufferTests.expect | 2 +- test/moreBufferTests/Makefile | 4 +- test/moreBufferTests2.expect | 2 +- test/moreBufferTests2/Makefile | 4 +- test/mut.lcs | 2 +- test/mut.lh | 2 +- test/mystrncat.expect | 2 +- test/noeffect.expect | 2 +- test/null.expect | 18 +- test/null6.lcd | 4 +- test/null6.lcs | 2 +- test/observer.expect | 6 +- test/observer.lcs | 2 +- test/oldstyle.expect | 2 +- test/oldstyle.lcs | 2 +- test/outglob.expect | 2 +- test/outglob.lcs | 2 +- test/outparam.expect | 2 +- test/outparam.lcs | 2 +- test/postnotnull.expect | 2 +- test/preds.expect | 6 +- test/prefixes.expect | 32 +- test/printflike.expect | 4 +- test/rc.expect | 18 +- test/{rc1.lclintrc => rc1.splintrc} | 4 +- test/{rc2.lclintrc => rc2.splintrc} | 0 test/{rc3.lclintrc => rc3.splintrc} | 0 test/{rc3.lclintrc.os2 => rc3.splintrc.os2} | 0 test/refcounts.expect | 2 +- test/release.expect | 2 +- test/repexpose.expect | 6 +- test/repexpose.lcs | 2 +- test/repexpose.lh | 2 +- test/returned.expect | 2 +- test/sharing.expect | 10 +- test/simplebufferConstraintTests.expect | 2 +- test/simplebufferConstraintTests/Makefile | 4 +- test/sizeof.expect | 2 +- test/slovaknames.expect | 10 +- test/specclauses.expect | 10 +- test/special.expect | 4 +- test/special.lcs | 2 +- test/stack.expect | 4 +- test/staticarray.expect | 2 +- test/strchr.expect | 2 +- test/strchr/{.lclintrc => .splintrc} | 0 test/strchr/Makefile | 4 +- test/strings.expect | 6 +- test/structassign.expect | 2 +- test/tainted.expect | 18 +- test/tainted/Makefile | 20 +- test/tests2.2.expect | 28 +- test/tests2.2/Makefile | 34 +- test/tests2.2/bool.lcs | 2 +- test/tests2.4.expect | 56 +- test/tests2.4/Makefile | 58 +- test/tests2.4/subdir/main.lcs | 2 +- test/tests2.5.expect | 26 +- test/tests2.5/Makefile | 32 +- test/tests2.5/newlint.lcd | 4 +- test/tq.lcs | 2 +- test/typequals.expect | 4 +- test/ud.expect | 4 +- test/ud2.lcs | 2 +- test/ullint.expect | 4 +- test/ulstypes.expect | 6 +- test/union.expect | 2 +- test/unreachable.expect | 6 +- test/unsignedcompare.expect | 2 +- test/unused.expect | 4 +- test/void.expect | 2 +- 415 files changed, 2953 insertions(+), 2956 deletions(-) rename src/{lclint.lclintrc => .splintrc} (100%) rename test/db3/{.lclintrc => .splintrc} (100%) rename test/for/{.lclintrc => .splintrc} (100%) rename test/globalbufferannotation/{.lclintrc => .splintrc} (100%) rename test/maxset/{.lclintrc => .splintrc} (100%) rename test/{rc1.lclintrc => rc1.splintrc} (53%) rename test/{rc2.lclintrc => rc2.splintrc} (100%) rename test/{rc3.lclintrc => rc3.splintrc} (100%) rename test/{rc3.lclintrc.os2 => rc3.splintrc.os2} (100%) rename test/strchr/{.lclintrc => .splintrc} (100%) diff --git a/README b/README index 2daf604..200dffe 100644 --- a/README +++ b/README @@ -1,20 +1,19 @@ - LCLint Version 3.0.0.19 + Splint Version 3.0.0.20 Alpha Release 29 December 2001 LCLint Documentation ==================== -For documentation on LCLint, please see http://lclint.cs.virginia.edu. +For documentation on LCLint, please see http://www.splint.org WARNING: this is an Alpha release - new features and changes are not -reflected in the documentation. The file BUFFERCHECKING contains -preliminary documentation on the array bounds checking. +reflected in the documentation. Build Instructions ================== -To build LCLint you need: +To build Splint you need: o a (hopefully ANSI-conforming) C compiler. On most modern Unix systems, cc will work fine. For older or less standard systems, gcc is @@ -27,23 +26,23 @@ You should also have: o flex o bison version 1.28 or later - bison 1.27 and 1.25 are believed to - have bugs that cause problems with lclint's parsers. + have bugs that cause problems with Splint's parsers. -If these are unavailable, you may be able to build lclint anyway using +If these are unavailable, you may be able to build Splint anyway using the derived grammar files. This is not recommended however. -1. Download the LCLint source package (lclint-.src.tgz). +1. Download the Splint source package (splint-.src.tgz). - Copy this package to the directory where you want to build LCLint. When - the tar file is extracted, it will create an lclint- subdirectory. + Copy this package to the directory where you want to build Splint. When + the tar file is extracted, it will create an splint- subdirectory. 2. Extract files from the tar archive: - tar xzf lclint-.src.tgz + tar xzf splint-.src.tgz 3. Run: ./configure This will create a Makefile with settings for your system. If you - want to install LCLint or associated libraries different + want to install Splint or associated libraries different directories, edit the Makefile. 4. Run: gmake @@ -53,32 +52,32 @@ the derived grammar files. This is not recommended however. 6. Set environment variables - LARCH_PATH - path to search for lclint libraries and + LARCH_PATH - path to search for splint libraries and initializations files. If you are using the standard directories, this - should be .:/lclint-3.0.0.9/lib. + should be .:/splint-3.0.0.9/lib. LCLIMPORTDIR - directory containing lcl imports files. If you are using - the standard directories, this is /lclint-3.0.0.9/imports. + the standard directories, this is /splint-3.0.0.9/imports. Put the commands to set these variables (the actual commands will depend on the shell you are using) in one of your initialization dotfiles (usually ~/.environment). Set up your PATH to include the directory containing - lclint-/bin/lclint, or move the binary to a directory on + splint-/bin/splint, or move the binary to a directory on your command path. 7. Run: gmake test Examine the test output. If there are errors, send a bug - report to lclint-bug@cs.virginia.edu + report to splint-bug@cs.virginia.edu -To subscribe to announcements of new lclint releases, send a message to +To subscribe to announcements of new Splint releases, send a message to majordomo@virginia.edu containing the body: subscribe lclint-announce -To participate in discussions related to lclint, send a message to +To participate in discussions related to Splint, send a message to majordomo@virginia.edu containing the body: subscribe lclint-interest diff --git a/config.h b/config.h index 6f5a5aa..036fdcc 100644 --- a/config.h +++ b/config.h @@ -3,11 +3,11 @@ /*@-constmacros@*/ -/* The directory where LCLint's library files live */ -#define DEFAULT_LARCHPATH ".:/usr/local/share/lclint/lib:/tmp/LCLintDev/lib:" +/* The directory where Splint's library files live */ +#define DEFAULT_LARCHPATH ".:/usr/local/share/splint/lib:/af10/evans/LCLintDev/lib:" -/* LCLint's imports directory */ -#define DEFAULT_LCLIMPORTDIR ".:/usr/local/share/lclint/imports:/tmp/LCLintDev/imports" +/* Splint's imports directory */ +#define DEFAULT_LCLIMPORTDIR ".:/usr/local/share/splint/imports:/af10/evans/LCLintDev/imports" /* gcc's private include directory */ #define GCC_INCLUDE_DIR "/usr/lib/gcc-lib/i386-linux/2.7.2.1/include" @@ -16,13 +16,13 @@ #define GCC_INCLUDE_DIR2 "/usr/local/include" /* String describing who compiled this binary and how */ -#define LCL_COMPILE "Compiled using gcc -g -O2 on Linux matthews.cs.Virginia.EDU 2.4.3-12 #1 Fri Jun 8 13:35:30 EDT 2001 i686 unknown by drl7x" +#define LCL_COMPILE "Compiled using gcc -g -O2 on Linux paisley 2.4.9-12 #1 Tue Oct 30 18:33:49 EST 2001 i686 unknown by evans" -/* LCLint's version number */ -#define LCL_PARSE_VERSION "LCLint 3.0.0.19" +/* Splint's version number */ +#define LCL_PARSE_VERSION "Splint 3.0.0.20" -/* LCLint's version number and release date */ -#define LCL_VERSION "LCLint 3.0.0.19 --- 5 October 2001" +/* Splint's version number and release date */ +#define LCL_VERSION "Splint 3.0.0.20 --- 5 October 2001" /* Define to disable support LCL files */ /* #undef NOLCL */ diff --git a/config.hin b/config.hin index 9c05c59..ae5ab5a 100644 --- a/config.hin +++ b/config.hin @@ -2,10 +2,10 @@ /*@-constmacros@*/ -/* The directory where LCLint's library files live */ +/* The directory where Splint's library files live */ #undef DEFAULT_LARCHPATH -/* LCLint's imports directory */ +/* Splint's imports directory */ #undef DEFAULT_LCLIMPORTDIR /* gcc's private include directory */ @@ -17,10 +17,10 @@ /* String describing who compiled this binary and how */ #undef LCL_COMPILE -/* LCLint's version number */ +/* Splint's version number */ #undef LCL_PARSE_VERSION -/* LCLint's version number and release date */ +/* Splint's version number and release date */ #undef LCL_VERSION /* Define to disable support LCL files */ diff --git a/configure b/configure index 354a634..e2df344 100755 --- a/configure +++ b/configure @@ -1,8 +1,8 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by Autoconf 2.52 for LCLint 3.0.0.19. +# Generated by Autoconf 2.52 for Splint 3.0.0.20. # -# Report bugs to . +# Report bugs to . # # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. @@ -147,11 +147,11 @@ infodir='${prefix}/info' mandir='${prefix}/man' # Identity of this package. -PACKAGE_NAME='LCLint' -PACKAGE_TARNAME='lclint' -PACKAGE_VERSION='3.0.0.19' -PACKAGE_STRING='LCLint 3.0.0.19' -PACKAGE_BUGREPORT='lclint-bug@cs.virginia.edu' +PACKAGE_NAME='Splint' +PACKAGE_TARNAME='splint' +PACKAGE_VERSION='3.0.0.20' +PACKAGE_STRING='Splint 3.0.0.20' +PACKAGE_BUGREPORT='splint-bug@cs.virginia.edu' ac_prev= for ac_option @@ -567,7 +567,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <. +Report bugs to . EOF fi @@ -703,7 +703,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\EOF -LCLint configure 3.0.0.19 +Splint configure 3.0.0.20 generated by GNU Autoconf 2.52 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 @@ -718,7 +718,7 @@ cat >&5 <>confdefs.h <>confdefs.h <>confdefs.h <>confdefs.h <>$CONFIG_STATUS <&5 << _ACEOF ## Running config.status. ## ## ----------------------- ## -This file was extended by $as_me (LCLint 3.0.0.19) 2.52, executed with +This file was extended by $as_me (Splint 3.0.0.20) 2.52, executed with CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS diff --git a/configure.ac b/configure.ac index b9fdef4..90d7f0d 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ dnl Process with autoconf to create a configure script -*- Autoconf -*- AC_PREREQ(2.50) -AC_INIT([LCLint], [3.0.0.19], [lclint-bug@cs.virginia.edu], [lclint]) +AC_INIT([Splint], [3.0.0.20], [splint-bug@cs.virginia.edu], [splint]) dnl This MUST precede any other macro AC_CONFIG_AUX_DIR([config]) @@ -15,12 +15,12 @@ dnl Set up automake & the configuration header AM_INIT_AUTOMAKE(AC_PACKAGE_TARNAME, AC_PACKAGE_VERSION, AC_PACKAGE_BUGREPORT) AM_CONFIG_HEADER([config.h:config.hin]) -dnl Prepare for LCLint processing of config.h +dnl Prepare for Splint processing of config.h AH_TOP([/*@-constmacros@*/]) AH_BOTTOM([/*@=constmacros@*/]) dnl Checks for programs. -#drl 12-19-2001 commented out so LCLint won't depend on C++ +#drl 12-19-2001 commented out so Splint won't depend on C++ #AC_PROG_CXX AC_PROG_CC AC_PROG_CPP @@ -116,18 +116,18 @@ AC_DEFINE_UNQUOTED(GCC_INCLUDE_DIR2, "$myprefix/include", AC_DEFINE_UNQUOTED(SYSTEM_LIBDIR, "$myprefix/include", [The system's main include directory]) AC_DEFINE_UNQUOTED(DEFAULT_LARCHPATH, - ".$PATH_SEPARATOR$myprefix/share/lclint/lib$PATH_SEPARATOR`pwd`/lib$PATH_SEPARATOR", - [The directory where LCLint's library files live]) -AC_DEFINE_UNQUOTED(DEFAULT_LCLIMPORTDIR, ".$PATH_SEPARATOR$myprefix/share/lclint/imports$PATH_SEPARATOR`pwd`/imports", - [LCLint's imports directory]) + ".$PATH_SEPARATOR$myprefix/share/splint/lib$PATH_SEPARATOR`pwd`/lib$PATH_SEPARATOR", + [The directory where Splint's library files live]) +AC_DEFINE_UNQUOTED(DEFAULT_LCLIMPORTDIR, ".$PATH_SEPARATOR$myprefix/share/splint/imports$PATH_SEPARATOR`pwd`/imports", + [Splint's imports directory]) # These used to be in herald.h LCL_PARSE_VERSION="AC_PACKAGE_NAME AC_PACKAGE_VERSION" AC_DEFINE_UNQUOTED(LCL_VERSION, "$LCL_PARSE_VERSION --- `cat $srcdir/src/DATE`", - [LCLint's version number and release date]) + [Splint's version number and release date]) AC_DEFINE_UNQUOTED(LCL_PARSE_VERSION, "$LCL_PARSE_VERSION", - [LCLint's version number]) + [Splint's version number]) AC_DEFINE_UNQUOTED(LCL_COMPILE, "Compiled using $CC $CFLAGS on `uname -a` by `whoami`", [String describing who compiled this binary and how]) diff --git a/imports/Makefile b/imports/Makefile index 8869903..32b3290 100644 --- a/imports/Makefile +++ b/imports/Makefile @@ -33,15 +33,15 @@ infodir = ${prefix}/info mandir = ${prefix}/man includedir = ${prefix}/include oldincludedir = /usr/include -pkgdatadir = $(datadir)/lclint -pkglibdir = $(libdir)/lclint -pkgincludedir = $(includedir)/lclint +pkgdatadir = $(datadir)/splint +pkglibdir = $(libdir)/splint +pkgincludedir = $(includedir)/splint top_builddir = .. -ACLOCAL = ${SHELL} /tmp/LCLintDev/config/missing --run aclocal -AUTOCONF = ${SHELL} /tmp/LCLintDev/config/missing --run autoconf -AUTOMAKE = ${SHELL} /tmp/LCLintDev/config/missing --run automake -AUTOHEADER = ${SHELL} /tmp/LCLintDev/config/missing --run autoheader +ACLOCAL = ${SHELL} /net/af10/evans/LCLintDev/config/missing --run aclocal +AUTOCONF = ${SHELL} /net/af10/evans/LCLintDev/config/missing --run autoconf +AUTOMAKE = ${SHELL} /net/af10/evans/LCLintDev/config/missing --run automake +AUTOHEADER = ${SHELL} /net/af10/evans/LCLintDev/config/missing --run autoheader INSTALL = /usr/bin/install -c INSTALL_PROGRAM = ${INSTALL} @@ -57,7 +57,7 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = host_triplet = i686-pc-linux-gnu -AMTAR = ${SHELL} /tmp/LCLintDev/config/missing --run tar +AMTAR = ${SHELL} /net/af10/evans/LCLintDev/config/missing --run tar AWK = gawk BISON = bison CAT = cat @@ -74,12 +74,12 @@ LEX = flex LN_S = ln -s MV = mv OBJEXT = o -PACKAGE = lclint +PACKAGE = splint RM = rm -VERSION = 3.0.0.19 +VERSION = 3.0.0.20 am__include = include am__quote = -install_sh = /tmp/LCLintDev/config/install-sh +install_sh = /net/af10/evans/LCLintDev/config/install-sh AUTOMAKE_OPTIONS = 1.5 foreign diff --git a/lib/Makefile.am b/lib/Makefile.am index 6d61129..02c5c3d 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -2,11 +2,11 @@ AUTOMAKE_OPTIONS = 1.5 foreign -## Put these files in $prefix/share/lclint/lib -lclintlibdir = $(pkgdatadir)/lib +## Put these files in $prefix/share/splint/lib +splintlibdir = $(pkgdatadir)/lib ## List of files -lclintlib_DATA = \ +splintlib_DATA = \ ansi.h ansi.lcd ansistrict.lcd posix.h posix.lcd posixstrict.lcd \ unix.h unix.lcd unixstrict.lcd CTrait.syms CTraitGen.lcl bool.h \ file.mts file.xh filerw.mts filerw.xh \ @@ -14,35 +14,35 @@ lclintlib_DATA = \ stdio.h stdlib.h ## Include them in the distribution -EXTRA_DIST = $(lclintlib_DATA) +EXTRA_DIST = $(splintlib_DATA) -## Rules to make lclint & the dumps +## Rules to make splint & the dumps -LCLINT = $(top_builddir)/src/lclint$(EXEEXT) +SPLINT = $(top_builddir)/src/splint$(EXEEXT) -$(LCLINT): +$(SPLINT): cd $(top_builddir)/src; $(MAKE) -ansi.lcd: ansi.h $(LCLINT) - -$(LCLINT) -nolib +impconj ansi.h -dump ansi +ansi.lcd: ansi.h $(SPLINT) + -$(SPLINT) -nolib +impconj ansi.h -dump ansi @touch $@ -ansistrict.lcd: ansi.h $(LCLINT) - -$(LCLINT) -nolib +impconj -DSTRICT ansi.h -dump ansistrict +ansistrict.lcd: ansi.h $(SPLINT) + -$(SPLINT) -nolib +impconj -DSTRICT ansi.h -dump ansistrict @touch $@ -posix.lcd: ansi.h posix.h $(LCLINT) - -$(LCLINT) -nolib +impconj ansi.h posix.h -dump posix +posix.lcd: ansi.h posix.h $(SPLINT) + -$(SPLINT) -nolib +impconj ansi.h posix.h -dump posix @touch $@ -posixstrict.lcd: ansi.h posix.h $(LCLINT) - -$(LCLINT) -nolib +impconj -DSTRICT ansi.h posix.h -dump posixstrict +posixstrict.lcd: ansi.h posix.h $(SPLINT) + -$(SPLINT) -nolib +impconj -DSTRICT ansi.h posix.h -dump posixstrict @touch $@ -unix.lcd: ansi.h posix.h unix.h $(LCLINT) - -$(LCLINT) -nolib +impconj ansi.h posix.h unix.h stdio.h stdlib.h -dump unix +unix.lcd: ansi.h posix.h unix.h $(SPLINT) + -$(SPLINT) -nolib +impconj ansi.h posix.h unix.h stdio.h stdlib.h -dump unix @touch $@ -unixstrict.lcd: ansi.h posix.h unix.h $(LCLINT) - -$(LCLINT) -nolib +impconj -DSTRICT ansi.h posix.h unix.h stdio.h stdlib.h -dump unixstrict +unixstrict.lcd: ansi.h posix.h unix.h $(SPLINT) + -$(SPLINT) -nolib +impconj -DSTRICT ansi.h posix.h unix.h stdio.h stdlib.h -dump unixstrict @touch $@ diff --git a/lib/Makefile.in b/lib/Makefile.in index 469ee72..32be5e5 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -83,9 +83,9 @@ install_sh = @install_sh@ AUTOMAKE_OPTIONS = 1.5 foreign -lclintlibdir = $(pkgdatadir)/lib +splintlibdir = $(pkgdatadir)/lib -lclintlib_DATA = \ +splintlib_DATA = \ ansi.h ansi.lcd ansistrict.lcd posix.h posix.lcd posixstrict.lcd \ unix.h unix.lcd unixstrict.lcd CTrait.syms CTraitGen.lcl bool.h \ file.mts file.xh filerw.mts filerw.xh \ @@ -93,15 +93,15 @@ lclintlib_DATA = \ stdio.h stdlib.h -EXTRA_DIST = $(lclintlib_DATA) +EXTRA_DIST = $(splintlib_DATA) -LCLINT = $(top_builddir)/src/lclint$(EXEEXT) +SPLINT = $(top_builddir)/src/splint$(EXEEXT) subdir = lib mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = -DATA = $(lclintlib_DATA) +DATA = $(splintlib_DATA) DIST_COMMON = Makefile.am Makefile.in all: all-am @@ -115,22 +115,22 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status CONFIG_HEADERS= CONFIG_LINKS= \ CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status uninstall-info-am: -install-lclintlibDATA: $(lclintlib_DATA) +install-splintlibDATA: $(splintlib_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(lclintlibdir) - @list='$(lclintlib_DATA)'; for p in $$list; do \ + $(mkinstalldirs) $(DESTDIR)$(splintlibdir) + @list='$(splintlib_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(lclintlibdir)/$$f"; \ - $(INSTALL_DATA) $$d$$p $(DESTDIR)$(lclintlibdir)/$$f; \ + echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(splintlibdir)/$$f"; \ + $(INSTALL_DATA) $$d$$p $(DESTDIR)$(splintlibdir)/$$f; \ done -uninstall-lclintlibDATA: +uninstall-splintlibDATA: @$(NORMAL_UNINSTALL) - @list='$(lclintlib_DATA)'; for p in $$list; do \ + @list='$(splintlib_DATA)'; for p in $$list; do \ f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(lclintlibdir)/$$f"; \ - rm -f $(DESTDIR)$(lclintlibdir)/$$f; \ + echo " rm -f $(DESTDIR)$(splintlibdir)/$$f"; \ + rm -f $(DESTDIR)$(splintlibdir)/$$f; \ done tags: TAGS TAGS: @@ -162,7 +162,7 @@ check: check-am all-am: Makefile $(DATA) installdirs: - $(mkinstalldirs) $(DESTDIR)$(lclintlibdir) + $(mkinstalldirs) $(DESTDIR)$(splintlibdir) install: install-am install-exec: install-exec-am @@ -203,7 +203,7 @@ info: info-am info-am: -install-data-am: install-lclintlibDATA +install-data-am: install-splintlibDATA install-exec-am: @@ -221,44 +221,44 @@ mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic -uninstall-am: uninstall-info-am uninstall-lclintlibDATA +uninstall-am: uninstall-info-am uninstall-splintlibDATA .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am info info-am install \ install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am \ - install-lclintlibDATA install-man install-strip installcheck \ + install-exec-am install-info install-info-am install-man \ + install-splintlibDATA install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ uninstall uninstall-am uninstall-info-am \ - uninstall-lclintlibDATA + uninstall-splintlibDATA -$(LCLINT): +$(SPLINT): cd $(top_builddir)/src; $(MAKE) -ansi.lcd: ansi.h $(LCLINT) - -$(LCLINT) -nolib +impconj ansi.h -dump ansi +ansi.lcd: ansi.h $(SPLINT) + -$(SPLINT) -nolib +impconj ansi.h -dump ansi @touch $@ -ansistrict.lcd: ansi.h $(LCLINT) - -$(LCLINT) -nolib +impconj -DSTRICT ansi.h -dump ansistrict +ansistrict.lcd: ansi.h $(SPLINT) + -$(SPLINT) -nolib +impconj -DSTRICT ansi.h -dump ansistrict @touch $@ -posix.lcd: ansi.h posix.h $(LCLINT) - -$(LCLINT) -nolib +impconj ansi.h posix.h -dump posix +posix.lcd: ansi.h posix.h $(SPLINT) + -$(SPLINT) -nolib +impconj ansi.h posix.h -dump posix @touch $@ -posixstrict.lcd: ansi.h posix.h $(LCLINT) - -$(LCLINT) -nolib +impconj -DSTRICT ansi.h posix.h -dump posixstrict +posixstrict.lcd: ansi.h posix.h $(SPLINT) + -$(SPLINT) -nolib +impconj -DSTRICT ansi.h posix.h -dump posixstrict @touch $@ -unix.lcd: ansi.h posix.h unix.h $(LCLINT) - -$(LCLINT) -nolib +impconj ansi.h posix.h unix.h stdio.h stdlib.h -dump unix +unix.lcd: ansi.h posix.h unix.h $(SPLINT) + -$(SPLINT) -nolib +impconj ansi.h posix.h unix.h stdio.h stdlib.h -dump unix @touch $@ -unixstrict.lcd: ansi.h posix.h unix.h $(LCLINT) - -$(LCLINT) -nolib +impconj -DSTRICT ansi.h posix.h unix.h stdio.h stdlib.h -dump unixstrict +unixstrict.lcd: ansi.h posix.h unix.h $(SPLINT) + -$(SPLINT) -nolib +impconj -DSTRICT ansi.h posix.h unix.h stdio.h stdlib.h -dump unixstrict @touch $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/lib/ansi.lcd b/lib/ansi.lcd index 6e518cf..3589b05 100644 --- a/lib/ansi.lcd +++ b/lib/ansi.lcd @@ -1,5 +1,5 @@ -;;LCLint Dump: ansi.lcd -;;LCLint 3.0.0.19 --- 5 October 2001 +;;; Splint Library ansi.lcd +;;Splint 3.0.0.20 --- 5 October 2001 ;;lib:168 ;;ctTable 0 u-2 19 38 diff --git a/lib/ansistrict.lcd b/lib/ansistrict.lcd index be4ded9..8e1e77e 100644 --- a/lib/ansistrict.lcd +++ b/lib/ansistrict.lcd @@ -1,5 +1,5 @@ -;;LCLint Dump: ansistrict.lcd -;;LCLint 3.0.0.19 --- 5 October 2001 +;;; Splint Library ansistrict.lcd +;;Splint 3.0.0.20 --- 5 October 2001 ;;lib:168 ;;ctTable 0 u-2 19 38 diff --git a/lib/posix.lcd b/lib/posix.lcd index 2574988..b4e2fef 100644 --- a/lib/posix.lcd +++ b/lib/posix.lcd @@ -1,5 +1,5 @@ -;;LCLint Dump: posix.lcd -;;LCLint 3.0.0.19 --- 5 October 2001 +;;; Splint Library posix.lcd +;;Splint 3.0.0.20 --- 5 October 2001 ;;lib:168 ;;ctTable 0 u-2 19 38 diff --git a/lib/posixstrict.lcd b/lib/posixstrict.lcd index 4bd9935..8a11c51 100644 --- a/lib/posixstrict.lcd +++ b/lib/posixstrict.lcd @@ -1,5 +1,5 @@ -;;LCLint Dump: posixstrict.lcd -;;LCLint 3.0.0.19 --- 5 October 2001 +;;; Splint Library posixstrict.lcd +;;Splint 3.0.0.20 --- 5 October 2001 ;;lib:168 ;;ctTable 0 u-2 19 38 diff --git a/lib/unix.lcd b/lib/unix.lcd index e4e52d9..8431e6e 100644 --- a/lib/unix.lcd +++ b/lib/unix.lcd @@ -1,5 +1,5 @@ -;;LCLint Dump: unix.lcd -;;LCLint 3.0.0.19 --- 5 October 2001 +;;; Splint Library unix.lcd +;;Splint 3.0.0.20 --- 5 October 2001 ;;lib:168 ;;ctTable 0 u-2 19 38 diff --git a/lib/unixstrict.lcd b/lib/unixstrict.lcd index 1d50de1..1ff34cf 100644 --- a/lib/unixstrict.lcd +++ b/lib/unixstrict.lcd @@ -1,5 +1,5 @@ -;;LCLint Dump: unixstrict.lcd -;;LCLint 3.0.0.19 --- 5 October 2001 +;;; Splint Library unixstrict.lcd +;;Splint 3.0.0.20 --- 5 October 2001 ;;lib:168 ;;ctTable 0 u-2 19 38 diff --git a/src/lclint.lclintrc b/src/.splintrc similarity index 100% rename from src/lclint.lclintrc rename to src/.splintrc diff --git a/src/Headers/constants.h b/src/Headers/constants.h index 595cc20..bf69ee2 100644 --- a/src/Headers/constants.h +++ b/src/Headers/constants.h @@ -18,10 +18,13 @@ # if defined(MSDOS) /*@constant observer char *RCFILE; @*/ -# define RCFILE "lclint.rc" +# define RCFILE "splint.rc" # else /*@constant observer char *RCFILE; @*/ -# define RCFILE ".lclintrc" +# define RCFILE ".splintrc" + +/*@constant observer char *ALTRCFILE; @*/ +# define ALTRCFILE ".lclintrc" # endif /*@constant observer cstring LARCH_PATH; @*/ @@ -59,6 +62,13 @@ /*@constant observer char *DUMP_SUFFIX; @*/ # define DUMP_SUFFIX ".lcd" +/* +** All valid libraries start with this +*/ + +/*@constant observer char *LIBRARY_MARKER@*/ +# define LIBRARY_MARKER ";;; Splint Library " + /*@constant int MAX_NAME_LENGTH=256; @*/ # define MAX_NAME_LENGTH 256 @@ -71,6 +81,7 @@ /*@constant int MINLINELEN=20; @*/ # define MINLINELEN 20 + /* ** WARNING: Can't use macros in token for cgrammar.l --> ** must keep these consistent! @@ -152,7 +163,7 @@ /*@constant char PFX_ANYLETTERDIGIT; @*/ # define PFX_ANYLETTERDIGIT '/' - + /* ** Note: this name is wired into ansi.h! */ diff --git a/src/Makefile.am b/src/Makefile.am index ffb9c2d..be89fdb 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -4,7 +4,7 @@ AUTOMAKE_OPTIONS = 1.5 foreign SUFFIXES = .h .c .o .l .check -# Check files before compiling; requires lclint! +# Check files before compiling; requires splint! CHECK = 1 # Some preferences @@ -14,8 +14,8 @@ YFLAGS = -v -t -d --debug BISON_SRC = cgrammar.y llgrammar.y mtgrammar.y signature.y -## We only build LCLint -bin_PROGRAMS = lclint +## We only build Splint +bin_PROGRAMS = splint ## This is a fake program, so we can easily substitute in the extra LCL objects EXTRA_PROGRAMS = lcl @@ -40,7 +40,7 @@ CSRC = uentry.c cprim.c macrocache.c qual.c qtype.c stateClause.c \ functionClauseList.c metaStateConstraint.c metaStateConstraintList.c \ metaStateExpression.c metaStateSpecifier.c functionConstraint.c -LCLINTSRC = exprNode.c exprChecks.c llmain.c +SPLINTSRC = exprNode.c exprChecks.c llmain.c CHECKSRC = structNames.c transferChecks.c varKinds.c nameChecks.c GLOBSRC = context.c globals.c flags.c general.c osd.c reader.c @@ -228,14 +228,14 @@ HEADERSRC = Headers/abstBodyNode.h Headers/ltokenList.h \ Headers/lsymbol.h Headers/version.h \ Headers/lsymbolList.h Headers/warnClause.h \ Headers/lsymbolSet.h Headers/ynm.h \ - Headers/ltoken.h Headers/lclintMacros.nf + Headers/ltoken.h Headers/splintMacros.nf IFILES = ctbase.i cttable.i exprDataQuite.i ## Non-built files we need to distribute EXTRA_DIST = DATE $(BISON_SRC) bison.head bison.reset $(HEADERSRC) \ flags.def cscanner.l flex.head flex.reset $(IFILES) \ - Headers/256_random_numbers.nf Headers/lclintMacros.nf Headers/reservedNames.nf + Headers/256_random_numbers.nf Headers/splintMacros.nf Headers/reservedNames.nf #Files that are used on systems that do not have bison or yacc @@ -247,23 +247,23 @@ DER_FILES = $(DER_BISON_FILES) COMMONSRC = $(OVERFLOWCHSRC) $(CPPSRC) $(CSRC) $(CHECKSRC) $(GENERALSRC) \ $(GLOBSRC) $(IFACESRC) $(LISTSRC) $(SETSRC) $(METASTATESRC) -ALLSRC = $(GRAMSRC) $(COMMONSRC) $(LCLINTSRC) $(DER_FILES) $(HEADERSRC) +ALLSRC = $(GRAMSRC) $(COMMONSRC) $(SPLINTSRC) $(DER_FILES) $(HEADERSRC) -#files to run LCLint on -LINTSRC = $(GRAMSRC) $(COMMONSRC) $(LCLINTSRC) +#files to run Splint on +LINTSRC = $(GRAMSRC) $(COMMONSRC) $(SPLINTSRC) -#ALLSRC = $(COMMONSRC) $(LCLINTSRC) $(DER_FILES) $(HEADERSRC) +#ALLSRC = $(COMMONSRC) $(SPLINTSRC) $(DER_FILES) $(HEADERSRC) LCLSRC = $(LCLSETSRC) $(LCLLISTSRC) $(LSLSRC) $(CMNSRC) $(LCLONLYSRC) \ $(LCLGRAMSRC) lcl_SOURCES = $(LCLSRC) -lclint_SOURCES = $(ALLSRC) -lclint_LDADD = $(LCLOBJ) @LEXLIB@ +splint_SOURCES = $(ALLSRC) +splint_LDADD = $(LCLOBJ) @LEXLIB@ # Ensure the LCL objects get built if needed -lclint_DEPENDENCIES = $(LCLOBJ) +splint_DEPENDENCIES = $(LCLOBJ) # Keep it fake .PHONY: lcl$(EXEEXT) @@ -349,7 +349,7 @@ Headers/flag_codes.gen: flags.def ## Checking rules -CHECKS = $(subst .c,.check,$(lclint_SOURCES)) +CHECKS = $(subst .c,.check,$(splint_SOURCES)) ## Other rules @@ -367,15 +367,15 @@ etags: maketags lintnew: - ./lclint -f lclint.lclintrc $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(LCLSRC) -dump lclint \ + ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(LCLSRC) -dump lclint \ +forcehints -misplacedsharequal +showsourceloc -unrecogcomments \ -supcounts -fcnuse -exportlocal -constuse -mts file -mts filerw lintbuffercheck: - ./lclint -f lclint.lclintrc $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(LCLSRC) -dump lclint \ + ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(LCLSRC) -dump lclint \ +forcehints -misplacedsharequal +showsourceloc -unrecogcomments \ -supcounts -fcnuse -exportlocal -constuse -mts file -mts filerw +arraybounds +arrayboundsread +implictconstraint -all: lclint$(EXEEXT) -CLEANFILES = lclint$(EXEEXT) +all: splint$(EXEEXT) +CLEANFILES = splint$(EXEEXT) diff --git a/src/Makefile.in b/src/Makefile.in index fa3e327..52958d9 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -85,7 +85,7 @@ AUTOMAKE_OPTIONS = 1.5 foreign SUFFIXES = .h .c .o .l .check -# Check files before compiling; requires lclint! +# Check files before compiling; requires splint! CHECK = 1 # Some preferences @@ -93,7 +93,7 @@ YFLAGS = -v -t -d --debug BISON_SRC = cgrammar.y llgrammar.y mtgrammar.y signature.y -bin_PROGRAMS = lclint +bin_PROGRAMS = splint EXTRA_PROGRAMS = lcl @@ -117,7 +117,7 @@ CSRC = uentry.c cprim.c macrocache.c qual.c qtype.c stateClause.c \ metaStateExpression.c metaStateSpecifier.c functionConstraint.c -LCLINTSRC = exprNode.c exprChecks.c llmain.c +SPLINTSRC = exprNode.c exprChecks.c llmain.c CHECKSRC = structNames.c transferChecks.c varKinds.c nameChecks.c GLOBSRC = context.c globals.c flags.c general.c osd.c reader.c @@ -308,14 +308,14 @@ HEADERSRC = Headers/abstBodyNode.h Headers/ltokenList.h \ Headers/lsymbol.h Headers/version.h \ Headers/lsymbolList.h Headers/warnClause.h \ Headers/lsymbolSet.h Headers/ynm.h \ - Headers/ltoken.h Headers/lclintMacros.nf + Headers/ltoken.h Headers/splintMacros.nf IFILES = ctbase.i cttable.i exprDataQuite.i EXTRA_DIST = DATE $(BISON_SRC) bison.head bison.reset $(HEADERSRC) \ flags.def cscanner.l flex.head flex.reset $(IFILES) \ - Headers/256_random_numbers.nf Headers/lclintMacros.nf Headers/reservedNames.nf + Headers/256_random_numbers.nf Headers/splintMacros.nf Headers/reservedNames.nf #Files that are used on systems that do not have bison or yacc @@ -328,24 +328,24 @@ COMMONSRC = $(OVERFLOWCHSRC) $(CPPSRC) $(CSRC) $(CHECKSRC) $(GENERALSRC) \ $(GLOBSRC) $(IFACESRC) $(LISTSRC) $(SETSRC) $(METASTATESRC) -ALLSRC = $(GRAMSRC) $(COMMONSRC) $(LCLINTSRC) $(DER_FILES) $(HEADERSRC) +ALLSRC = $(GRAMSRC) $(COMMONSRC) $(SPLINTSRC) $(DER_FILES) $(HEADERSRC) -#files to run LCLint on -LINTSRC = $(GRAMSRC) $(COMMONSRC) $(LCLINTSRC) +#files to run Splint on +LINTSRC = $(GRAMSRC) $(COMMONSRC) $(SPLINTSRC) -#ALLSRC = $(COMMONSRC) $(LCLINTSRC) $(DER_FILES) $(HEADERSRC) +#ALLSRC = $(COMMONSRC) $(SPLINTSRC) $(DER_FILES) $(HEADERSRC) LCLSRC = $(LCLSETSRC) $(LCLLISTSRC) $(LSLSRC) $(CMNSRC) $(LCLONLYSRC) \ $(LCLGRAMSRC) lcl_SOURCES = $(LCLSRC) -lclint_SOURCES = $(ALLSRC) -lclint_LDADD = $(LCLOBJ) @LEXLIB@ +splint_SOURCES = $(ALLSRC) +splint_LDADD = $(LCLOBJ) @LEXLIB@ # Ensure the LCL objects get built if needed -lclint_DEPENDENCIES = $(LCLOBJ) +splint_DEPENDENCIES = $(LCLOBJ) BUILT_SOURCES = Headers/signature_gen.h Headers/cgrammar_tokens.h \ Headers/llgrammar_gen.h Headers/llgrammar_gen2.h \ @@ -354,14 +354,14 @@ BUILT_SOURCES = Headers/signature_gen.h Headers/cgrammar_tokens.h \ $(DER_FILES) -CHECKS = $(subst .c,.check,$(lclint_SOURCES)) -CLEANFILES = lclint$(EXEEXT) +CHECKS = $(subst .c,.check,$(splint_SOURCES)) +CLEANFILES = splint$(EXEEXT) subdir = src mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = EXTRA_PROGRAMS = lcl$(EXEEXT) -bin_PROGRAMS = lclint$(EXEEXT) +bin_PROGRAMS = splint$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) am_lcl_OBJECTS = lsymbolSet.$(OBJEXT) sigNodeSet.$(OBJEXT) \ @@ -391,7 +391,7 @@ lcl_OBJECTS = $(am_lcl_OBJECTS) lcl_LDADD = $(LDADD) lcl_DEPENDENCIES = lcl_LDFLAGS = -am_lclint_OBJECTS = cgrammar.$(OBJEXT) cscanner.$(OBJEXT) \ +am_splint_OBJECTS = cgrammar.$(OBJEXT) cscanner.$(OBJEXT) \ mtscanner.$(OBJEXT) mtreader.$(OBJEXT) mtgrammar.$(OBJEXT) \ constraintGeneration.$(OBJEXT) constraintTerm.$(OBJEXT) \ constraintExprData.$(OBJEXT) constraintExpr.$(OBJEXT) \ @@ -444,8 +444,8 @@ am_lclint_OBJECTS = cgrammar.$(OBJEXT) cscanner.$(OBJEXT) \ mtDefaultsDecl.$(OBJEXT) mtMergeItem.$(OBJEXT) \ mtMergeClause.$(OBJEXT) mtMergeClauseList.$(OBJEXT) \ exprNode.$(OBJEXT) exprChecks.$(OBJEXT) llmain.$(OBJEXT) -lclint_OBJECTS = $(am_lclint_OBJECTS) -lclint_LDFLAGS = +splint_OBJECTS = $(am_splint_OBJECTS) +splint_LDFLAGS = DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) @@ -575,9 +575,9 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ CFLAGS = @CFLAGS@ -DIST_SOURCES = $(lcl_SOURCES) $(lclint_SOURCES) +DIST_SOURCES = $(lcl_SOURCES) $(splint_SOURCES) DIST_COMMON = Makefile.am Makefile.in -SOURCES = $(lcl_SOURCES) $(lclint_SOURCES) +SOURCES = $(lcl_SOURCES) $(splint_SOURCES) all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am @@ -614,9 +614,9 @@ uninstall-binPROGRAMS: clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -lclint$(EXEEXT): $(lclint_OBJECTS) $(lclint_DEPENDENCIES) - @rm -f lclint$(EXEEXT) - $(LINK) $(lclint_LDFLAGS) $(lclint_OBJECTS) $(lclint_LDADD) $(LIBS) +splint$(EXEEXT): $(splint_OBJECTS) $(splint_DEPENDENCIES) + @rm -f splint$(EXEEXT) + $(LINK) $(splint_LDFLAGS) $(splint_OBJECTS) $(splint_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core @@ -1039,16 +1039,16 @@ etags: maketags lintnew: - ./lclint -f lclint.lclintrc $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(LCLSRC) -dump lclint \ + ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(LCLSRC) -dump lclint \ +forcehints -misplacedsharequal +showsourceloc -unrecogcomments \ -supcounts -fcnuse -exportlocal -constuse -mts file -mts filerw lintbuffercheck: - ./lclint -f lclint.lclintrc $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(LCLSRC) -dump lclint \ + ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(LCLSRC) -dump lclint \ +forcehints -misplacedsharequal +showsourceloc -unrecogcomments \ -supcounts -fcnuse -exportlocal -constuse -mts file -mts filerw +arraybounds +arrayboundsread +implictconstraint -all: lclint$(EXEEXT) +all: splint$(EXEEXT) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/src/abstract.c b/src/abstract.c index 4f8de30..af04933 100644 --- a/src/abstract.c +++ b/src/abstract.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** abstract.c @@ -4499,7 +4499,7 @@ printTermNode2 (/*@null@*/ opFormNode op, termNodeList args, sort sort) } s = message ("%q%s", s, sortText); - break; /*** <<<--- bug detected by LCLint ***/ + break; } case OPF_MMIDDLE: { diff --git a/src/aliasTable.c b/src/aliasTable.c index 1359d92..7ab216d 100644 --- a/src/aliasTable.c +++ b/src/aliasTable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** aliasTable.c @@ -278,7 +278,7 @@ static /*@only@*/ sRefSet aliasTable_aliasedByAux (aliasTable s, sRef sr, int li llquietbug (message ("Alias search limit exceeded, checking %q. " "This either means there is a variable with at least " - "%d indirections, or there is a bug in LCLint.", + "%d indirections, or there is a bug in Splint.", sRef_unparse (sr), ALIASSEARCHLIMIT)); @@ -435,7 +435,7 @@ static /*@only@*/ sRefSet llquietbug (message ("Alias search limit exceeded, checking %q. " "This either means there is a variable with at least " - "%d indirections, or there is a bug in LCLint.", + "%d indirections, or there is a bug in Splint.", sRef_unparse (sr), ALIASSEARCHLIMIT)); diff --git a/src/annotationInfo.c b/src/annotationInfo.c index f8b5149..84f0356 100644 --- a/src/annotationInfo.c +++ b/src/annotationInfo.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** annotationInfo.c diff --git a/src/annotationTable.c b/src/annotationTable.c index 702a48d..6cb6855 100644 --- a/src/annotationTable.c +++ b/src/annotationTable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** annotationTable.c diff --git a/src/cgrammar.c.der b/src/cgrammar.c.der index 8f19178..78b4dd7 100644 --- a/src/cgrammar.c.der +++ b/src/cgrammar.c.der @@ -244,7 +244,7 @@ #define TYPE_NAME 444 #define METASTATE_NAME 445 -#line 19 "cgrammar.y" +#line 24 "cgrammar.y" /* ** @@ -300,7 +300,7 @@ extern void yyerror (char *); # endif -#line 75 "cgrammar.y" +#line 80 "cgrammar.y" typedef union { lltok tok; @@ -707,74 +707,74 @@ static const short yyrhs[] = { -1, #if YYDEBUG != 0 static const short yyrline[] = { 0, - 313, 314, 317, 318, 321, 322, 323, 324, 325, 326, - 327, 330, 332, 336, 336, 343, 349, 353, 354, 358, - 359, 361, 363, 375, 378, 388, 391, 399, 400, 402, - 404, 420, 423, 431, 434, 442, 444, 444, 448, 449, - 450, 451, 454, 457, 461, 461, 464, 464, 469, 470, - 473, 478, 479, 482, 487, 488, 491, 492, 493, 496, - 497, 498, 503, 504, 507, 509, 511, 513, 522, 524, - 526, 528, 544, 548, 549, 556, 557, 565, 567, 571, - 572, 573, 574, 575, 576, 579, 580, 581, 582, 583, - 584, 587, 590, 591, 598, 601, 604, 610, 618, 620, - 624, 627, 628, 631, 634, 640, 644, 645, 648, 651, - 652, 655, 656, 657, 660, 661, 662, 663, 664, 667, - 668, 669, 670, 671, 674, 675, 678, 684, 688, 690, - 694, 695, 697, 704, 714, 715, 718, 719, 720, 721, - 722, 723, 724, 725, 729, 730, 734, 735, 738, 740, - 742, 743, 744, 745, 746, 748, 752, 753, 756, 760, - 772, 773, 774, 775, 776, 777, 780, 781, 782, 783, - 784, 785, 786, 787, 788, 791, 792, 795, 796, 797, - 798, 799, 800, 801, 802, 803, 804, 805, 808, 809, - 812, 816, 817, 820, 821, 822, 823, 826, 827, 831, - 832, 833, 834, 837, 838, 839, 842, 843, 844, 847, - 848, 849, 850, 851, 854, 855, 856, 859, 860, 863, - 864, 868, 869, 872, 873, 878, 884, 885, 891, 897, - 898, 898, 900, 903, 904, 905, 906, 907, 908, 909, - 910, 911, 912, 913, 914, 917, 918, 921, 922, 925, - 930, 931, 932, 935, 949, 954, 960, 962, 968, 973, - 973, 977, 978, 980, 981, 984, 987, 990, 993, 994, - 997, 998, 1001, 1002, 1003, 1007, 1009, 1018, 1019, 1020, - 1021, 1022, 1024, 1028, 1031, 1037, 1046, 1049, 1052, 1059, - 1066, 1072, 1097, 1098, 1101, 1102, 1103, 1104, 1105, 1108, - 1109, 1110, 1111, 1114, 1115, 1116, 1117, 1118, 1119, 1120, - 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, - 1134, 1135, 1138, 1139, 1142, 1143, 1146, 1147, 1148, 1149, - 1152, 1153, 1154, 1155, 1156, 1157, 1160, 1161, 1162, 1163, - 1166, 1167, 1168, 1169, 1172, 1173, 1174, 1175, 1176, 1177, - 1178, 1179, 1180, 1181, 1182, 1189, 1190, 1191, 1192, 1193, - 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1205, - 1209, 1210, 1214, 1215, 1219, 1220, 1221, 1224, 1225, 1228, - 1230, 1232, 1233, 1235, 1237, 1238, 1240, 1242, 1244, 1246, - 1247, 1248, 1251, 1252, 1254, 1256, 1257, 1260, 1263, 1264, - 1265, 1268, 1270, 1274, 1276, 1280, 1281, 1282, 1286, 1288, - 1288, 1290, 1293, 1295, 1297, 1300, 1305, 1312, 1313, 1314, - 1321, 1325, 1326, 1330, 1331, 1334, 1335, 1338, 1339, 1342, - 1343, 1344, 1345, 1348, 1349, 1352, 1353, 1356, 1357, 1358, - 1361, 1361, 1362, 1363, 1366, 1378, 1394, 1395, 1398, 1399, - 1400, 1403, 1404, 1407, 1409, 1410, 1412, 1413, 1415, 1417, - 1419, 1421, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, - 1435, 1450, 1453, 1456, 1457, 1461, 1463, 1465, 1467, 1471, - 1472, 1474, 1478, 1480, 1482, 1485, 1486, 1487, 1488, 1489, - 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1500, 1506, - 1509, 1512, 1513, 1516, 1517, 1518, 1519, 1520, 1521, 1522, - 1523, 1524, 1525, 1526, 1529, 1530, 1536, 1537, 1538, 1539, - 1542, 1543, 1544, 1545, 1548, 1549, 1553, 1556, 1559, 1562, - 1565, 1568, 1571, 1572, 1573, 1574, 1576, 1577, 1579, 1581, - 1587, 1591, 1593, 1595, 1597, 1601, 1602, 1605, 1606, 1609, - 1610, 1613, 1614, 1617, 1618, 1619, 1622, 1630, 1635, 1636, - 1640, 1641, 1644, 1649, 1652, 1653, 1654, 1662, 1663, 1663, - 1667, 1668, 1669, 1680, 1687, 1688, 1691, 1692, 1695, 1696, - 1697, 1698, 1699, 1701, 1702, 1703, 1704, 1707, 1708, 1709, - 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1719, 1720, 1723, - 1724, 1725, 1726, 1729, 1730, 1731, 1734, 1735, 1736, 1739, - 1740, 1741, 1742, 1743, 1746, 1747, 1748, 1751, 1752, 1755, - 1756, 1760, 1761, 1764, 1765, 1768, 1769, 1772, 1773, 1774, - 1775, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, - 1787, 1788, 1789, 1792, 1793, 1796, 1799, 1801, 1803, 1807, - 1808, 1810, 1812, 1815, 1816, 1817, 1819, 1820, 1821, 1822, - 1823, 1824, 1825, 1828, 1829, 1832, 1835, 1836, 1837, 1838, - 1839, 1842, 1843 + 318, 319, 322, 323, 326, 327, 328, 329, 330, 331, + 332, 335, 337, 341, 341, 348, 354, 358, 359, 363, + 364, 366, 368, 380, 383, 393, 396, 404, 405, 407, + 409, 425, 428, 436, 439, 447, 449, 449, 453, 454, + 455, 456, 459, 462, 466, 466, 469, 469, 474, 475, + 478, 483, 484, 487, 492, 493, 496, 497, 498, 501, + 502, 503, 508, 509, 512, 514, 516, 518, 527, 529, + 531, 533, 549, 553, 554, 561, 562, 570, 572, 576, + 577, 578, 579, 580, 581, 584, 585, 586, 587, 588, + 589, 592, 595, 596, 603, 606, 609, 615, 623, 625, + 629, 632, 633, 636, 639, 645, 649, 650, 653, 656, + 657, 660, 661, 662, 665, 666, 667, 668, 669, 672, + 673, 674, 675, 676, 679, 680, 683, 689, 693, 695, + 699, 700, 702, 709, 719, 720, 723, 724, 725, 726, + 727, 728, 729, 730, 734, 735, 739, 740, 743, 745, + 747, 748, 749, 750, 751, 753, 757, 758, 761, 765, + 777, 778, 779, 780, 781, 782, 785, 786, 787, 788, + 789, 790, 791, 792, 793, 796, 797, 800, 801, 802, + 803, 804, 805, 806, 807, 808, 809, 810, 813, 814, + 817, 821, 822, 825, 826, 827, 828, 831, 832, 836, + 837, 838, 839, 842, 843, 844, 847, 848, 849, 852, + 853, 854, 855, 856, 859, 860, 861, 864, 865, 868, + 869, 873, 874, 877, 878, 883, 889, 890, 896, 902, + 903, 903, 905, 908, 909, 910, 911, 912, 913, 914, + 915, 916, 917, 918, 919, 922, 923, 926, 927, 930, + 935, 936, 937, 940, 954, 959, 965, 967, 973, 978, + 978, 982, 983, 985, 986, 989, 992, 995, 998, 999, + 1002, 1003, 1006, 1007, 1008, 1012, 1014, 1023, 1024, 1025, + 1026, 1027, 1029, 1033, 1036, 1042, 1051, 1054, 1057, 1064, + 1071, 1077, 1102, 1103, 1106, 1107, 1108, 1109, 1110, 1113, + 1114, 1115, 1116, 1119, 1120, 1121, 1122, 1123, 1124, 1125, + 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, + 1139, 1140, 1143, 1144, 1147, 1148, 1151, 1152, 1153, 1154, + 1157, 1158, 1159, 1160, 1161, 1162, 1165, 1166, 1167, 1168, + 1171, 1172, 1173, 1174, 1177, 1178, 1179, 1180, 1181, 1182, + 1183, 1184, 1185, 1186, 1187, 1194, 1195, 1196, 1197, 1198, + 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1210, + 1214, 1215, 1219, 1220, 1224, 1225, 1226, 1229, 1230, 1233, + 1235, 1237, 1238, 1240, 1242, 1243, 1245, 1247, 1249, 1251, + 1252, 1253, 1256, 1257, 1259, 1261, 1262, 1265, 1268, 1269, + 1270, 1273, 1275, 1279, 1281, 1285, 1286, 1287, 1291, 1293, + 1293, 1295, 1298, 1300, 1302, 1305, 1310, 1317, 1318, 1319, + 1326, 1330, 1331, 1335, 1336, 1339, 1340, 1343, 1344, 1347, + 1348, 1349, 1350, 1353, 1354, 1357, 1358, 1361, 1362, 1363, + 1366, 1366, 1367, 1368, 1371, 1383, 1399, 1400, 1403, 1404, + 1405, 1408, 1409, 1412, 1414, 1415, 1417, 1418, 1420, 1422, + 1424, 1426, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, + 1440, 1455, 1458, 1461, 1462, 1466, 1468, 1470, 1472, 1476, + 1477, 1479, 1483, 1485, 1487, 1490, 1491, 1492, 1493, 1494, + 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1505, 1511, + 1514, 1517, 1518, 1521, 1522, 1523, 1524, 1525, 1526, 1527, + 1528, 1529, 1530, 1531, 1534, 1535, 1541, 1542, 1543, 1544, + 1547, 1548, 1549, 1550, 1553, 1554, 1558, 1561, 1564, 1567, + 1570, 1573, 1576, 1577, 1578, 1579, 1581, 1582, 1584, 1586, + 1592, 1596, 1598, 1600, 1602, 1606, 1607, 1610, 1611, 1614, + 1615, 1618, 1619, 1622, 1623, 1624, 1627, 1635, 1640, 1641, + 1645, 1646, 1649, 1654, 1657, 1658, 1659, 1667, 1668, 1668, + 1672, 1673, 1674, 1685, 1692, 1693, 1696, 1697, 1700, 1701, + 1702, 1703, 1704, 1706, 1707, 1708, 1709, 1712, 1713, 1714, + 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1724, 1725, 1728, + 1729, 1730, 1731, 1734, 1735, 1736, 1739, 1740, 1741, 1744, + 1745, 1746, 1747, 1748, 1751, 1752, 1753, 1756, 1757, 1760, + 1761, 1765, 1766, 1769, 1770, 1773, 1774, 1777, 1778, 1779, + 1780, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, + 1792, 1793, 1794, 1797, 1798, 1801, 1804, 1806, 1808, 1812, + 1813, 1815, 1817, 1820, 1821, 1822, 1824, 1825, 1826, 1827, + 1828, 1829, 1830, 1833, 1834, 1837, 1840, 1841, 1842, 1843, + 1844, 1847, 1848 }; #endif @@ -3149,62 +3149,62 @@ yyreduce: switch (yyn) { case 3: -#line 317 "cgrammar.y" +#line 322 "cgrammar.y" { context_checkGlobalScope (); ; break;} case 4: -#line 318 "cgrammar.y" +#line 323 "cgrammar.y" { context_checkGlobalScope (); ; break;} case 5: -#line 321 "cgrammar.y" +#line 326 "cgrammar.y" { uentry_clearDecl (); ; break;} case 6: -#line 322 "cgrammar.y" +#line 327 "cgrammar.y" { uentry_clearDecl (); ; break;} case 7: -#line 323 "cgrammar.y" +#line 328 "cgrammar.y" { uentry_clearDecl (); ; break;} case 8: -#line 324 "cgrammar.y" +#line 329 "cgrammar.y" { uentry_clearDecl (); ; break;} case 9: -#line 325 "cgrammar.y" +#line 330 "cgrammar.y" { uentry_clearDecl (); ; break;} case 10: -#line 326 "cgrammar.y" +#line 331 "cgrammar.y" { uentry_checkDecl (); exprNode_free (yyvsp[0].expr); ; break;} case 11: -#line 327 "cgrammar.y" +#line 332 "cgrammar.y" { uentry_clearDecl (); ; break;} case 12: -#line 331 "cgrammar.y" +#line 336 "cgrammar.y" { checkConstant (yyvsp[-6].qtyp, yyvsp[-4].ntyp); ; break;} case 13: -#line 333 "cgrammar.y" +#line 338 "cgrammar.y" { checkValueConstant (yyvsp[-9].qtyp, yyvsp[-7].ntyp, yyvsp[-3].expr) ; ; break;} case 14: -#line 336 "cgrammar.y" +#line 341 "cgrammar.y" { context_enterFunctionHeader (); ; break;} case 15: -#line 337 "cgrammar.y" +#line 342 "cgrammar.y" { declareStaticFunction (yyvsp[-2].ntyp); context_quietExitFunction (); context_exitFunctionHeader (); ; break;} case 16: -#line 344 "cgrammar.y" +#line 349 "cgrammar.y" { qtype qint = qtype_create (ctype_int); yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint); @@ -3212,27 +3212,27 @@ case 16: ; break;} case 17: -#line 350 "cgrammar.y" +#line 355 "cgrammar.y" { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ; break;} case 19: -#line 355 "cgrammar.y" +#line 360 "cgrammar.y" { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ; break;} case 20: -#line 358 "cgrammar.y" +#line 363 "cgrammar.y" { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ; break;} case 21: -#line 360 "cgrammar.y" +#line 365 "cgrammar.y" { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ; break;} case 22: -#line 362 "cgrammar.y" +#line 367 "cgrammar.y" { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-2].ntyp))); ; break;} case 23: -#line 364 "cgrammar.y" +#line 369 "cgrammar.y" { exprNode_findValue(yyvsp[-2].expr); if (exprNode_hasValue (yyvsp[-2].expr)) @@ -3246,11 +3246,11 @@ case 23: ; break;} case 24: -#line 376 "cgrammar.y" +#line 381 "cgrammar.y" { setCurrentParams (uentryList_missingParams); ; break;} case 25: -#line 378 "cgrammar.y" +#line 383 "cgrammar.y" { /* need to support globals and modifies here! */ ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp), uentryList_makeMissingParams ()); @@ -3263,11 +3263,11 @@ case 25: ; break;} case 26: -#line 389 "cgrammar.y" +#line 394 "cgrammar.y" { setCurrentParams (yyvsp[-1].entrylist); ; break;} case 27: -#line 391 "cgrammar.y" +#line 396 "cgrammar.y" { setImplictfcnConstraints (); clearCurrentParams (); yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist)); @@ -3276,19 +3276,19 @@ case 27: ; break;} case 28: -#line 399 "cgrammar.y" +#line 404 "cgrammar.y" { yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ; break;} case 29: -#line 401 "cgrammar.y" +#line 406 "cgrammar.y" { yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ; break;} case 30: -#line 403 "cgrammar.y" +#line 408 "cgrammar.y" { yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-2].ntyp))); ; break;} case 31: -#line 405 "cgrammar.y" +#line 410 "cgrammar.y" { int value; @@ -3306,11 +3306,11 @@ case 31: ; break;} case 32: -#line 421 "cgrammar.y" +#line 426 "cgrammar.y" { setCurrentParams (uentryList_missingParams); ; break;} case 33: -#line 423 "cgrammar.y" +#line 428 "cgrammar.y" { ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp), uentryList_makeMissingParams ()); @@ -3321,11 +3321,11 @@ case 33: ; break;} case 34: -#line 432 "cgrammar.y" +#line 437 "cgrammar.y" { setCurrentParams (yyvsp[-1].entrylist); ; break;} case 35: -#line 434 "cgrammar.y" +#line 439 "cgrammar.y" { clearCurrentParams (); yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist)); @@ -3334,113 +3334,113 @@ case 35: ; break;} case 36: -#line 443 "cgrammar.y" +#line 448 "cgrammar.y" { setCurrentParams (yyvsp[-1].entrylist); ; break;} case 37: -#line 444 "cgrammar.y" +#line 449 "cgrammar.y" { clearCurrentParams (); ; break;} case 38: -#line 445 "cgrammar.y" +#line 450 "cgrammar.y" { declareCIter (yyvsp[-8].cname, yyvsp[-6].entrylist); ; break;} case 39: -#line 448 "cgrammar.y" +#line 453 "cgrammar.y" { exprNode_checkMacroBody (yyvsp[-1].expr); ; break;} case 40: -#line 449 "cgrammar.y" +#line 454 "cgrammar.y" { exprNode_checkIterBody (yyvsp[-1].expr); ; break;} case 41: -#line 450 "cgrammar.y" +#line 455 "cgrammar.y" { exprNode_checkIterEnd (yyvsp[-1].expr); ; break;} case 42: -#line 451 "cgrammar.y" +#line 456 "cgrammar.y" { exprChecks_checkEmptyMacroBody (); ; break;} case 43: -#line 454 "cgrammar.y" +#line 459 "cgrammar.y" { clabstract_declareFunction (yyvsp[0].ntyp); ; break;} case 44: -#line 458 "cgrammar.y" +#line 463 "cgrammar.y" { yyval.msconstraint = metaStateConstraint_create (yyvsp[-2].msspec, yyvsp[0].msexpr); ; break;} case 45: -#line 461 "cgrammar.y" +#line 466 "cgrammar.y" { cscanner_expectingMetaStateName (); ; break;} case 46: -#line 462 "cgrammar.y" +#line 467 "cgrammar.y" { cscanner_clearExpectingMetaStateName (); yyval.msspec = metaStateSpecifier_create (yyvsp[-3].sr, yyvsp[0].msinfo); ; break;} case 47: -#line 464 "cgrammar.y" +#line 469 "cgrammar.y" { cscanner_expectingMetaStateName (); ; break;} case 48: -#line 465 "cgrammar.y" +#line 470 "cgrammar.y" { cscanner_clearExpectingMetaStateName (); yyval.msspec = metaStateSpecifier_createElipsis (yyvsp[0].msinfo); ; break;} case 49: -#line 469 "cgrammar.y" +#line 474 "cgrammar.y" { yyval.msexpr = metaStateExpression_create (yyvsp[0].msspec); ; break;} case 50: -#line 470 "cgrammar.y" +#line 475 "cgrammar.y" { yyval.msexpr = metaStateExpression_createMerge (yyvsp[-2].msspec, yyvsp[0].msexpr); ; break;} case 52: -#line 478 "cgrammar.y" +#line 483 "cgrammar.y" { yyval.conL = constraintList_add (yyvsp[0].conL, yyvsp[-2].con); ; break;} case 53: -#line 479 "cgrammar.y" +#line 484 "cgrammar.y" { yyval.conL = constraintList_single (yyvsp[0].con); ; break;} case 54: -#line 482 "cgrammar.y" +#line 487 "cgrammar.y" { yyval.con = makeConstraintParse3 (yyvsp[-2].conE, yyvsp[-1].tok, yyvsp[0].conE); DPRINTF(("Done BufConstraint1\n")); ; break;} case 61: -#line 497 "cgrammar.y" +#line 502 "cgrammar.y" {yyval.conE = constraintExpr_parseMakeUnaryOp (yyvsp[-3].tok, yyvsp[-1].conE); DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ; break;} case 62: -#line 498 "cgrammar.y" +#line 503 "cgrammar.y" { DPRINTF( ("Got BufConstraintExpr BINary Op ") ); yyval.conE = constraintExpr_parseMakeBinaryOp (yyvsp[-3].conE, yyvsp[-2].tok, yyvsp[-1].conE); ; break;} case 63: -#line 503 "cgrammar.y" +#line 508 "cgrammar.y" { yyval.conE = constraintExpr_makeTermsRef (yyvsp[0].sr);; break;} case 64: -#line 504 "cgrammar.y" +#line 509 "cgrammar.y" { yyval.conE = constraintExpr_makeIntLiteral (exprNode_getLongValue (yyvsp[0].expr)); ; break;} case 65: -#line 508 "cgrammar.y" +#line 513 "cgrammar.y" { /*@-onlytrans@*/ yyval.sr = checkbufferConstraintClausesId (yyvsp[0].entry); /*@=onlytrans@*/ /*@i523@*/ ; break;} case 66: -#line 510 "cgrammar.y" +#line 515 "cgrammar.y" { yyval.sr = fixStateClausesId (yyvsp[0].cname); ; break;} case 67: -#line 512 "cgrammar.y" +#line 517 "cgrammar.y" { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ; break;} case 68: -#line 514 "cgrammar.y" +#line 519 "cgrammar.y" { /* char *t; int c; @@ -3451,117 +3451,117 @@ case 68: ; break;} case 69: -#line 523 "cgrammar.y" +#line 528 "cgrammar.y" { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ; break;} case 70: -#line 525 "cgrammar.y" +#line 530 "cgrammar.y" { yyval.sr = yyvsp[-1].sr; ; break;} case 71: -#line 527 "cgrammar.y" +#line 532 "cgrammar.y" { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ; break;} case 72: -#line 529 "cgrammar.y" +#line 534 "cgrammar.y" { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ; break;} case 76: -#line 556 "cgrammar.y" +#line 561 "cgrammar.y" { yyval.funcclauselist = functionClauseList_new (); ; break;} case 77: -#line 558 "cgrammar.y" +#line 563 "cgrammar.y" { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ; break;} case 78: -#line 566 "cgrammar.y" +#line 571 "cgrammar.y" { yyval.funcclauselist = functionClauseList_new (); ; break;} case 79: -#line 568 "cgrammar.y" +#line 573 "cgrammar.y" { yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ; break;} case 80: -#line 571 "cgrammar.y" +#line 576 "cgrammar.y" { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ; break;} case 81: -#line 572 "cgrammar.y" +#line 577 "cgrammar.y" { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ; break;} case 82: -#line 573 "cgrammar.y" +#line 578 "cgrammar.y" { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ; break;} case 83: -#line 574 "cgrammar.y" +#line 579 "cgrammar.y" { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ; break;} case 84: -#line 575 "cgrammar.y" +#line 580 "cgrammar.y" { yyval.funcclause = yyvsp[0].funcclause; ; break;} case 85: -#line 576 "cgrammar.y" +#line 581 "cgrammar.y" { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ; break;} case 86: -#line 579 "cgrammar.y" +#line 584 "cgrammar.y" { yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ; break;} case 87: -#line 580 "cgrammar.y" +#line 585 "cgrammar.y" { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ; break;} case 88: -#line 581 "cgrammar.y" +#line 586 "cgrammar.y" { yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ; break;} case 89: -#line 582 "cgrammar.y" +#line 587 "cgrammar.y" { yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ; break;} case 90: -#line 583 "cgrammar.y" +#line 588 "cgrammar.y" { yyval.funcclause = yyvsp[0].funcclause; ; break;} case 91: -#line 584 "cgrammar.y" +#line 589 "cgrammar.y" { yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ; break;} case 92: -#line 587 "cgrammar.y" +#line 592 "cgrammar.y" { yyval.globsclause = yyvsp[-1].globsclause; ; break;} case 93: -#line 590 "cgrammar.y" +#line 595 "cgrammar.y" { setProcessingGlobalsList (); ; break;} case 94: -#line 592 "cgrammar.y" +#line 597 "cgrammar.y" { unsetProcessingGlobals (); yyval.globsclause = globalsClause_create (yyvsp[-3].tok, yyvsp[-1].globset); ; break;} case 95: -#line 598 "cgrammar.y" +#line 603 "cgrammar.y" { yyval.modsclause = modifiesClause_createNoMods (yyvsp[0].tok); ; break;} case 96: -#line 601 "cgrammar.y" +#line 606 "cgrammar.y" { yyval.modsclause = yyvsp[-1].modsclause; ; break;} case 97: -#line 605 "cgrammar.y" +#line 610 "cgrammar.y" { context_setProtectVars (); enterParamsTemp (); sRef_setGlobalScopeSafe (); ; break;} case 98: -#line 610 "cgrammar.y" +#line 615 "cgrammar.y" { exitParamsTemp (); sRef_clearGlobalScopeSafe (); @@ -3570,23 +3570,23 @@ case 98: ; break;} case 99: -#line 619 "cgrammar.y" +#line 624 "cgrammar.y" { yyval.flagspec = flagSpec_createPlain (yyvsp[0].cname); ; break;} case 100: -#line 621 "cgrammar.y" +#line 626 "cgrammar.y" { yyval.flagspec = flagSpec_createOr (yyvsp[-2].cname, yyvsp[0].flagspec); ; break;} case 103: -#line 628 "cgrammar.y" +#line 633 "cgrammar.y" { yyval.warnclause = warnClause_undefined; ; break;} case 104: -#line 631 "cgrammar.y" +#line 636 "cgrammar.y" { yyval.warnclause = yyvsp[-1].warnclause; ; break;} case 105: -#line 635 "cgrammar.y" +#line 640 "cgrammar.y" { llassert (exprNode_knownStringValue (yyvsp[0].expr)); yyval.warnclause = warnClause_create (yyvsp[-2].tok, yyvsp[-1].flagspec, cstring_copy (multiVal_forceString (exprNode_getValue (yyvsp[0].expr)))); @@ -3594,63 +3594,63 @@ case 105: ; break;} case 106: -#line 641 "cgrammar.y" +#line 646 "cgrammar.y" { yyval.warnclause = warnClause_create (yyvsp[-1].tok, yyvsp[0].flagspec, cstring_undefined); ; break;} case 107: -#line 644 "cgrammar.y" +#line 649 "cgrammar.y" { yyval.globset = globSet_single (yyvsp[0].sr); ; break;} case 108: -#line 645 "cgrammar.y" +#line 650 "cgrammar.y" { yyval.globset = globSet_insert (yyvsp[-2].globset, yyvsp[0].sr); ; break;} case 109: -#line 648 "cgrammar.y" +#line 653 "cgrammar.y" { yyval.sr = clabstract_createGlobal (yyvsp[0].sr, yyvsp[-1].tquallist); ; break;} case 110: -#line 651 "cgrammar.y" +#line 656 "cgrammar.y" { yyval.tquallist = qualList_undefined; ; break;} case 111: -#line 652 "cgrammar.y" +#line 657 "cgrammar.y" { yyval.tquallist = qualList_add (yyvsp[0].tquallist, yyvsp[-1].typequal); ; break;} case 112: -#line 655 "cgrammar.y" +#line 660 "cgrammar.y" { yyval.sr = uentry_getSref (yyvsp[0].entry); ; break;} case 113: -#line 656 "cgrammar.y" +#line 661 "cgrammar.y" { yyval.sr = clabstract_unrecognizedGlobal (yyvsp[0].cname); ; break;} case 114: -#line 657 "cgrammar.y" +#line 662 "cgrammar.y" { yyval.sr = clabstract_checkGlobal (yyvsp[0].expr); ; break;} case 115: -#line 660 "cgrammar.y" +#line 665 "cgrammar.y" { yyval.typequal = qual_createUndef (); ; break;} case 116: -#line 661 "cgrammar.y" +#line 666 "cgrammar.y" { yyval.typequal = qual_createKilled (); ; break;} case 117: -#line 662 "cgrammar.y" +#line 667 "cgrammar.y" { yyval.typequal = qual_createOut (); ; break;} case 118: -#line 663 "cgrammar.y" +#line 668 "cgrammar.y" { yyval.typequal = qual_createIn (); ; break;} case 119: -#line 664 "cgrammar.y" +#line 669 "cgrammar.y" { yyval.typequal = qual_createPartial (); ; break;} case 127: -#line 679 "cgrammar.y" +#line 684 "cgrammar.y" { qtype qint = qtype_create (ctype_int); yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint); @@ -3658,30 +3658,30 @@ case 127: ; break;} case 128: -#line 685 "cgrammar.y" +#line 690 "cgrammar.y" { yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ; break;} case 129: -#line 688 "cgrammar.y" +#line 693 "cgrammar.y" { checkDoneParams (); context_enterInnerContext (); ; break;} case 130: -#line 690 "cgrammar.y" +#line 695 "cgrammar.y" { exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ; break;} case 131: -#line 694 "cgrammar.y" +#line 699 "cgrammar.y" { context_enterOldStyleScope (); ; break;} case 132: -#line 695 "cgrammar.y" +#line 700 "cgrammar.y" { oldStyleDoneParams (); context_enterInnerContext (); ; break;} case 133: -#line 697 "cgrammar.y" +#line 702 "cgrammar.y" { exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr; /* oldstyle */ @@ -3689,7 +3689,7 @@ case 133: ; break;} case 134: -#line 705 "cgrammar.y" +#line 710 "cgrammar.y" { context_setFunctionDefined (exprNode_loc (yyvsp[0].expr)); exprNode_checkFunction (context_getHeader (), yyvsp[0].expr); @@ -3699,107 +3699,107 @@ case 134: ; break;} case 135: -#line 714 "cgrammar.y" +#line 719 "cgrammar.y" { yyval.srset = yyvsp[-1].srset; ; break;} case 136: -#line 715 "cgrammar.y" +#line 720 "cgrammar.y" { yyval.srset = sRefSet_new (); ; break;} case 137: -#line 718 "cgrammar.y" +#line 723 "cgrammar.y" { yyval.sr = uentry_getSref (yyvsp[0].entry); checkModifiesId (yyvsp[0].entry); ; break;} case 138: -#line 719 "cgrammar.y" +#line 724 "cgrammar.y" { yyval.sr = fixModifiesId (yyvsp[0].cname); ; break;} case 139: -#line 720 "cgrammar.y" +#line 725 "cgrammar.y" { yyval.sr = modListArrayFetch (yyvsp[-2].sr, sRef_undefined); ; break;} case 140: -#line 721 "cgrammar.y" +#line 726 "cgrammar.y" { yyval.sr = modListArrayFetch (yyvsp[-3].sr, yyvsp[-1].sr); ; break;} case 141: -#line 722 "cgrammar.y" +#line 727 "cgrammar.y" { yyval.sr = modListPointer (yyvsp[0].sr); ; break;} case 142: -#line 723 "cgrammar.y" +#line 728 "cgrammar.y" { yyval.sr = yyvsp[-1].sr; ; break;} case 143: -#line 724 "cgrammar.y" +#line 729 "cgrammar.y" { yyval.sr = modListFieldAccess (yyvsp[-2].sr, yyvsp[0].cname); ; break;} case 144: -#line 725 "cgrammar.y" +#line 730 "cgrammar.y" { yyval.sr = modListArrowAccess (yyvsp[-2].sr, yyvsp[0].cname); ; break;} case 145: -#line 729 "cgrammar.y" +#line 734 "cgrammar.y" { yyval.sr = yyvsp[0].sr; ; break;} case 146: -#line 730 "cgrammar.y" +#line 735 "cgrammar.y" { yyval.sr = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ; break;} case 147: -#line 734 "cgrammar.y" +#line 739 "cgrammar.y" { yyval.srset = sRefSet_single (yyvsp[0].sr); ; break;} case 148: -#line 735 "cgrammar.y" +#line 740 "cgrammar.y" { yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); ; break;} case 149: -#line 739 "cgrammar.y" +#line 744 "cgrammar.y" { yyval.sr = checkStateClausesId (yyvsp[0].entry); ; break;} case 150: -#line 741 "cgrammar.y" +#line 746 "cgrammar.y" { yyval.sr = fixStateClausesId (yyvsp[0].cname); ; break;} case 151: -#line 742 "cgrammar.y" +#line 747 "cgrammar.y" { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ; break;} case 152: -#line 743 "cgrammar.y" +#line 748 "cgrammar.y" { yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-3].sr); ; break;} case 153: -#line 744 "cgrammar.y" +#line 749 "cgrammar.y" { yyval.sr = sRef_constructPointer (yyvsp[0].sr); ; break;} case 154: -#line 745 "cgrammar.y" +#line 750 "cgrammar.y" { yyval.sr = yyvsp[-1].sr; ; break;} case 155: -#line 746 "cgrammar.y" +#line 751 "cgrammar.y" { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ; break;} case 156: -#line 748 "cgrammar.y" +#line 753 "cgrammar.y" { cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ; break;} case 157: -#line 752 "cgrammar.y" +#line 757 "cgrammar.y" { yyval.srset = sRefSet_undefined ; break;} case 159: -#line 757 "cgrammar.y" +#line 762 "cgrammar.y" { if (sRef_isValid (yyvsp[0].sr)) { yyval.srset = sRefSet_single (yyvsp[0].sr); } else { yyval.srset = sRefSet_undefined; } ; break;} case 160: -#line 761 "cgrammar.y" +#line 766 "cgrammar.y" { if (sRef_isValid (yyvsp[0].sr)) { yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); @@ -3811,325 +3811,325 @@ case 160: ; break;} case 161: -#line 772 "cgrammar.y" +#line 777 "cgrammar.y" { yyval.expr = exprNode_fromIdentifier (yyvsp[0].entry); ; break;} case 162: -#line 773 "cgrammar.y" +#line 778 "cgrammar.y" { yyval.expr = exprNode_fromUIO (yyvsp[0].cname); ; break;} case 164: -#line 775 "cgrammar.y" +#line 780 "cgrammar.y" { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ; break;} case 165: -#line 776 "cgrammar.y" +#line 781 "cgrammar.y" { yyval.expr = exprNode_fromIdentifier (coerceId (yyvsp[0].cname)); ; break;} case 166: -#line 777 "cgrammar.y" +#line 782 "cgrammar.y" { yyval.expr = exprNode_makeError (); ; break;} case 168: -#line 781 "cgrammar.y" +#line 786 "cgrammar.y" { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ; break;} case 169: -#line 782 "cgrammar.y" +#line 787 "cgrammar.y" { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ; break;} case 170: -#line 783 "cgrammar.y" +#line 788 "cgrammar.y" { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ; break;} case 171: -#line 784 "cgrammar.y" +#line 789 "cgrammar.y" { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ; break;} case 172: -#line 785 "cgrammar.y" +#line 790 "cgrammar.y" { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ; break;} case 173: -#line 786 "cgrammar.y" +#line 791 "cgrammar.y" { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ; break;} case 174: -#line 787 "cgrammar.y" +#line 792 "cgrammar.y" { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ; break;} case 175: -#line 788 "cgrammar.y" +#line 793 "cgrammar.y" { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ; break;} case 176: -#line 791 "cgrammar.y" +#line 796 "cgrammar.y" { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ; break;} case 177: -#line 792 "cgrammar.y" +#line 797 "cgrammar.y" { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ; break;} case 179: -#line 796 "cgrammar.y" +#line 801 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 180: -#line 797 "cgrammar.y" +#line 802 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 181: -#line 798 "cgrammar.y" +#line 803 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 182: -#line 799 "cgrammar.y" +#line 804 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 183: -#line 800 "cgrammar.y" +#line 805 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 184: -#line 801 "cgrammar.y" +#line 806 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 185: -#line 802 "cgrammar.y" +#line 807 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 186: -#line 803 "cgrammar.y" +#line 808 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 187: -#line 804 "cgrammar.y" +#line 809 "cgrammar.y" { yyval.expr = yyvsp[0].expr; ; break;} case 188: -#line 805 "cgrammar.y" +#line 810 "cgrammar.y" { yyval.expr = yyvsp[0].expr; ; break;} case 189: -#line 808 "cgrammar.y" +#line 813 "cgrammar.y" { yyval.cstringlist = cstringList_add (yyvsp[-2].cstringlist, yyvsp[0].cname); ; break;} case 190: -#line 809 "cgrammar.y" +#line 814 "cgrammar.y" { yyval.cstringlist = cstringList_single (yyvsp[0].cname); ; break;} case 191: -#line 813 "cgrammar.y" +#line 818 "cgrammar.y" { yyval.expr = exprNode_offsetof (yyvsp[-5].qtyp, yyvsp[-2].cstringlist); ; break;} case 192: -#line 816 "cgrammar.y" +#line 821 "cgrammar.y" { context_setProtectVars (); ; break;} case 193: -#line 817 "cgrammar.y" +#line 822 "cgrammar.y" { context_sizeofReleaseVars (); yyval.expr = yyvsp[0].expr; ; break;} case 194: -#line 820 "cgrammar.y" +#line 825 "cgrammar.y" { yyval.expr = exprNode_sizeofType (yyvsp[-1].qtyp); ; break;} case 195: -#line 821 "cgrammar.y" +#line 826 "cgrammar.y" { yyval.expr = exprNode_sizeofExpr (yyvsp[0].expr); ; break;} case 196: -#line 822 "cgrammar.y" +#line 827 "cgrammar.y" { yyval.expr = exprNode_alignofType (yyvsp[-1].qtyp); ; break;} case 197: -#line 823 "cgrammar.y" +#line 828 "cgrammar.y" { yyval.expr = exprNode_alignofExpr (yyvsp[0].expr); ; break;} case 199: -#line 828 "cgrammar.y" +#line 833 "cgrammar.y" { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ; break;} case 201: -#line 832 "cgrammar.y" +#line 837 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 202: -#line 833 "cgrammar.y" +#line 838 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 203: -#line 834 "cgrammar.y" +#line 839 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 205: -#line 838 "cgrammar.y" +#line 843 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 206: -#line 839 "cgrammar.y" +#line 844 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 208: -#line 843 "cgrammar.y" +#line 848 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 209: -#line 844 "cgrammar.y" +#line 849 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 211: -#line 848 "cgrammar.y" +#line 853 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 212: -#line 849 "cgrammar.y" +#line 854 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 213: -#line 850 "cgrammar.y" +#line 855 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 214: -#line 851 "cgrammar.y" +#line 856 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 216: -#line 855 "cgrammar.y" +#line 860 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 217: -#line 856 "cgrammar.y" +#line 861 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 219: -#line 860 "cgrammar.y" +#line 865 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 221: -#line 864 "cgrammar.y" +#line 869 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 223: -#line 869 "cgrammar.y" +#line 874 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 225: -#line 874 "cgrammar.y" +#line 879 "cgrammar.y" { exprNode_produceGuards (yyvsp[-1].expr); context_enterAndClause (yyvsp[-1].expr); ; break;} case 226: -#line 878 "cgrammar.y" +#line 883 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok); context_exitAndClause (yyval.expr, yyvsp[0].expr); ; break;} case 228: -#line 886 "cgrammar.y" +#line 891 "cgrammar.y" { exprNode_produceGuards (yyvsp[-1].expr); context_enterOrClause (yyvsp[-1].expr); ; break;} case 229: -#line 891 "cgrammar.y" +#line 896 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok); context_exitOrClause (yyval.expr, yyvsp[0].expr); ; break;} case 231: -#line 898 "cgrammar.y" +#line 903 "cgrammar.y" { exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ; break;} case 232: -#line 899 "cgrammar.y" +#line 904 "cgrammar.y" { context_enterFalseClause (yyvsp[-4].expr); ; break;} case 233: -#line 900 "cgrammar.y" +#line 905 "cgrammar.y" { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); context_exitClause (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ; break;} case 235: -#line 904 "cgrammar.y" +#line 909 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 236: -#line 905 "cgrammar.y" +#line 910 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 237: -#line 906 "cgrammar.y" +#line 911 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 238: -#line 907 "cgrammar.y" +#line 912 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 239: -#line 908 "cgrammar.y" +#line 913 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 240: -#line 909 "cgrammar.y" +#line 914 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 241: -#line 910 "cgrammar.y" +#line 915 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 242: -#line 911 "cgrammar.y" +#line 916 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 243: -#line 912 "cgrammar.y" +#line 917 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 244: -#line 913 "cgrammar.y" +#line 918 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 245: -#line 914 "cgrammar.y" +#line 919 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 247: -#line 918 "cgrammar.y" +#line 923 "cgrammar.y" { yyval.expr = exprNode_comma (yyvsp[-2].expr, yyvsp[0].expr); ; break;} case 248: -#line 921 "cgrammar.y" +#line 926 "cgrammar.y" { yyval.expr = exprNode_undefined; ; break;} case 251: -#line 930 "cgrammar.y" +#line 935 "cgrammar.y" { yyval.expr = yyvsp[0].expr; ; break;} case 252: -#line 931 "cgrammar.y" +#line 936 "cgrammar.y" { doVaDcl (); yyval.expr = exprNode_makeError (); ; break;} case 253: -#line 932 "cgrammar.y" +#line 937 "cgrammar.y" { yyval.expr = exprNode_makeError (); ; break;} case 254: -#line 936 "cgrammar.y" +#line 941 "cgrammar.y" { yyval.expr = exprNode_makeError (); ; break;} case 255: -#line 950 "cgrammar.y" +#line 955 "cgrammar.y" { setProcessingVars (yyvsp[-3].qtyp); processNamedDecl (yyvsp[-1].ntyp); ; break;} case 256: -#line 955 "cgrammar.y" +#line 960 "cgrammar.y" { unsetProcessingVars (); yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-6].ntyp); @@ -4137,120 +4137,120 @@ case 256: ; break;} case 257: -#line 961 "cgrammar.y" +#line 966 "cgrammar.y" { setProcessingVars (yyvsp[-4].qtyp); processNamedDecl (yyvsp[-2].ntyp); ; break;} case 258: -#line 963 "cgrammar.y" +#line 968 "cgrammar.y" { yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeInitialization (yyvsp[-8].ntyp, yyvsp[-3].expr)); unsetProcessingVars (); ; break;} case 259: -#line 969 "cgrammar.y" +#line 974 "cgrammar.y" { processNamedDecl (yyvsp[-1].ntyp); yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-1].ntyp); ; break;} case 260: -#line 973 "cgrammar.y" +#line 978 "cgrammar.y" { processNamedDecl (yyvsp[-2].ntyp); ; break;} case 261: -#line 974 "cgrammar.y" +#line 979 "cgrammar.y" { yyval.expr = exprNode_makeInitialization (yyvsp[-5].ntyp, yyvsp[0].expr); ; break;} case 262: -#line 977 "cgrammar.y" +#line 982 "cgrammar.y" { setProcessingTypedef (yyvsp[0].qtyp); ; break;} case 263: -#line 979 "cgrammar.y" +#line 984 "cgrammar.y" { clabstract_declareType (yyvsp[-3].exprlist, yyvsp[-1].warnclause); ; break;} case 264: -#line 980 "cgrammar.y" +#line 985 "cgrammar.y" { /* in the ANSI grammar, semantics unclear */ ; break;} case 265: -#line 981 "cgrammar.y" +#line 986 "cgrammar.y" { /* in the ANSI grammar, semantics unclear */ ; break;} case 266: -#line 984 "cgrammar.y" +#line 989 "cgrammar.y" { g_expectingTypeName = TRUE; ; break;} case 267: -#line 987 "cgrammar.y" +#line 992 "cgrammar.y" { g_expectingTypeName = TRUE; context_pushLoc (); ; break;} case 268: -#line 990 "cgrammar.y" +#line 995 "cgrammar.y" { yyval.exprlist = yyvsp[-1].exprlist; ; break;} case 269: -#line 993 "cgrammar.y" +#line 998 "cgrammar.y" { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ; break;} case 270: -#line 994 "cgrammar.y" +#line 999 "cgrammar.y" { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ; break;} case 271: -#line 997 "cgrammar.y" +#line 1002 "cgrammar.y" { yyval.expr = exprNode_makeError (); ; break;} case 272: -#line 998 "cgrammar.y" +#line 1003 "cgrammar.y" { yyval.expr = exprNode_concat (yyvsp[-3].expr, yyvsp[0].expr); ; break;} case 274: -#line 1002 "cgrammar.y" +#line 1007 "cgrammar.y" { yyval.expr = exprNode_makeInitBlock (yyvsp[-2].tok, yyvsp[-1].exprlist); ; break;} case 275: -#line 1003 "cgrammar.y" +#line 1008 "cgrammar.y" { yyval.expr = exprNode_makeInitBlock (yyvsp[-3].tok, yyvsp[-2].exprlist); ; break;} case 276: -#line 1008 "cgrammar.y" +#line 1013 "cgrammar.y" { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ; break;} case 277: -#line 1010 "cgrammar.y" +#line 1015 "cgrammar.y" { yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ; break;} case 278: -#line 1018 "cgrammar.y" +#line 1023 "cgrammar.y" { setStorageClass (SCEXTERN); yyval.typequal = qual_createExtern (); ; break;} case 279: -#line 1019 "cgrammar.y" +#line 1024 "cgrammar.y" { yyval.typequal = qual_createInline (); ; break;} case 280: -#line 1020 "cgrammar.y" +#line 1025 "cgrammar.y" { setStorageClass (SCSTATIC); yyval.typequal = qual_createStatic (); ; break;} case 281: -#line 1021 "cgrammar.y" +#line 1026 "cgrammar.y" { yyval.typequal = qual_createAuto (); ; break;} case 282: -#line 1022 "cgrammar.y" +#line 1027 "cgrammar.y" { yyval.typequal = qual_createRegister (); ; break;} case 283: -#line 1025 "cgrammar.y" +#line 1030 "cgrammar.y" { yyval.typequal = qual_createNullTerminated (); ; break;} case 284: -#line 1028 "cgrammar.y" +#line 1033 "cgrammar.y" { yyval.stateclause = yyvsp[-1].stateclause; ; break;} case 285: -#line 1032 "cgrammar.y" +#line 1037 "cgrammar.y" { context_setProtectVars (); enterParamsTemp (); @@ -4258,7 +4258,7 @@ case 285: ; break;} case 286: -#line 1038 "cgrammar.y" +#line 1043 "cgrammar.y" { exitParamsTemp (); sRef_clearGlobalScopeSafe (); @@ -4267,15 +4267,15 @@ case 286: ; break;} case 287: -#line 1046 "cgrammar.y" +#line 1051 "cgrammar.y" { yyval.funcclause = yyvsp[-1].funcclause; ; break;} case 288: -#line 1049 "cgrammar.y" +#line 1054 "cgrammar.y" { yyval.tok = yyvsp[-1].tok; context_enterFunctionHeader (); ; break;} case 289: -#line 1053 "cgrammar.y" +#line 1058 "cgrammar.y" { context_exitFunctionHeader (); context_setProtectVars (); @@ -4284,7 +4284,7 @@ case 289: ; break;} case 290: -#line 1060 "cgrammar.y" +#line 1065 "cgrammar.y" { exitParamsTemp (); sRef_clearGlobalScopeSafe (); @@ -4293,7 +4293,7 @@ case 290: ; break;} case 291: -#line 1067 "cgrammar.y" +#line 1072 "cgrammar.y" { context_setProtectVars (); enterParamsTemp (); @@ -4301,7 +4301,7 @@ case 291: ; break;} case 292: -#line 1073 "cgrammar.y" +#line 1078 "cgrammar.y" { context_exitFunctionHeader (); exitParamsTemp (); @@ -4326,469 +4326,469 @@ case 292: ; break;} case 293: -#line 1097 "cgrammar.y" +#line 1102 "cgrammar.y" { yyval.fcnconstraint = functionConstraint_createBufferConstraint (yyvsp[0].conL); ; break;} case 294: -#line 1098 "cgrammar.y" +#line 1103 "cgrammar.y" { yyval.fcnconstraint = functionConstraint_createMetaStateConstraint (yyvsp[0].msconstraint); DPRINTF (("Made constraint: %s", functionConstraint_unparse (yyval.fcnconstraint))); ; break;} case 295: -#line 1101 "cgrammar.y" +#line 1106 "cgrammar.y" { yyval.typequal = qual_createExits (); ; break;} case 296: -#line 1102 "cgrammar.y" +#line 1107 "cgrammar.y" { yyval.typequal = qual_createMayExit (); ; break;} case 297: -#line 1103 "cgrammar.y" +#line 1108 "cgrammar.y" { yyval.typequal = qual_createTrueExit (); ; break;} case 298: -#line 1104 "cgrammar.y" +#line 1109 "cgrammar.y" { yyval.typequal = qual_createFalseExit (); ; break;} case 299: -#line 1105 "cgrammar.y" +#line 1110 "cgrammar.y" { yyval.typequal = qual_createNeverExit (); ; break;} case 300: -#line 1108 "cgrammar.y" +#line 1113 "cgrammar.y" { yyval.typequal = qual_createChecked (); ; break;} case 301: -#line 1109 "cgrammar.y" +#line 1114 "cgrammar.y" { yyval.typequal = qual_createCheckMod (); ; break;} case 302: -#line 1110 "cgrammar.y" +#line 1115 "cgrammar.y" { yyval.typequal = qual_createUnchecked (); ; break;} case 303: -#line 1111 "cgrammar.y" +#line 1116 "cgrammar.y" { yyval.typequal = qual_createCheckedStrict (); ; break;} case 304: -#line 1114 "cgrammar.y" +#line 1119 "cgrammar.y" { yyval.typequal = qual_createOwned (); ; break;} case 305: -#line 1115 "cgrammar.y" +#line 1120 "cgrammar.y" { yyval.typequal = qual_createDependent (); ; break;} case 306: -#line 1116 "cgrammar.y" +#line 1121 "cgrammar.y" { yyval.typequal = qual_createYield (); ; break;} case 307: -#line 1117 "cgrammar.y" +#line 1122 "cgrammar.y" { yyval.typequal = qual_createTemp (); ; break;} case 308: -#line 1118 "cgrammar.y" +#line 1123 "cgrammar.y" { yyval.typequal = qual_createOnly (); ; break;} case 309: -#line 1119 "cgrammar.y" +#line 1124 "cgrammar.y" { yyval.typequal = qual_createKeep (); ; break;} case 310: -#line 1120 "cgrammar.y" +#line 1125 "cgrammar.y" { yyval.typequal = qual_createKept (); ; break;} case 311: -#line 1121 "cgrammar.y" +#line 1126 "cgrammar.y" { yyval.typequal = qual_createShared (); ; break;} case 312: -#line 1122 "cgrammar.y" +#line 1127 "cgrammar.y" { yyval.typequal = qual_createUnique (); ; break;} case 313: -#line 1123 "cgrammar.y" +#line 1128 "cgrammar.y" { yyval.typequal = qual_createNull (); ; break;} case 314: -#line 1124 "cgrammar.y" +#line 1129 "cgrammar.y" { yyval.typequal = qual_createIsNull (); ; break;} case 315: -#line 1125 "cgrammar.y" +#line 1130 "cgrammar.y" { yyval.typequal = qual_createRelNull (); ; break;} case 316: -#line 1126 "cgrammar.y" +#line 1131 "cgrammar.y" { yyval.typequal = qual_createNotNull (); ; break;} case 317: -#line 1127 "cgrammar.y" +#line 1132 "cgrammar.y" { yyval.typequal = qual_createExposed (); ; break;} case 318: -#line 1128 "cgrammar.y" +#line 1133 "cgrammar.y" { yyval.typequal = qual_createObserver (); ; break;} case 319: -#line 1129 "cgrammar.y" +#line 1134 "cgrammar.y" { yyval.typequal = qual_createNullTerminated (); ; break;} case 320: -#line 1130 "cgrammar.y" +#line 1135 "cgrammar.y" { yyval.typequal = qual_createMetaState (yyvsp[0].annotation); ; break;} case 321: -#line 1134 "cgrammar.y" +#line 1139 "cgrammar.y" { yyval.typequal = qual_createReturned (); ; break;} case 322: -#line 1135 "cgrammar.y" +#line 1140 "cgrammar.y" { yyval.typequal = qual_createSef (); ; break;} case 323: -#line 1138 "cgrammar.y" +#line 1143 "cgrammar.y" { yyval.typequal = qual_createUnused (); ; break;} case 324: -#line 1139 "cgrammar.y" +#line 1144 "cgrammar.y" { yyval.typequal = qual_createExternal (); ; break;} case 325: -#line 1142 "cgrammar.y" +#line 1147 "cgrammar.y" { yyval.typequal = qual_createTrueNull (); ; break;} case 326: -#line 1143 "cgrammar.y" +#line 1148 "cgrammar.y" { yyval.typequal = qual_createFalseNull (); ; break;} case 327: -#line 1146 "cgrammar.y" +#line 1151 "cgrammar.y" { yyval.typequal = qual_createAbstract (); ; break;} case 328: -#line 1147 "cgrammar.y" +#line 1152 "cgrammar.y" { yyval.typequal = qual_createConcrete (); ; break;} case 329: -#line 1148 "cgrammar.y" +#line 1153 "cgrammar.y" { yyval.typequal = qual_createMutable (); ; break;} case 330: -#line 1149 "cgrammar.y" +#line 1154 "cgrammar.y" { yyval.typequal = qual_createImmutable (); ; break;} case 331: -#line 1152 "cgrammar.y" +#line 1157 "cgrammar.y" { yyval.typequal = qual_createRefCounted (); ; break;} case 332: -#line 1153 "cgrammar.y" +#line 1158 "cgrammar.y" { yyval.typequal = qual_createRefs (); ; break;} case 333: -#line 1154 "cgrammar.y" +#line 1159 "cgrammar.y" { yyval.typequal = qual_createKillRef (); ; break;} case 334: -#line 1155 "cgrammar.y" +#line 1160 "cgrammar.y" { yyval.typequal = qual_createRelDef (); ; break;} case 335: -#line 1156 "cgrammar.y" +#line 1161 "cgrammar.y" { yyval.typequal = qual_createNewRef (); ; break;} case 336: -#line 1157 "cgrammar.y" +#line 1162 "cgrammar.y" { yyval.typequal = qual_createTempRef (); ; break;} case 337: -#line 1160 "cgrammar.y" +#line 1165 "cgrammar.y" { yyval.typequal = qual_createShort (); ; break;} case 338: -#line 1161 "cgrammar.y" +#line 1166 "cgrammar.y" { yyval.typequal = qual_createLong (); ; break;} case 339: -#line 1162 "cgrammar.y" +#line 1167 "cgrammar.y" { yyval.typequal = qual_createSigned (); ; break;} case 340: -#line 1163 "cgrammar.y" +#line 1168 "cgrammar.y" { yyval.typequal = qual_createUnsigned (); ; break;} case 341: -#line 1166 "cgrammar.y" +#line 1171 "cgrammar.y" { yyval.typequal = qual_createOut (); ; break;} case 342: -#line 1167 "cgrammar.y" +#line 1172 "cgrammar.y" { yyval.typequal = qual_createIn (); ; break;} case 343: -#line 1168 "cgrammar.y" +#line 1173 "cgrammar.y" { yyval.typequal = qual_createPartial (); ; break;} case 344: -#line 1169 "cgrammar.y" +#line 1174 "cgrammar.y" { yyval.typequal = qual_createSpecial (); ; break;} case 345: -#line 1172 "cgrammar.y" +#line 1177 "cgrammar.y" { yyval.typequal = qual_createConst (); ; break;} case 346: -#line 1173 "cgrammar.y" +#line 1178 "cgrammar.y" { yyval.typequal = qual_createVolatile (); ; break;} case 347: -#line 1174 "cgrammar.y" +#line 1179 "cgrammar.y" { yyval.typequal = yyvsp[-1].typequal; ; break;} case 348: -#line 1175 "cgrammar.y" +#line 1180 "cgrammar.y" { yyval.typequal = yyvsp[-1].typequal; ; break;} case 349: -#line 1176 "cgrammar.y" +#line 1181 "cgrammar.y" { yyval.typequal = yyvsp[-1].typequal; ; break;} case 350: -#line 1177 "cgrammar.y" +#line 1182 "cgrammar.y" { yyval.typequal = yyvsp[-1].typequal; ; break;} case 351: -#line 1178 "cgrammar.y" +#line 1183 "cgrammar.y" { yyval.typequal = yyvsp[-1].typequal; ; break;} case 352: -#line 1179 "cgrammar.y" +#line 1184 "cgrammar.y" { yyval.typequal = yyvsp[-1].typequal; ; break;} case 353: -#line 1180 "cgrammar.y" +#line 1185 "cgrammar.y" { yyval.typequal = yyvsp[-1].typequal; ; break;} case 354: -#line 1181 "cgrammar.y" +#line 1186 "cgrammar.y" { yyval.typequal = yyvsp[-1].typequal; ; break;} case 355: -#line 1182 "cgrammar.y" +#line 1187 "cgrammar.y" { yyval.typequal = yyvsp[-1].typequal; ; break;} case 362: -#line 1195 "cgrammar.y" +#line 1200 "cgrammar.y" { yyval.ctyp = ctype_unknown; ; break;} case 363: -#line 1196 "cgrammar.y" +#line 1201 "cgrammar.y" { yyval.ctyp = ctype_anyintegral; ; break;} case 364: -#line 1197 "cgrammar.y" +#line 1202 "cgrammar.y" { yyval.ctyp = ctype_unsignedintegral; ; break;} case 365: -#line 1198 "cgrammar.y" +#line 1203 "cgrammar.y" { yyval.ctyp = ctype_signedintegral; ; break;} case 369: -#line 1202 "cgrammar.y" +#line 1207 "cgrammar.y" { yyval.ctyp = ctype_fromQual (yyvsp[-1].typequal); ; break;} case 370: -#line 1206 "cgrammar.y" +#line 1211 "cgrammar.y" { yyval.qtyp = qtype_resolve (yyvsp[-1].qtyp); ; break;} case 371: -#line 1209 "cgrammar.y" +#line 1214 "cgrammar.y" { yyval.qtyp = yyvsp[0].qtyp; ; break;} case 372: -#line 1211 "cgrammar.y" +#line 1216 "cgrammar.y" { yyval.qtyp = qtype_mergeAlt (yyvsp[-3].qtyp, yyvsp[-1].qtyp); ; break;} case 374: -#line 1216 "cgrammar.y" +#line 1221 "cgrammar.y" { yyval.qtyp = qtype_mergeAlt (yyvsp[-2].qtyp, yyvsp[0].qtyp); ; break;} case 375: -#line 1219 "cgrammar.y" +#line 1224 "cgrammar.y" { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ; break;} case 376: -#line 1220 "cgrammar.y" +#line 1225 "cgrammar.y" { yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ; break;} case 377: -#line 1221 "cgrammar.y" +#line 1226 "cgrammar.y" { yyval.qtyp = qtype_combine (yyvsp[0].qtyp, yyvsp[-1].ctyp); ; break;} case 378: -#line 1224 "cgrammar.y" +#line 1229 "cgrammar.y" { yyval.qtyp = qtype_unknown (); ; break;} case 379: -#line 1225 "cgrammar.y" +#line 1230 "cgrammar.y" { yyval.qtyp = yyvsp[0].qtyp; ; break;} case 380: -#line 1228 "cgrammar.y" +#line 1233 "cgrammar.y" { sRef_setGlobalScopeSafe (); ; break;} case 381: -#line 1230 "cgrammar.y" +#line 1235 "cgrammar.y" { sRef_clearGlobalScopeSafe (); ; break;} case 382: -#line 1232 "cgrammar.y" +#line 1237 "cgrammar.y" { yyval.ctyp = declareStruct (yyvsp[-8].cname, yyvsp[-3].flist); ; break;} case 383: -#line 1233 "cgrammar.y" +#line 1238 "cgrammar.y" { sRef_setGlobalScopeSafe (); ; break;} case 384: -#line 1235 "cgrammar.y" +#line 1240 "cgrammar.y" { sRef_clearGlobalScopeSafe (); ; break;} case 385: -#line 1237 "cgrammar.y" +#line 1242 "cgrammar.y" { yyval.ctyp = declareUnion (yyvsp[-8].cname, yyvsp[-3].flist); ; break;} case 386: -#line 1239 "cgrammar.y" +#line 1244 "cgrammar.y" { yyval.ctyp = declareStruct (yyvsp[-3].cname, uentryList_new ()); ; break;} case 387: -#line 1241 "cgrammar.y" +#line 1246 "cgrammar.y" { yyval.ctyp = declareUnion (yyvsp[-3].cname, uentryList_new ()); ; break;} case 388: -#line 1242 "cgrammar.y" +#line 1247 "cgrammar.y" { sRef_setGlobalScopeSafe (); ; break;} case 389: -#line 1244 "cgrammar.y" +#line 1249 "cgrammar.y" { sRef_clearGlobalScopeSafe (); ; break;} case 390: -#line 1246 "cgrammar.y" +#line 1251 "cgrammar.y" { yyval.ctyp = declareUnnamedStruct (yyvsp[-3].flist); ; break;} case 391: -#line 1247 "cgrammar.y" +#line 1252 "cgrammar.y" { sRef_setGlobalScopeSafe (); ; break;} case 392: -#line 1249 "cgrammar.y" +#line 1254 "cgrammar.y" { sRef_clearGlobalScopeSafe (); ; break;} case 393: -#line 1251 "cgrammar.y" +#line 1256 "cgrammar.y" { yyval.ctyp = declareUnnamedUnion (yyvsp[-3].flist); ; break;} case 394: -#line 1253 "cgrammar.y" +#line 1258 "cgrammar.y" { yyval.ctyp = ctype_createUnnamedStruct (uentryList_new ()); ; break;} case 395: -#line 1255 "cgrammar.y" +#line 1260 "cgrammar.y" { yyval.ctyp = ctype_createUnnamedUnion (uentryList_new ()); ; break;} case 396: -#line 1256 "cgrammar.y" +#line 1261 "cgrammar.y" { yyval.ctyp = handleStruct (yyvsp[-1].cname); ; break;} case 397: -#line 1257 "cgrammar.y" +#line 1262 "cgrammar.y" { yyval.ctyp = handleUnion (yyvsp[-1].cname); ; break;} case 398: -#line 1260 "cgrammar.y" +#line 1265 "cgrammar.y" { g_expectingTypeName = FALSE; ; break;} case 400: -#line 1264 "cgrammar.y" +#line 1269 "cgrammar.y" { yyval.flist = uentryList_undefined; /* bogus! */ ; break;} case 401: -#line 1265 "cgrammar.y" +#line 1270 "cgrammar.y" { yyval.flist = uentryList_mergeFields (yyvsp[-1].flist, yyvsp[0].flist); ; break;} case 402: -#line 1269 "cgrammar.y" +#line 1274 "cgrammar.y" { yyval.flist = fixUentryList (yyvsp[-2].ntyplist, yyvsp[-4].qtyp); ; break;} case 403: -#line 1271 "cgrammar.y" +#line 1276 "cgrammar.y" { yyval.flist = fixUnnamedDecl (yyvsp[-2].qtyp); ; break;} case 404: -#line 1275 "cgrammar.y" +#line 1280 "cgrammar.y" { yyval.ntyplist = idDeclList_singleton (yyvsp[-1].ntyp); ; break;} case 405: -#line 1277 "cgrammar.y" +#line 1282 "cgrammar.y" { yyval.ntyplist = idDeclList_add (yyvsp[-3].ntyplist, yyvsp[-1].ntyp); ; break;} case 406: -#line 1280 "cgrammar.y" +#line 1285 "cgrammar.y" { yyval.ntyp = yyvsp[0].ntyp; ; break;} case 407: -#line 1281 "cgrammar.y" +#line 1286 "cgrammar.y" { yyval.ntyp = idDecl_undefined; ; break;} case 408: -#line 1282 "cgrammar.y" +#line 1287 "cgrammar.y" { yyval.ntyp = yyvsp[-3].ntyp; ; break;} case 409: -#line 1287 "cgrammar.y" +#line 1292 "cgrammar.y" { yyval.ctyp = declareUnnamedEnum (yyvsp[-2].enumnamelist); ; break;} case 410: -#line 1288 "cgrammar.y" +#line 1293 "cgrammar.y" { context_pushLoc (); ; break;} case 411: -#line 1289 "cgrammar.y" +#line 1294 "cgrammar.y" { context_popLoc (); yyval.ctyp = declareEnum (yyvsp[-5].cname, yyvsp[-2].enumnamelist); ; break;} case 412: -#line 1290 "cgrammar.y" +#line 1295 "cgrammar.y" { yyval.ctyp = handleEnum (yyvsp[-1].cname); ; break;} case 413: -#line 1294 "cgrammar.y" +#line 1299 "cgrammar.y" { yyval.enumnamelist = enumNameList_single (yyvsp[0].cname); ; break;} case 414: -#line 1296 "cgrammar.y" +#line 1301 "cgrammar.y" { yyval.enumnamelist = enumNameList_push (yyvsp[-2].enumnamelist, yyvsp[0].cname); ; break;} case 416: -#line 1301 "cgrammar.y" +#line 1306 "cgrammar.y" { uentry ue = uentry_makeEnumConstant (yyvsp[0].cname, ctype_unknown); usymtab_supGlobalEntry (ue); yyval.cname = yyvsp[0].cname; ; break;} case 417: -#line 1306 "cgrammar.y" +#line 1311 "cgrammar.y" { uentry ue = uentry_makeEnumInitializedConstant (yyvsp[-3].cname, ctype_unknown, yyvsp[0].expr); usymtab_supGlobalEntry (ue); yyval.cname = yyvsp[-3].cname; ; break;} case 419: -#line 1313 "cgrammar.y" +#line 1318 "cgrammar.y" { yyval.ntyp = idDecl_create (cstring_undefined, qtype_create (yyvsp[0].ctyp)); ; break;} case 420: -#line 1315 "cgrammar.y" +#line 1320 "cgrammar.y" { qtype qt = qtype_unknown (); @@ -4797,91 +4797,91 @@ case 420: ; break;} case 421: -#line 1322 "cgrammar.y" +#line 1327 "cgrammar.y" { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ; break;} case 423: -#line 1327 "cgrammar.y" +#line 1332 "cgrammar.y" { yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ; break;} case 424: -#line 1330 "cgrammar.y" +#line 1335 "cgrammar.y" { yyval.entrylist = handleParamTypeList (yyvsp[0].entrylist); ; break;} case 425: -#line 1331 "cgrammar.y" +#line 1336 "cgrammar.y" { yyval.entrylist = handleParamIdList (yyvsp[0].entrylist); ; break;} case 426: -#line 1334 "cgrammar.y" +#line 1339 "cgrammar.y" { /* ignored for now */; ; break;} case 427: -#line 1335 "cgrammar.y" +#line 1340 "cgrammar.y" { ; ; break;} case 428: -#line 1338 "cgrammar.y" +#line 1343 "cgrammar.y" { ; ; break;} case 429: -#line 1339 "cgrammar.y" +#line 1344 "cgrammar.y" { ; ; break;} case 430: -#line 1342 "cgrammar.y" +#line 1347 "cgrammar.y" { yyval.count = 1; ; break;} case 431: -#line 1343 "cgrammar.y" +#line 1348 "cgrammar.y" { yyval.count = 1; ; break;} case 432: -#line 1344 "cgrammar.y" +#line 1349 "cgrammar.y" { yyval.count = 1 + yyvsp[0].count; ; break;} case 433: -#line 1345 "cgrammar.y" +#line 1350 "cgrammar.y" { yyval.count = 1 + yyvsp[0].count; ; break;} case 435: -#line 1349 "cgrammar.y" +#line 1354 "cgrammar.y" { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ; break;} case 436: -#line 1352 "cgrammar.y" +#line 1357 "cgrammar.y" { yyval.entrylist = uentryList_single (uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ; break;} case 437: -#line 1353 "cgrammar.y" +#line 1358 "cgrammar.y" { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ; break;} case 438: -#line 1356 "cgrammar.y" +#line 1361 "cgrammar.y" { yyval.entrylist = uentryList_single (uentry_makeElipsisMarker ()); ; break;} case 440: -#line 1358 "cgrammar.y" +#line 1363 "cgrammar.y" { yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ; break;} case 441: -#line 1361 "cgrammar.y" +#line 1366 "cgrammar.y" { storeLoc (); ; break;} case 442: -#line 1361 "cgrammar.y" +#line 1366 "cgrammar.y" { yyval.entrylist = uentryList_single (yyvsp[0].oentry); ; break;} case 443: -#line 1362 "cgrammar.y" +#line 1367 "cgrammar.y" { storeLoc (); ; break;} case 444: -#line 1363 "cgrammar.y" +#line 1368 "cgrammar.y" { yyval.entrylist = uentryList_add (yyvsp[-3].entrylist, yyvsp[0].oentry); ; break;} case 445: -#line 1367 "cgrammar.y" +#line 1372 "cgrammar.y" { if (isFlipOldStyle ()) { @@ -4895,7 +4895,7 @@ case 445: ; break;} case 446: -#line 1379 "cgrammar.y" +#line 1384 "cgrammar.y" { idDecl tparam = idDecl_create (yyvsp[0].cname, qtype_unknown ()); @@ -4911,381 +4911,381 @@ case 446: ; break;} case 448: -#line 1395 "cgrammar.y" +#line 1400 "cgrammar.y" { yyval.qtyp = qtype_newBase (yyvsp[-1].qtyp, yyvsp[0].ctyp); ; break;} case 449: -#line 1398 "cgrammar.y" +#line 1403 "cgrammar.y" { yyval.ctyp = ctype_adjustPointers (yyvsp[0].count, ctype_unknown); ; break;} case 451: -#line 1400 "cgrammar.y" +#line 1405 "cgrammar.y" { yyval.ctyp = ctype_adjustPointers (yyvsp[-1].count, yyvsp[0].ctyp); ; break;} case 452: -#line 1403 "cgrammar.y" +#line 1408 "cgrammar.y" { yyval.ctyp = ctype_unknown; ; break;} case 454: -#line 1408 "cgrammar.y" +#line 1413 "cgrammar.y" { yyval.ctyp = ctype_expectFunction (yyvsp[-1].ctyp); ; break;} case 455: -#line 1409 "cgrammar.y" +#line 1414 "cgrammar.y" { yyval.ctyp = ctype_makeArray (ctype_unknown); ; break;} case 456: -#line 1411 "cgrammar.y" +#line 1416 "cgrammar.y" { yyval.ctyp = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue (yyvsp[-1].expr)); ; break;} case 457: -#line 1412 "cgrammar.y" +#line 1417 "cgrammar.y" { yyval.ctyp = ctype_makeArray (yyvsp[-2].ctyp); ; break;} case 458: -#line 1414 "cgrammar.y" +#line 1419 "cgrammar.y" { yyval.ctyp = ctype_makeFixedArray (yyvsp[-3].ctyp, exprNode_getLongValue (yyvsp[-1].expr)); ; break;} case 459: -#line 1416 "cgrammar.y" +#line 1421 "cgrammar.y" { yyval.ctyp = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ; break;} case 460: -#line 1418 "cgrammar.y" +#line 1423 "cgrammar.y" { yyval.ctyp = ctype_makeParamsFunction (ctype_unknown, yyvsp[-1].entrylist); ; break;} case 461: -#line 1420 "cgrammar.y" +#line 1425 "cgrammar.y" { yyval.ctyp = ctype_makeFunction (yyvsp[-3].ctyp, uentryList_makeMissingParams ()); ; break;} case 462: -#line 1422 "cgrammar.y" +#line 1427 "cgrammar.y" { yyval.ctyp = ctype_makeParamsFunction (yyvsp[-4].ctyp, yyvsp[-1].entrylist); ; break;} case 472: -#line 1450 "cgrammar.y" +#line 1455 "cgrammar.y" { yyval.expr = yyvsp[0].expr; ; break;} case 475: -#line 1458 "cgrammar.y" +#line 1463 "cgrammar.y" { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ; break;} case 476: -#line 1462 "cgrammar.y" +#line 1467 "cgrammar.y" { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); ; break;} case 477: -#line 1464 "cgrammar.y" +#line 1469 "cgrammar.y" { yyval.expr = exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr); ; break;} case 478: -#line 1466 "cgrammar.y" +#line 1471 "cgrammar.y" { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ; break;} case 479: -#line 1468 "cgrammar.y" +#line 1473 "cgrammar.y" { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); ; break;} case 480: -#line 1472 "cgrammar.y" +#line 1477 "cgrammar.y" { context_setProtectVars (); ; break;} case 481: -#line 1472 "cgrammar.y" +#line 1477 "cgrammar.y" { context_sizeofReleaseVars (); ; break;} case 482: -#line 1474 "cgrammar.y" +#line 1479 "cgrammar.y" { yyval.expr = exprNode_forPred (yyvsp[-7].expr, yyvsp[-5].expr, yyvsp[-2].expr); context_enterForClause (yyvsp[-5].expr); ; break;} case 483: -#line 1479 "cgrammar.y" +#line 1484 "cgrammar.y" { setProcessingIterVars (yyvsp[-2].entry); ; break;} case 484: -#line 1481 "cgrammar.y" +#line 1486 "cgrammar.y" { yyval.expr = exprNode_iterStart (yyvsp[-5].entry, yyvsp[-1].exprlist); ; break;} case 485: -#line 1482 "cgrammar.y" +#line 1487 "cgrammar.y" { yyval.expr = exprNode_createId (yyvsp[0].entry); ; break;} case 489: -#line 1488 "cgrammar.y" +#line 1493 "cgrammar.y" { yyval.expr = yyvsp[-1].expr; DPRINTF (("def stmt: %s", exprNode_unparse (yyval.expr))); ; break;} case 497: -#line 1496 "cgrammar.y" +#line 1501 "cgrammar.y" { yyval.expr = yyvsp[-1].expr; ; break;} case 498: -#line 1497 "cgrammar.y" +#line 1502 "cgrammar.y" { yyval.expr = exprNode_makeError (); ; break;} case 499: -#line 1501 "cgrammar.y" +#line 1506 "cgrammar.y" { /* don't: context_exitTrueClause ($1, $2); */ yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr); ; break;} case 500: -#line 1506 "cgrammar.y" +#line 1511 "cgrammar.y" { yyval.expr = exprNode_createTok (yyvsp[0].tok); ; break;} case 501: -#line 1509 "cgrammar.y" +#line 1514 "cgrammar.y" { yyval.expr = exprNode_createTok (yyvsp[0].tok); ; break;} case 512: -#line 1524 "cgrammar.y" +#line 1529 "cgrammar.y" { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ; break;} case 514: -#line 1526 "cgrammar.y" +#line 1531 "cgrammar.y" { yyval.expr = exprNode_makeError (); ; break;} case 515: -#line 1529 "cgrammar.y" +#line 1534 "cgrammar.y" { yyval.expr = exprNode_labelMarker (yyvsp[-1].cname); ; break;} case 516: -#line 1530 "cgrammar.y" +#line 1535 "cgrammar.y" { yyval.expr = exprNode_notReached (yyvsp[0].expr); ; break;} case 517: -#line 1536 "cgrammar.y" +#line 1541 "cgrammar.y" { context_enterCaseClause (yyvsp[0].expr); ; break;} case 518: -#line 1537 "cgrammar.y" +#line 1542 "cgrammar.y" { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, FALSE); ; break;} case 519: -#line 1538 "cgrammar.y" +#line 1543 "cgrammar.y" { context_enterCaseClause (yyvsp[0].expr); ; break;} case 520: -#line 1539 "cgrammar.y" +#line 1544 "cgrammar.y" { yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, TRUE); ; break;} case 521: -#line 1542 "cgrammar.y" +#line 1547 "cgrammar.y" { context_enterCaseClause (exprNode_undefined); ; break;} case 522: -#line 1543 "cgrammar.y" +#line 1548 "cgrammar.y" { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, FALSE); ; break;} case 523: -#line 1544 "cgrammar.y" +#line 1549 "cgrammar.y" { context_enterCaseClause (exprNode_undefined); ; break;} case 524: -#line 1545 "cgrammar.y" +#line 1550 "cgrammar.y" { yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, TRUE); ; break;} case 525: -#line 1548 "cgrammar.y" +#line 1553 "cgrammar.y" { yyval.expr = yyvsp[-1].expr; ; break;} case 526: -#line 1550 "cgrammar.y" +#line 1555 "cgrammar.y" { yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ; break;} case 527: -#line 1553 "cgrammar.y" +#line 1558 "cgrammar.y" { yyval.expr = yyvsp[-1].expr; ; break;} case 528: -#line 1556 "cgrammar.y" +#line 1561 "cgrammar.y" { context_enterInnerContext (); ; break;} case 529: -#line 1559 "cgrammar.y" +#line 1564 "cgrammar.y" { context_exitInnerPlain (); ; break;} case 530: -#line 1562 "cgrammar.y" +#line 1567 "cgrammar.y" { context_enterStructInnerContext (); ; break;} case 531: -#line 1565 "cgrammar.y" +#line 1570 "cgrammar.y" { context_exitStructInnerContext (); ; break;} case 532: -#line 1568 "cgrammar.y" +#line 1573 "cgrammar.y" { context_exitInnerSafe (); ; break;} case 533: -#line 1571 "cgrammar.y" +#line 1576 "cgrammar.y" { yyval.expr = exprNode_createTok (yyvsp[0].tok); ; break;} case 534: -#line 1572 "cgrammar.y" +#line 1577 "cgrammar.y" { yyval.expr = exprNode_notReached (exprNode_createTok (yyvsp[0].tok)); ; break;} case 535: -#line 1573 "cgrammar.y" +#line 1578 "cgrammar.y" { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ; break;} case 536: -#line 1575 "cgrammar.y" +#line 1580 "cgrammar.y" { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ; break;} case 537: -#line 1576 "cgrammar.y" +#line 1581 "cgrammar.y" { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ; break;} case 538: -#line 1578 "cgrammar.y" +#line 1583 "cgrammar.y" { yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ; break;} case 539: -#line 1580 "cgrammar.y" +#line 1585 "cgrammar.y" { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ; break;} case 540: -#line 1582 "cgrammar.y" +#line 1587 "cgrammar.y" { yyval.expr = exprNode_notReached (exprNode_updateLocation (exprNode_concat (yyvsp[-3].expr, yyvsp[-2].expr), lltok_getLoc (yyvsp[-1].tok))); ; break;} case 541: -#line 1588 "cgrammar.y" +#line 1593 "cgrammar.y" { yyval.expr = exprNode_makeBlock (yyvsp[0].expr); ; break;} case 542: -#line 1592 "cgrammar.y" +#line 1597 "cgrammar.y" { yyval.expr = exprNode_createTok (yyvsp[0].tok); ; break;} case 543: -#line 1594 "cgrammar.y" +#line 1599 "cgrammar.y" { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ; break;} case 544: -#line 1596 "cgrammar.y" +#line 1601 "cgrammar.y" { yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ; break;} case 545: -#line 1598 "cgrammar.y" +#line 1603 "cgrammar.y" { yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ; break;} case 547: -#line 1602 "cgrammar.y" +#line 1607 "cgrammar.y" { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ; break;} case 548: -#line 1605 "cgrammar.y" +#line 1610 "cgrammar.y" { yyval.expr = yyvsp[0].expr; ; break;} case 549: -#line 1606 "cgrammar.y" +#line 1611 "cgrammar.y" { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ; break;} case 550: -#line 1609 "cgrammar.y" +#line 1614 "cgrammar.y" { yyval.expr = yyvsp[0].expr; ; break;} case 551: -#line 1610 "cgrammar.y" +#line 1615 "cgrammar.y" { yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ; break;} case 552: -#line 1613 "cgrammar.y" +#line 1618 "cgrammar.y" { yyval.expr = exprNode_createTok (yyvsp[0].tok); ; break;} case 553: -#line 1614 "cgrammar.y" +#line 1619 "cgrammar.y" { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ; break;} case 554: -#line 1617 "cgrammar.y" +#line 1622 "cgrammar.y" { yyval.expr = exprNode_createTok (yyvsp[0].tok); ; break;} case 555: -#line 1618 "cgrammar.y" +#line 1623 "cgrammar.y" { yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ; break;} case 556: -#line 1619 "cgrammar.y" +#line 1624 "cgrammar.y" { yyval.expr = exprNode_checkExpr (yyvsp[0].expr); ; break;} case 557: -#line 1623 "cgrammar.y" +#line 1628 "cgrammar.y" { yyval.expr = yyvsp[-1].expr; exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ; break;} case 558: -#line 1631 "cgrammar.y" +#line 1636 "cgrammar.y" { context_exitTrueClause (yyvsp[-1].expr, yyvsp[0].expr); yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr); ; break;} case 559: -#line 1635 "cgrammar.y" +#line 1640 "cgrammar.y" { context_enterFalseClause (yyvsp[-2].expr); ; break;} case 560: -#line 1636 "cgrammar.y" +#line 1641 "cgrammar.y" { context_exitClause (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr); yyval.expr = exprNode_ifelse (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr); ; break;} case 561: -#line 1640 "cgrammar.y" +#line 1645 "cgrammar.y" { context_enterSwitch (yyvsp[0].expr); ; break;} case 562: -#line 1641 "cgrammar.y" +#line 1646 "cgrammar.y" { yyval.expr = exprNode_switch (yyvsp[-3].expr, yyvsp[0].expr); ; break;} case 563: -#line 1645 "cgrammar.y" +#line 1650 "cgrammar.y" { yyval.expr = exprNode_whilePred (yyvsp[-1].expr); context_enterWhileClause (yyvsp[-1].expr); ; break;} case 564: -#line 1649 "cgrammar.y" +#line 1654 "cgrammar.y" { yyval.expr = exprNode_whilePred(yyvsp[-1].expr); ; break;} case 565: -#line 1652 "cgrammar.y" +#line 1657 "cgrammar.y" { context_enterIterClause (); ; break;} case 566: -#line 1653 "cgrammar.y" +#line 1658 "cgrammar.y" { setProcessingIterVars (yyvsp[-3].entry); ; break;} case 567: -#line 1656 "cgrammar.y" +#line 1661 "cgrammar.y" { yyval.expr = exprNode_iter (yyvsp[-9].entry, yyvsp[-4].exprlist, yyvsp[-2].expr, yyvsp[-1].entry); ; break;} case 568: -#line 1662 "cgrammar.y" +#line 1667 "cgrammar.y" { yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ; break;} case 569: -#line 1663 "cgrammar.y" +#line 1668 "cgrammar.y" { nextIterParam (); ; break;} case 570: -#line 1664 "cgrammar.y" +#line 1669 "cgrammar.y" { yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ; break;} case 571: -#line 1667 "cgrammar.y" +#line 1672 "cgrammar.y" { yyval.expr = exprNode_iterExpr (yyvsp[0].expr); ; break;} case 572: -#line 1668 "cgrammar.y" +#line 1673 "cgrammar.y" { yyval.expr = exprNode_iterId (yyvsp[0].entry); ; break;} case 573: -#line 1669 "cgrammar.y" +#line 1674 "cgrammar.y" { uentry ue = coerceIterId (yyvsp[0].cname); if (uentry_isValid (ue)) @@ -5299,319 +5299,319 @@ case 573: ; break;} case 574: -#line 1680 "cgrammar.y" +#line 1685 "cgrammar.y" { yyval.expr = exprNode_iterNewId (yyvsp[0].cname); ; break;} case 576: -#line 1688 "cgrammar.y" +#line 1693 "cgrammar.y" { yyval.expr = exprNode_combineLiterals (yyvsp[-1].expr, yyvsp[0].expr); ; break;} case 578: -#line 1692 "cgrammar.y" +#line 1697 "cgrammar.y" { yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ; break;} case 580: -#line 1696 "cgrammar.y" +#line 1701 "cgrammar.y" { yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ; break;} case 581: -#line 1697 "cgrammar.y" +#line 1702 "cgrammar.y" { yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ; break;} case 582: -#line 1698 "cgrammar.y" +#line 1703 "cgrammar.y" { yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ; break;} case 583: -#line 1700 "cgrammar.y" +#line 1705 "cgrammar.y" { yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ; break;} case 584: -#line 1701 "cgrammar.y" +#line 1706 "cgrammar.y" { yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ; break;} case 585: -#line 1702 "cgrammar.y" +#line 1707 "cgrammar.y" { yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ; break;} case 586: -#line 1703 "cgrammar.y" +#line 1708 "cgrammar.y" { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ; break;} case 587: -#line 1704 "cgrammar.y" +#line 1709 "cgrammar.y" { yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ; break;} case 589: -#line 1708 "cgrammar.y" +#line 1713 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 590: -#line 1709 "cgrammar.y" +#line 1714 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 591: -#line 1710 "cgrammar.y" +#line 1715 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 592: -#line 1711 "cgrammar.y" +#line 1716 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 593: -#line 1712 "cgrammar.y" +#line 1717 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 594: -#line 1713 "cgrammar.y" +#line 1718 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 595: -#line 1714 "cgrammar.y" +#line 1719 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 596: -#line 1715 "cgrammar.y" +#line 1720 "cgrammar.y" { yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 597: -#line 1716 "cgrammar.y" +#line 1721 "cgrammar.y" { yyval.expr = yyvsp[0].expr; ; break;} case 599: -#line 1720 "cgrammar.y" +#line 1725 "cgrammar.y" { yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ; break;} case 601: -#line 1724 "cgrammar.y" +#line 1729 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 602: -#line 1725 "cgrammar.y" +#line 1730 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 603: -#line 1726 "cgrammar.y" +#line 1731 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 605: -#line 1730 "cgrammar.y" +#line 1735 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 606: -#line 1731 "cgrammar.y" +#line 1736 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 608: -#line 1735 "cgrammar.y" +#line 1740 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 609: -#line 1736 "cgrammar.y" +#line 1741 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 611: -#line 1740 "cgrammar.y" +#line 1745 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 612: -#line 1741 "cgrammar.y" +#line 1746 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 613: -#line 1742 "cgrammar.y" +#line 1747 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 614: -#line 1743 "cgrammar.y" +#line 1748 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 616: -#line 1747 "cgrammar.y" +#line 1752 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 617: -#line 1748 "cgrammar.y" +#line 1753 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 619: -#line 1752 "cgrammar.y" +#line 1757 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 621: -#line 1756 "cgrammar.y" +#line 1761 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 623: -#line 1761 "cgrammar.y" +#line 1766 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 625: -#line 1765 "cgrammar.y" +#line 1770 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 627: -#line 1769 "cgrammar.y" +#line 1774 "cgrammar.y" { yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 629: -#line 1773 "cgrammar.y" +#line 1778 "cgrammar.y" { context_enterTrueClause (yyvsp[-1].expr); ; break;} case 630: -#line 1774 "cgrammar.y" +#line 1779 "cgrammar.y" { context_enterFalseClause (yyvsp[-4].expr); ; break;} case 631: -#line 1775 "cgrammar.y" +#line 1780 "cgrammar.y" { yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ; break;} case 633: -#line 1779 "cgrammar.y" +#line 1784 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 634: -#line 1780 "cgrammar.y" +#line 1785 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 635: -#line 1781 "cgrammar.y" +#line 1786 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 636: -#line 1782 "cgrammar.y" +#line 1787 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 637: -#line 1783 "cgrammar.y" +#line 1788 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 638: -#line 1784 "cgrammar.y" +#line 1789 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 639: -#line 1785 "cgrammar.y" +#line 1790 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 640: -#line 1786 "cgrammar.y" +#line 1791 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 641: -#line 1787 "cgrammar.y" +#line 1792 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 642: -#line 1788 "cgrammar.y" +#line 1793 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 643: -#line 1789 "cgrammar.y" +#line 1794 "cgrammar.y" { yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ; break;} case 644: -#line 1792 "cgrammar.y" +#line 1797 "cgrammar.y" { yyval.entry = yyvsp[0].entry; ; break;} case 645: -#line 1793 "cgrammar.y" +#line 1798 "cgrammar.y" { yyval.entry = uentry_undefined; ; break;} case 646: -#line 1796 "cgrammar.y" +#line 1801 "cgrammar.y" { context_enterDoWhileClause (); yyval.tok = yyvsp[0].tok; ; break;} case 647: -#line 1800 "cgrammar.y" +#line 1805 "cgrammar.y" { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ; break;} case 648: -#line 1802 "cgrammar.y" +#line 1807 "cgrammar.y" { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ; break;} case 649: -#line 1804 "cgrammar.y" +#line 1809 "cgrammar.y" { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ; break;} case 650: -#line 1807 "cgrammar.y" +#line 1812 "cgrammar.y" { yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ; break;} case 651: -#line 1809 "cgrammar.y" +#line 1814 "cgrammar.y" { yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ; break;} case 652: -#line 1811 "cgrammar.y" +#line 1816 "cgrammar.y" { yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ; break;} case 653: -#line 1812 "cgrammar.y" +#line 1817 "cgrammar.y" { yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ; break;} case 654: -#line 1815 "cgrammar.y" +#line 1820 "cgrammar.y" { yyval.expr = exprNode_goto (yyvsp[-1].cname); ; break;} case 655: -#line 1816 "cgrammar.y" +#line 1821 "cgrammar.y" { yyval.expr = exprNode_continue (yyvsp[-1].tok, BADTOK); ; break;} case 656: -#line 1818 "cgrammar.y" +#line 1823 "cgrammar.y" { yyval.expr = exprNode_continue (yyvsp[-2].tok, QINNERCONTINUE); ; break;} case 657: -#line 1819 "cgrammar.y" +#line 1824 "cgrammar.y" { yyval.expr = exprNode_break (yyvsp[-1].tok, BADTOK); ; break;} case 658: -#line 1820 "cgrammar.y" +#line 1825 "cgrammar.y" { yyval.expr = exprNode_break (yyvsp[-1].tok, QSWITCHBREAK); ; break;} case 659: -#line 1821 "cgrammar.y" +#line 1826 "cgrammar.y" { yyval.expr = exprNode_break (yyvsp[-1].tok, QLOOPBREAK); ; break;} case 660: -#line 1822 "cgrammar.y" +#line 1827 "cgrammar.y" { yyval.expr = exprNode_break (yyvsp[-1].tok, QINNERBREAK); ; break;} case 661: -#line 1823 "cgrammar.y" +#line 1828 "cgrammar.y" { yyval.expr = exprNode_break (yyvsp[-1].tok, QSAFEBREAK); ; break;} case 662: -#line 1824 "cgrammar.y" +#line 1829 "cgrammar.y" { yyval.expr = exprNode_nullReturn (yyvsp[-1].tok); ; break;} case 663: -#line 1825 "cgrammar.y" +#line 1830 "cgrammar.y" { yyval.expr = exprNode_return (yyvsp[-1].expr); ; break;} case 665: -#line 1829 "cgrammar.y" +#line 1834 "cgrammar.y" { ; ; break;} case 668: -#line 1836 "cgrammar.y" +#line 1841 "cgrammar.y" { yyval.cname = uentry_getName (yyvsp[0].entry); ; break;} case 669: -#line 1837 "cgrammar.y" +#line 1842 "cgrammar.y" { yyval.cname = uentry_getName (yyvsp[0].entry); ; break;} case 670: -#line 1838 "cgrammar.y" +#line 1843 "cgrammar.y" { yyval.cname = uentry_getName (yyvsp[0].entry); ; break;} case 671: -#line 1839 "cgrammar.y" +#line 1844 "cgrammar.y" { yyval.cname = yyvsp[0].cname; ; break;} case 673: -#line 1843 "cgrammar.y" +#line 1848 "cgrammar.y" { yyval.ctyp = ctype_unknown; ; break;} } @@ -5836,7 +5836,7 @@ yyerrhandle: } return 1; } -#line 1845 "cgrammar.y" +#line 1850 "cgrammar.y" /*@-redecl@*/ /*@-namechecks@*/ diff --git a/src/cgrammar.y b/src/cgrammar.y index 701ccce..2b5283f 100644 --- a/src/cgrammar.y +++ b/src/cgrammar.y @@ -1,20 +1,25 @@ /*;-*-C-*-; -** Copyright (c) Massachusetts Institute of Technology 1994-1998. -** All Rights Reserved. -** Unpublished rights reserved under the copyright laws of -** the United States. +** Splint - annotation-assisted static program checker +** Copyright (C) 1994-2001 University of Virginia, +** Massachusetts Institute of Technology ** -** THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED -** OR IMPLIED. ANY USE IS AT YOUR OWN RISK. +** This program is free software; you can redistribute it and/or modify it +** under the terms of the GNU General Public License as published by the +** Free Software Foundation; either version 2 of the License, or (at your +** option) any later version. +** +** This program is distributed in the hope that it will be useful, but +** WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** General Public License for more details. +** +** The GNU General Public License is available from http://www.gnu.org/ or +** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, +** MA 02111-1307, USA. ** -** This code is distributed freely and may be used freely under the -** following conditions: -** -** 1. This notice may not be removed or altered. -** -** 2. Works derived from this code are not distributed for -** commercial gain without explicit permission from MIT -** (for permission contact lclint-request@sds.lcs.mit.edu). +** For information on lclint: lclint-request@cs.virginia.edu +** To report a bug: lclint-bug@cs.virginia.edu +** For more information: http://www.splint.org */ %{ /* diff --git a/src/checking.c b/src/checking.c index 41fd435..5fbd4f0 100644 --- a/src/checking.c +++ b/src/checking.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** checking.c diff --git a/src/clabstract.c b/src/clabstract.c index 03dbd13..e339162 100644 --- a/src/clabstract.c +++ b/src/clabstract.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** clabstract.c diff --git a/src/clause.c b/src/clause.c index 3c2beb5..bd2259c 100644 --- a/src/clause.c +++ b/src/clause.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** clause.c diff --git a/src/clauseStack.c b/src/clauseStack.c index 98e2ae5..e38c0e4 100644 --- a/src/clauseStack.c +++ b/src/clauseStack.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** clauseStack.c diff --git a/src/constraint.c b/src/constraint.c index 51f1d67..356b6b7 100644 --- a/src/constraint.c +++ b/src/constraint.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* @@ -786,7 +786,7 @@ static /*@only@*/ cstring constraint_printDetailedPostCondition (/*@observer@*/ cstring st = cstring_undefined; cstring genExpr; - st = message ("Unsatisfied ensures constraint condition:\nLCLint is unable to verify the constraint %q", constraint_printDeep (c) ); + st = message ("Unsatisfied ensures constraint condition:\nSplint is unable to verify the constraint %q", constraint_printDeep (c) ); genExpr = exprNode_unparse (c->generatingExpr); diff --git a/src/constraintExpr.c b/src/constraintExpr.c index 50809b4..c9da269 100644 --- a/src/constraintExpr.c +++ b/src/constraintExpr.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* @@ -506,7 +506,7 @@ constraintExpr constraintExpr_makeExprNode (exprNode e) case XPR_COMMA: t = exprData_getPairA(data); ret = constraintExpr_makeExprNode(t); - /*@i3434*/ /*I'm not sure if this is right. I'm adding a break to quite LCLint*/ + /*@i3434*/ /* drl: I'm not sure if this is right. I'm adding a break to quiet Splint */ break; default: ret = oldconstraintExpr_makeTermExprNode (e); @@ -1351,7 +1351,7 @@ static /*@only@*/ constraintExpr constraintExpr_simplifyunaryExpr (/*@only@*/ co /*@i22*/ - /*I think this is an LCLint bug */ + /* drl: I think this is an Splint bug */ ret = constraintExpr_copy(c); diff --git a/src/constraintExprData.c b/src/constraintExprData.c index ab316a5..6e60e8e 100644 --- a/src/constraintExprData.c +++ b/src/constraintExprData.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* diff --git a/src/constraintGeneration.c b/src/constraintGeneration.c index c681fb5..e8ee9dd 100644 --- a/src/constraintGeneration.c +++ b/src/constraintGeneration.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* diff --git a/src/constraintList.c b/src/constraintList.c index e7c871f..9bdf032 100644 --- a/src/constraintList.c +++ b/src/constraintList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2000 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* diff --git a/src/constraintOutput.c b/src/constraintOutput.c index b1c38fe..22814b9 100644 --- a/src/constraintOutput.c +++ b/src/constraintOutput.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* diff --git a/src/constraintResolve.c b/src/constraintResolve.c index 034b70d..3a913ae 100644 --- a/src/constraintResolve.c +++ b/src/constraintResolve.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* diff --git a/src/constraintTerm.c b/src/constraintTerm.c index 4e86ae3..e684f03 100644 --- a/src/constraintTerm.c +++ b/src/constraintTerm.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* diff --git a/src/context.c b/src/context.c index 86b6af9..9091afd 100644 --- a/src/context.c +++ b/src/context.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** context.c diff --git a/src/cpperror.c b/src/cpperror.c index 6712dec..08e7d83 100644 --- a/src/cpperror.c +++ b/src/cpperror.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** cpperror.c diff --git a/src/cppexp.c b/src/cppexp.c index d14d8ea..6466412 100644 --- a/src/cppexp.c +++ b/src/cppexp.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** cppexp.c diff --git a/src/cpphash.c b/src/cpphash.c index beefb29..e167c61 100644 --- a/src/cpphash.c +++ b/src/cpphash.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** cpphash.c diff --git a/src/cpplib.c b/src/cpplib.c index f9ac577..1ad37ef 100644 --- a/src/cpplib.c +++ b/src/cpplib.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** cpplib.c diff --git a/src/cppmain.c b/src/cppmain.c index 7cc7143..ed6a6d6 100644 --- a/src/cppmain.c +++ b/src/cppmain.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** cppmain.c diff --git a/src/cprim.c b/src/cprim.c index 17a4eb1..aacb6d8 100644 --- a/src/cprim.c +++ b/src/cprim.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** cprim.c diff --git a/src/cscanner.l b/src/cscanner.l index 0050a7c..f698ef6 100644 --- a/src/cscanner.l +++ b/src/cscanner.l @@ -1,46 +1,57 @@ /*;-*-C-*-; -** Copyright (c) Massachusetts Institute of Technology 1994-1998. -** All Rights Reserved. -** Unpublished rights reserved under the copyright laws of -** the United States. +** Splint - annotation-assisted static program checker +** Copyright (C) 1994-2001 University of Virginia, +** Massachusetts Institute of Technology ** -** THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED -** OR IMPLIED. ANY USE IS AT YOUR OWN RISK. +** This program is free software; you can redistribute it and/or modify it +** under the terms of the GNU General Public License as published by the +** Free Software Foundation; either version 2 of the License, or (at your +** option) any later version. +** +** This program is distributed in the hope that it will be useful, but +** WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** General Public License for more details. +** +** The GNU General Public License is available from http://www.gnu.org/ or +** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, +** MA 02111-1307, USA. ** -** This code is distributed freely and may be used freely under the -** following conditions: -** -** 1. This notice may not be removed or altered. +** For information on lclint: lclint-request@cs.virginia.edu +** To report a bug: lclint-bug@cs.virginia.edu +** For more information: http://www.splint.org +*/ +/* +** cscanner.l ** -** 2. Works derived from this code are not distributed for -** commercial gain without explicit permission from MIT -** (for permission contact lclint-request@sds.lcs.mit.edu). +** Flex lexer for C. +** Based on a C lexer by Nate Osgood +** from hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993 */ /* - * Modified by Herbert 08/19/97: - * - added #include for IBM's OS/2 compiler. - * - fixed weird bug with lookup of tmp files (OS/2 and MSDOS only). - */ - +** Modified by Herbert 08/19/97: +** - added #include for IBM's OS/2 compiler. +** - fixed weird bug with lookup of tmp files (OS/2 and MSDOS only). +*/ /* - * Modified by Mike Smith - * Corrected missing 'line' in scanf() calls in handleSpecial(). - * Without this, I get an error when LCLint hits a '#line' directive - * in the pre-pre-processed source files. For safety, I have made these - * conditional on OS2 and MSDOS because I don't understand why noone else - * has seen this problem. - * - * Modified by Mike Smith, 4th June 1997 - * Finally resolved the #line problem. The scanf() calls have been fixed to - * allow the following #line forms:- - * - * #line 123 "filename" - * #line 123 - * # 123 "filename" - * # 123 - * - * The last two are generated by the GNU pre-processor, apparently - */ +** Modified by Mike Smith +** Corrected missing 'line' in scanf() calls in handleSpecial(). +** Without this, I get an error when LCLint hits a '#line' directive +** in the pre-pre-processed source files. For safety, I have made these +** conditional on OS2 and MSDOS because I don't understand why noone else +** has seen this problem. +** +** Modified by Mike Smith, 4th June 1997 +** Finally resolved the #line problem. The scanf() calls have been fixed to +** allow the following #line forms:- +** +** #line 123 "filename" +** #line 123 +** # 123 "filename" +** # 123 +** +** The last two are generated by the GNU pre-processor, apparently +*/ Digit [0-9] Letter [a-zA-Z_$] @@ -53,12 +64,6 @@ IS (u|U|l|L)* ULSuffix ({U}{L}|{L}{U}) %{ -/* -** based on original C lexer by Nate Osgood -** from hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993 -** -*/ - # include "lclintMacros.nf" # if defined(OS2) && defined(__IBMC__) /* needed for isatty()... */ diff --git a/src/cstring.c b/src/cstring.c index 4d3048c..42cd5aa 100644 --- a/src/cstring.c +++ b/src/cstring.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** cstring.c diff --git a/src/cstringList.c b/src/cstringList.c index e7e1593..f4de64c 100644 --- a/src/cstringList.c +++ b/src/cstringList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** cstringList.c diff --git a/src/cstringSList.c b/src/cstringSList.c index 39956f5..6431211 100644 --- a/src/cstringSList.c +++ b/src/cstringSList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** cstringSList.c diff --git a/src/cstringTable.c b/src/cstringTable.c index 94b79bc..640085c 100644 --- a/src/cstringTable.c +++ b/src/cstringTable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** cstringTable.c @@ -368,7 +368,7 @@ cstringTable_rehash (/*@notnull@*/ cstringTable h) } /* - ** evans 2001-03-24: new memory leak detected by LCLint + ** evans 2001-03-24: new memory leak detected by Splint ** after I fixed the checkCompletelyDestroyed. */ diff --git a/src/ctype.c b/src/ctype.c index 090444d..0c5778c 100644 --- a/src/ctype.c +++ b/src/ctype.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** ctype.c diff --git a/src/ctypeList.c b/src/ctypeList.c index 47ea1e8..a90fe98 100644 --- a/src/ctypeList.c +++ b/src/ctypeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** ctypeList.c diff --git a/src/cvar.c b/src/cvar.c index bb837b4..d5b99f2 100644 --- a/src/cvar.c +++ b/src/cvar.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** cvar.c diff --git a/src/declaratorInvNodeList.c b/src/declaratorInvNodeList.c index 8d18ee2..3375077 100644 --- a/src/declaratorInvNodeList.c +++ b/src/declaratorInvNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** declaratorInvNodeList.c diff --git a/src/declaratorNodeList.c b/src/declaratorNodeList.c index 4c6a6be..91e3def 100644 --- a/src/declaratorNodeList.c +++ b/src/declaratorNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** declaratorNodeList.c diff --git a/src/ekind.c b/src/ekind.c index 3887c9f..c00defa 100644 --- a/src/ekind.c +++ b/src/ekind.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** ekind.c diff --git a/src/enumNameList.c b/src/enumNameList.c index 774db76..1101aa8 100644 --- a/src/enumNameList.c +++ b/src/enumNameList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** enumNameList.c diff --git a/src/enumNameSList.c b/src/enumNameSList.c index 398fe68..07d9b27 100644 --- a/src/enumNameSList.c +++ b/src/enumNameSList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** enumNameList.c diff --git a/src/exprChecks.c b/src/exprChecks.c index d2034bc..81cfdfb 100644 --- a/src/exprChecks.c +++ b/src/exprChecks.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** exprChecks.c @@ -1066,7 +1066,7 @@ void exprNode_checkFunction (/*@unused@*/ uentry ue, /*@only@*/ exprNode fcnBody /* ConPrint (message ("Unable to resolve function constraints:\n%s", constraintList_printDetailed(body->requiresConstraints) ), g_currentloc); - ConPrint (message ("LCLint has found function post conditions:\n%s", constraintList_printDetailed(body->ensuresConstraints) ), g_currentloc); + ConPrint (message ("Splint has found function post conditions:\n%s", constraintList_printDetailed(body->ensuresConstraints) ), g_currentloc); printf ("The required constraints are:\n%s", constraintList_printDetailed(body->requiresConstraints) ); printf ("The ensures constraints are:\n%s", constraintList_printDetailed(body->ensuresConstraints) ); diff --git a/src/exprNode.c b/src/exprNode.c index 4df0d33..1cbed22 100644 --- a/src/exprNode.c +++ b/src/exprNode.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** exprNode.c @@ -4316,7 +4316,7 @@ exprNode_postOp (/*@only@*/ exprNode e, /*@only@*/ lltok op) /* added 7/11/2000 D.L */ /*@i223*/ - /*DRL 6/8/01 I decided to disable all LCLint Warning here since the code + /*DRL 6/8/01 I decided to disable all Splint warnings here since the code probably needs a rewrite any way */ /*@i65234@*/ @@ -5791,7 +5791,7 @@ exprNode_makeOp (/*@keep@*/ exprNode e1, /*@keep@*/ exprNode e2, llfatalbug (cstring_makeLiteral ("There has been a problem in the parser. This is believed to result " - "from a problem with bison v. 1.25. Please try rebuidling LCLint " + "from a problem with bison v. 1.25. Please try rebuidling Splint " "using the pre-compiled grammar files by commenting out the " "BISON= line in the top-level Makefile.")); } diff --git a/src/exprNodeList.c b/src/exprNodeList.c index 5b15e51..a2664fd 100644 --- a/src/exprNodeList.c +++ b/src/exprNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** exprNodeList.c diff --git a/src/exprNodeSList.c b/src/exprNodeSList.c index b1cc5f4..fcd256d 100644 --- a/src/exprNodeSList.c +++ b/src/exprNodeSList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** exprNodeSList.c diff --git a/src/fcnNodeList.c b/src/fcnNodeList.c index bb66439..3a43c21 100644 --- a/src/fcnNodeList.c +++ b/src/fcnNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** fcnNodeList.c diff --git a/src/fileIdList.c b/src/fileIdList.c index a25d72c..b3b4d4e 100644 --- a/src/fileIdList.c +++ b/src/fileIdList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** fileIdList.c diff --git a/src/fileLib.c b/src/fileLib.c index 14d2dc0..1f61b11 100644 --- a/src/fileLib.c +++ b/src/fileLib.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** fileLib.c diff --git a/src/fileTable.c b/src/fileTable.c index 9df976d..9b57d95 100644 --- a/src/fileTable.c +++ b/src/fileTable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** fileTable.c diff --git a/src/fileloc.c b/src/fileloc.c index 33cb9f7..de7b4aa 100644 --- a/src/fileloc.c +++ b/src/fileloc.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** fileloc.c diff --git a/src/filelocList.c b/src/filelocList.c index 2649d37..fe41447 100644 --- a/src/filelocList.c +++ b/src/filelocList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** filelocList.c (from slist_template.c) diff --git a/src/filelocStack.c b/src/filelocStack.c index 1476c83..137947f 100644 --- a/src/filelocStack.c +++ b/src/filelocStack.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** filelocStack.c (from slist_template.c) diff --git a/src/flagMarker.c b/src/flagMarker.c index 96ac8f9..c8ab819 100644 --- a/src/flagMarker.c +++ b/src/flagMarker.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** flagMarker.c @@ -135,7 +135,7 @@ cstring flagMarker_unparse (flagMarker c) void flagMarker_free (/*@only@*/ flagMarker c) { - fileloc_free (c->loc); /* evans 2001-03-24: LCLint caught this... */ + fileloc_free (c->loc); /* evans 2001-03-24: Splint caught this... */ sfree (c); } diff --git a/src/flagMarkerList.c b/src/flagMarkerList.c index 1689975..c296f95 100644 --- a/src/flagMarkerList.c +++ b/src/flagMarkerList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** flagMarkerList.c diff --git a/src/flagSpec.c b/src/flagSpec.c index 4885370..37e6d78 100644 --- a/src/flagSpec.c +++ b/src/flagSpec.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** flagSpec.c diff --git a/src/flags.c b/src/flags.c index 9c36b0a..e0039fc 100644 --- a/src/flags.c +++ b/src/flags.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** flags.c @@ -896,8 +896,7 @@ identifyFlag (cstring s) { llerror_flagWarning (cstring_makeLiteral - ("accessunspec flag is not supported by LCLint version 2.0 or " - "later. It has been replaced by accessmodule, accessfile and " + ("accessunspec flag is no longer supported. It has been replaced by accessmodule, accessfile and " "accessfunction to provide more precise control of accessibility " "of representations. For more information, " "see lclint -help accessmodule")); diff --git a/src/functionClause.c b/src/functionClause.c index f972777..090c2dc 100644 --- a/src/functionClause.c +++ b/src/functionClause.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** functionClause.c diff --git a/src/functionClauseList.c b/src/functionClauseList.c index 436e3f9..81e31a7 100644 --- a/src/functionClauseList.c +++ b/src/functionClauseList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** functionClauseList.c diff --git a/src/functionConstraint.c b/src/functionConstraint.c index d6ce732..6a5af9e 100644 --- a/src/functionConstraint.c +++ b/src/functionConstraint.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** functionConstraint.c diff --git a/src/general.c b/src/general.c index c799195..118320b 100644 --- a/src/general.c +++ b/src/general.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** general.c diff --git a/src/genericTable.c b/src/genericTable.c index f8f6eca..1f17cbd 100644 --- a/src/genericTable.c +++ b/src/genericTable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** genericTable.c @@ -391,7 +391,7 @@ genericTable_insert (genericTable h, cstring key, void *value) genericTable_addEntry (h, bucket->entries[j]); } - sfree (bucket->entries); /* evans 2001-03-24: LCLint caught this */ + sfree (bucket->entries); /* evans 2001-03-24: Splint caught this */ sfree (bucket); } } diff --git a/src/globSet.c b/src/globSet.c index d8658f7..d9213ec 100644 --- a/src/globSet.c +++ b/src/globSet.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** globSet.c diff --git a/src/globals.c b/src/globals.c index ae48eff..a01bd54 100644 --- a/src/globals.c +++ b/src/globals.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** globals.c diff --git a/src/globalsClause.c b/src/globalsClause.c index c194d13..411389e 100644 --- a/src/globalsClause.c +++ b/src/globalsClause.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** globalsClause.c diff --git a/src/guardSet.c b/src/guardSet.c index 543ba03..8f48f9c 100644 --- a/src/guardSet.c +++ b/src/guardSet.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** guardSet.c diff --git a/src/hashTable.c b/src/hashTable.c index 39914e4..5f01b1d 100644 --- a/src/hashTable.c +++ b/src/hashTable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2000 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** hashTable.c diff --git a/src/idDecl.c b/src/idDecl.c index bb1ac40..47d277e 100644 --- a/src/idDecl.c +++ b/src/idDecl.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** idDecl.c @@ -209,7 +209,7 @@ idDecl_fixParamBase (/*@returned@*/ idDecl t, qtype b) } t->typ = q; - /* LCLint thinks t->typ is kept. */ + /* Splint thinks t->typ is kept. */ /*@-compmempass@*/ return t; /*@=compmempass@*/ } diff --git a/src/idDeclList.c b/src/idDeclList.c index 3bc2a56..ec210bd 100644 --- a/src/idDeclList.c +++ b/src/idDeclList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** idDeclList.c diff --git a/src/importNodeList.c b/src/importNodeList.c index 1682522..004980f 100644 --- a/src/importNodeList.c +++ b/src/importNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** importNodeList.c diff --git a/src/imports.c b/src/imports.c index af5977f..852d285 100644 --- a/src/imports.c +++ b/src/imports.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** imports.c diff --git a/src/initDeclNodeList.c b/src/initDeclNodeList.c index 9aca5fa..e17452c 100644 --- a/src/initDeclNodeList.c +++ b/src/initDeclNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** initDeclNodeList.c diff --git a/src/inputStream.c b/src/inputStream.c index 8ec9393..667f668 100644 --- a/src/inputStream.c +++ b/src/inputStream.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** source.c diff --git a/src/intSet.c b/src/intSet.c index 4983c94..f6ca2e7 100644 --- a/src/intSet.c +++ b/src/intSet.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** intSet.c diff --git a/src/interfaceNodeList.c b/src/interfaceNodeList.c index f243cf8..1b9ac4f 100644 --- a/src/interfaceNodeList.c +++ b/src/interfaceNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** interfaceNodeList.c diff --git a/src/lclctypes.c b/src/lclctypes.c index 3a8b659..f48c88c 100644 --- a/src/lclctypes.c +++ b/src/lclctypes.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** lclctypes.c diff --git a/src/lclinit.c b/src/lclinit.c index c418ff2..f3a500b 100644 --- a/src/lclinit.c +++ b/src/lclinit.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** lslinit.c diff --git a/src/lcllib.c b/src/lcllib.c index 21faef8..3b8661d 100644 --- a/src/lcllib.c +++ b/src/lcllib.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** lcllib.c @@ -33,7 +33,6 @@ # include "lclintMacros.nf" # include "llbasic.h" - # include "osd.h" # ifndef NOLCL @@ -275,7 +274,7 @@ dumpState (cstring cfname) ** Be careful, these lines must match loadLCDFile checking. */ - fprintf (f, ";;LCLint Dump: %s\n", cstring_toCharsSafe (fname)); + fprintf (f, "%s %s\n", LIBRARY_MARKER, cstring_toCharsSafe (fname)); fprintf (f, ";;%s\n", LCL_VERSION); fprintf (f, ";;lib:%d\n", (int) context_getLibrary ()); fprintf (f, ";;ctTable\n"); @@ -424,9 +423,9 @@ loadLCDFile (FILE *f, cstring name) */ if (reader_readLine (f, buf, BUFLEN) == NULL - || !mstring_equalPrefix (buf, ";;LCLint Dump:")) + || !mstring_equalPrefix (buf, LIBRARY_MARKER)) { - loadllmsg (message ("Load library %s is not in LCLint library format. Attempting " + loadllmsg (message ("Load library %s is not in Splint library format. Attempting " "to continue without library.", name)); return FALSE; } @@ -435,13 +434,13 @@ loadLCDFile (FILE *f, cstring name) { if (!mstring_equalPrefix (buf, ";;")) { - loadllmsg (message ("Load library %s is not in LCLint library format. Attempting " + loadllmsg (message ("Load library %s is not in Splint library format. Attempting " "to continue without library.", name)); return FALSE; } else if (mstring_equalPrefix (buf, ";;ctTable")) { - loadllmsg (message ("Load library %s is in obsolete LCLint library format. Attempting " + loadllmsg (message ("Load library %s is in obsolete Splint library format. Attempting " "to continue anyway, but results may be incorrect. Rebuild " "the library with this version of lclint.", name)); @@ -450,9 +449,10 @@ loadLCDFile (FILE *f, cstring name) { float version = 0.0; - if (sscanf (buf, ";;LCLint %f", &version) != 1) + if (sscanf (buf, ";;Splint %f", &version) != 1 + && (sscanf (buf, ";;LCLint %f", &version) != 1)) { - loadllmsg (message ("Load library %s is not in LCLint library format (missing version " + loadllmsg (message ("Load library %s is not in Splint library format (missing version " "number). Attempting " "to continue without library.", name)); return FALSE; @@ -478,7 +478,7 @@ loadLCDFile (FILE *f, cstring name) { if (reader_readLine (f, buf, BUFLEN) == NULL) { - loadllmsg (message ("Load library %s is not in LCLint library " + loadllmsg (message ("Load library %s is not in Splint library " "format (missing library code). Attempting " "to continue without library.", name)); return FALSE; @@ -489,7 +489,7 @@ loadLCDFile (FILE *f, cstring name) if (sscanf (buf, ";;lib:%d", &lib) != 1) { - loadllmsg (message ("Load library %s is not in LCLint library " + loadllmsg (message ("Load library %s is not in Splint library " "format (missing library code). Attempting " "to continue without library.", name)); return FALSE; @@ -522,7 +522,7 @@ loadLCDFile (FILE *f, cstring name) } else { - loadllmsg (message ("Load library %s is not in LCLint library format (missing lines). " + loadllmsg (message ("Load library %s is not in Splint library format (missing lines). " "Attempting to continue without library.", name)); return FALSE; } diff --git a/src/lclscan.c b/src/lclscan.c index 40997ff..0d99d52 100644 --- a/src/lclscan.c +++ b/src/lclscan.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** lclscan.c diff --git a/src/lclscanline.c b/src/lclscanline.c index 0c086da..a2aa73b 100644 --- a/src/lclscanline.c +++ b/src/lclscanline.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** scanline.c diff --git a/src/lclsyntable.c b/src/lclsyntable.c index ebea441..465444d 100644 --- a/src/lclsyntable.c +++ b/src/lclsyntable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** syntable.c diff --git a/src/lcltokentable.c b/src/lcltokentable.c index 8ed0b3e..e656981 100644 --- a/src/lcltokentable.c +++ b/src/lcltokentable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** tokentable.c diff --git a/src/letDeclNodeList.c b/src/letDeclNodeList.c index 16b8cff..8d86a26 100644 --- a/src/letDeclNodeList.c +++ b/src/letDeclNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** letDeclNodeList.c diff --git a/src/lh.c b/src/lh.c index aca66d9..86a26e0 100644 --- a/src/lh.c +++ b/src/lh.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** lh.c diff --git a/src/llerror.c b/src/llerror.c index c5c9419..74b1e0a 100644 --- a/src/llerror.c +++ b/src/llerror.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** llerror.c @@ -1380,7 +1380,7 @@ void llbugaux (cstring file, int line, /*@only@*/ cstring s) if (numbugs > context_getBugsLimit () && fileloc_withinLines (lastbug, g_currentloc, 2)) { - llfatalerror (message ("%q: Cannot recover from last bug. (If you really want LCLint to try to continue, use -bugslimit .)", + llfatalerror (message ("%q: Cannot recover from last bug. (If you really want Splint to try to continue, use -bugslimit .)", fileloc_unparse (g_currentloc))); } diff --git a/src/llgrammar.c.der b/src/llgrammar.c.der index ea0d60c..e9d29bd 100644 --- a/src/llgrammar.c.der +++ b/src/llgrammar.c.der @@ -196,7 +196,7 @@ #define LLT_SCANFLIKE 389 #define LLT_MESSAGELIKE 390 -#line 36 "llgrammar.y" +#line 27 "llgrammar.y" # include "lclintMacros.nf" @@ -238,7 +238,7 @@ bool g_inTypeDef = FALSE; # endif -#line 80 "llgrammar.y" +#line 71 "llgrammar.y" typedef union { ltoken ltok; /* a leaf is also an ltoken */ @@ -544,48 +544,48 @@ static const short yyrhs[] = { -1, #if YYDEBUG != 0 static const short yyrline[] = { 0, - 389, 390, 393, 394, 397, 398, 401, 402, 403, 406, - 407, 410, 411, 412, 415, 421, 425, 427, 429, 431, - 433, 435, 439, 443, 444, 447, 449, 453, 454, 457, - 458, 461, 463, 465, 467, 471, 475, 477, 479, 483, - 484, 487, 488, 489, 492, 493, 500, 502, 513, 515, - 518, 522, 522, 523, 524, 524, 526, 527, 528, 529, - 530, 530, 531, 534, 535, 536, 537, 539, 555, 557, - 561, 562, 564, 567, 568, 571, 575, 577, 581, 583, - 585, 587, 591, 592, 595, 597, 599, 602, 604, 607, - 609, 612, 613, 614, 618, 619, 621, 623, 626, 628, - 632, 633, 636, 638, 642, 643, 644, 647, 648, 651, - 655, 656, 659, 660, 663, 664, 666, 669, 670, 673, - 674, 677, 678, 679, 680, 683, 684, 687, 688, 689, - 690, 691, 694, 695, 698, 699, 702, 703, 706, 707, - 708, 711, 712, 715, 716, 717, 720, 721, 724, 729, - 735, 743, 745, 747, 749, 753, 754, 757, 758, 759, - 760, 761, 762, 763, 765, 769, 770, 771, 772, 775, - 776, 779, 780, 783, 783, 792, 793, 797, 798, 801, - 802, 805, 806, 807, 808, 809, 810, 811, 812, 813, - 814, 822, 823, 828, 830, 836, 837, 838, 839, 840, - 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, - 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, - 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, - 871, 874, 876, 878, 880, 882, 891, 892, 897, 898, - 901, 903, 905, 907, 909, 911, 915, 916, 919, 920, - 925, 928, 930, 934, 935, 938, 940, 944, 945, 955, - 956, 959, 960, 961, 962, 963, 964, 967, 968, 969, - 970, 971, 972, 981, 982, 983, 984, 985, 991, 992, - 993, 1003, 1004, 1005, 1010, 1011, 1014, 1015, 1016, 1017, - 1018, 1019, 1020, 1021, 1024, 1025, 1028, 1030, 1032, 1034, - 1036, 1039, 1041, 1043, 1045, 1047, 1049, 1057, 1059, 1061, - 1064, 1067, 1070, 1075, 1076, 1079, 1080, 1083, 1084, 1085, - 1088, 1089, 1092, 1093, 1096, 1097, 1100, 1103, 1104, 1107, - 1108, 1111, 1114, 1120, 1122, 1123, 1126, 1127, 1132, 1134, - 1138, 1139, 1140, 1143, 1144, 1147, 1148, 1151, 1152, 1155, - 1156, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1168, 1169, - 1172, 1175, 1177, 1181, 1185, 1186, 1189, 1190, 1193, 1195, - 1197, 1199, 1200, 1202, 1204, 1206, 1209, 1211, 1215, 1216, - 1219, 1220, 1221, 1222, 1225, 1226, 1227, 1228, 1229, 1230, - 1235, 1241, 1251, 1252, 1253, 1254, 1257, 1259, 1263, 1267, - 1270, 1271, 1274, 1275, 1278, 1279, 1282, 1283, 1284, 1285, - 1286, 1287, 1288 + 380, 381, 384, 385, 388, 389, 392, 393, 394, 397, + 398, 401, 402, 403, 406, 412, 416, 418, 420, 422, + 424, 426, 430, 434, 435, 438, 440, 444, 445, 448, + 449, 452, 454, 456, 458, 462, 466, 468, 470, 474, + 475, 478, 479, 480, 483, 484, 491, 493, 504, 506, + 509, 513, 513, 514, 515, 515, 517, 518, 519, 520, + 521, 521, 522, 525, 526, 527, 528, 530, 546, 548, + 552, 553, 555, 558, 559, 562, 566, 568, 572, 574, + 576, 578, 582, 583, 586, 588, 590, 593, 595, 598, + 600, 603, 604, 605, 609, 610, 612, 614, 617, 619, + 623, 624, 627, 629, 633, 634, 635, 638, 639, 642, + 646, 647, 650, 651, 654, 655, 657, 660, 661, 664, + 665, 668, 669, 670, 671, 674, 675, 678, 679, 680, + 681, 682, 685, 686, 689, 690, 693, 694, 697, 698, + 699, 702, 703, 706, 707, 708, 711, 712, 715, 720, + 726, 734, 736, 738, 740, 744, 745, 748, 749, 750, + 751, 752, 753, 754, 756, 760, 761, 762, 763, 766, + 767, 770, 771, 774, 774, 783, 784, 788, 789, 792, + 793, 796, 797, 798, 799, 800, 801, 802, 803, 804, + 805, 813, 814, 819, 821, 827, 828, 829, 830, 831, + 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, + 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, + 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, + 862, 865, 867, 869, 871, 873, 882, 883, 888, 889, + 892, 894, 896, 898, 900, 902, 906, 907, 910, 911, + 916, 919, 921, 925, 926, 929, 931, 935, 936, 946, + 947, 950, 951, 952, 953, 954, 955, 958, 959, 960, + 961, 962, 963, 972, 973, 974, 975, 976, 982, 983, + 984, 994, 995, 996, 1001, 1002, 1005, 1006, 1007, 1008, + 1009, 1010, 1011, 1012, 1015, 1016, 1019, 1021, 1023, 1025, + 1027, 1030, 1032, 1034, 1036, 1038, 1040, 1048, 1050, 1052, + 1055, 1058, 1061, 1066, 1067, 1070, 1071, 1074, 1075, 1076, + 1079, 1080, 1083, 1084, 1087, 1088, 1091, 1094, 1095, 1098, + 1099, 1102, 1105, 1111, 1113, 1114, 1117, 1118, 1123, 1125, + 1129, 1130, 1131, 1134, 1135, 1138, 1139, 1142, 1143, 1146, + 1147, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1159, 1160, + 1163, 1166, 1168, 1172, 1176, 1177, 1180, 1181, 1184, 1186, + 1188, 1190, 1191, 1193, 1195, 1197, 1200, 1202, 1206, 1207, + 1210, 1211, 1212, 1213, 1216, 1217, 1218, 1219, 1220, 1221, + 1226, 1232, 1242, 1243, 1244, 1245, 1248, 1250, 1254, 1258, + 1261, 1262, 1265, 1266, 1269, 1270, 1273, 1274, 1275, 1276, + 1277, 1278, 1279 }; #endif @@ -2132,169 +2132,169 @@ yyreduce: switch (yyn) { case 1: -#line 389 "llgrammar.y" +#line 380 "llgrammar.y" { lhExternals (yyvsp[0].interfacelist); ; break;} case 2: -#line 390 "llgrammar.y" +#line 381 "llgrammar.y" { interfaceNodeList_free (yyvsp[-2].interfacelist); interfaceNodeList_free (yyvsp[0].interfacelist); ; break;} case 3: -#line 393 "llgrammar.y" +#line 384 "llgrammar.y" { yyval.interfacelist = interfaceNodeList_new (); ; break;} case 4: -#line 394 "llgrammar.y" +#line 385 "llgrammar.y" { yyval.interfacelist = interfaceNodeList_addh (yyvsp[-1].interfacelist, yyvsp[0].iface);; break;} case 7: -#line 401 "llgrammar.y" +#line 392 "llgrammar.y" { yyval.interfacelist = interfaceNodeList_new (); ; break;} case 8: -#line 402 "llgrammar.y" +#line 393 "llgrammar.y" { yyval.interfacelist = consInterfaceNode (yyvsp[-1].iface, yyvsp[0].interfacelist);; break;} case 9: -#line 403 "llgrammar.y" +#line 394 "llgrammar.y" { yyval.interfacelist = consInterfaceNode (yyvsp[-1].iface, yyvsp[0].interfacelist);; break;} case 10: -#line 406 "llgrammar.y" +#line 397 "llgrammar.y" { yyval.interfacelist = interfaceNodeList_new (); ; break;} case 11: -#line 407 "llgrammar.y" +#line 398 "llgrammar.y" { yyval.interfacelist = interfaceNodeList_addh (yyvsp[-1].interfacelist, yyvsp[0].iface);; break;} case 15: -#line 416 "llgrammar.y" +#line 407 "llgrammar.y" { yyval.iface = makeInterfaceNodeImports (yyvsp[-1].importlist); /* assume subspecs are already processed, symbol table info in external file */ ; break;} case 16: -#line 422 "llgrammar.y" +#line 413 "llgrammar.y" { yyval.iface = makeInterfaceNodeUses (yyvsp[-1].traitreflist); readlsignatures (yyval.iface);; break;} case 17: -#line 426 "llgrammar.y" +#line 417 "llgrammar.y" { declareConstant (yyvsp[0].constdeclaration); yyval.iface = interfaceNode_makeConst (yyvsp[0].constdeclaration); ; break;} case 18: -#line 428 "llgrammar.y" +#line 419 "llgrammar.y" { declareVar (yyvsp[0].vardeclaration); yyval.iface = interfaceNode_makeVar (yyvsp[0].vardeclaration); ; break;} case 19: -#line 430 "llgrammar.y" +#line 421 "llgrammar.y" { declareType (yyvsp[0].type); yyval.iface = interfaceNode_makeType (yyvsp[0].type); ; break;} case 20: -#line 432 "llgrammar.y" +#line 423 "llgrammar.y" { declareFcn (yyvsp[0].fcn, typeId_invalid); yyval.iface = interfaceNode_makeFcn (yyvsp[0].fcn); ; break;} case 21: -#line 434 "llgrammar.y" +#line 425 "llgrammar.y" { yyval.iface = interfaceNode_makeClaim (yyvsp[0].claim); ; break;} case 22: -#line 436 "llgrammar.y" +#line 427 "llgrammar.y" { declareIter (yyvsp[0].iter); yyval.iface = interfaceNode_makeIter (yyvsp[0].iter); ; break;} case 23: -#line 440 "llgrammar.y" +#line 431 "llgrammar.y" { yyval.iter = makeIterNode (yyvsp[-4].ltok, yyvsp[-2].paramlist); ; break;} case 24: -#line 443 "llgrammar.y" +#line 434 "llgrammar.y" { yyval.paramlist = paramNodeList_new (); ; break;} case 25: -#line 444 "llgrammar.y" +#line 435 "llgrammar.y" { yyval.paramlist = yyvsp[0].paramlist; ; break;} case 26: -#line 448 "llgrammar.y" +#line 439 "llgrammar.y" { yyval.paramlist = paramNodeList_add (paramNodeList_new (), yyvsp[0].param); ; break;} case 27: -#line 450 "llgrammar.y" +#line 441 "llgrammar.y" { yyval.paramlist = paramNodeList_add (yyvsp[-2].paramlist,yyvsp[0].param); ; break;} case 28: -#line 453 "llgrammar.y" +#line 444 "llgrammar.y" { yyval.param = markYieldParamNode (yyvsp[0].param); ; break;} case 29: -#line 454 "llgrammar.y" +#line 445 "llgrammar.y" { yyval.param = yyvsp[0].param; ; break;} case 30: -#line 457 "llgrammar.y" +#line 448 "llgrammar.y" { symtable_export (g_symtab, FALSE); ; break;} case 31: -#line 458 "llgrammar.y" +#line 449 "llgrammar.y" { yyval.iface = yyvsp[0].iface; symtable_export (g_symtab, TRUE); ; break;} case 32: -#line 462 "llgrammar.y" +#line 453 "llgrammar.y" { declarePrivConstant (yyvsp[0].constdeclaration); yyval.iface = interfaceNode_makePrivConst (yyvsp[0].constdeclaration); ; break;} case 33: -#line 464 "llgrammar.y" +#line 455 "llgrammar.y" { declarePrivVar (yyvsp[0].vardeclaration); yyval.iface = interfaceNode_makePrivVar (yyvsp[0].vardeclaration); ; break;} case 34: -#line 466 "llgrammar.y" +#line 457 "llgrammar.y" { declarePrivType (yyvsp[0].type); yyval.iface = interfaceNode_makePrivType (yyvsp[0].type); ; break;} case 35: -#line 468 "llgrammar.y" +#line 459 "llgrammar.y" { declarePrivFcn (yyvsp[0].fcn, typeId_invalid); yyval.iface = interfaceNode_makePrivFcn (yyvsp[0].fcn); ; break;} case 36: -#line 472 "llgrammar.y" +#line 463 "llgrammar.y" { yyval.constdeclaration = makeConstDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls); ; break;} case 37: -#line 476 "llgrammar.y" +#line 467 "llgrammar.y" { yyval.vardeclaration = makeVarDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls, FALSE, FALSE); yyval.vardeclaration->qualifier = QLF_NONE; ; break;} case 38: -#line 478 "llgrammar.y" +#line 469 "llgrammar.y" { yyval.vardeclaration = makeVarDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls, FALSE, FALSE); yyval.vardeclaration->qualifier = QLF_CONST; ; break;} case 39: -#line 480 "llgrammar.y" +#line 471 "llgrammar.y" { yyval.vardeclaration = makeVarDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls, FALSE, FALSE); yyval.vardeclaration->qualifier = QLF_VOLATILE; ; break;} case 40: -#line 483 "llgrammar.y" +#line 474 "llgrammar.y" { yyval.type = makeAbstractTypeNode (yyvsp[0].abstract); ; break;} case 41: -#line 484 "llgrammar.y" +#line 475 "llgrammar.y" { yyval.type = makeExposedTypeNode (yyvsp[0].exposed); ; break;} case 42: -#line 487 "llgrammar.y" +#line 478 "llgrammar.y" { yyval.typequal = qual_createPrintfLike (); ; break;} case 43: -#line 488 "llgrammar.y" +#line 479 "llgrammar.y" { yyval.typequal = qual_createScanfLike (); ; break;} case 44: -#line 489 "llgrammar.y" +#line 480 "llgrammar.y" { yyval.typequal = qual_createMessageLike (); ; break;} case 45: -#line 492 "llgrammar.y" +#line 483 "llgrammar.y" { enteringFcnScope (yyvsp[-2].lcltypespec, yyvsp[-1].declare, yyvsp[0].globals); ; break;} case 46: -#line 494 "llgrammar.y" +#line 485 "llgrammar.y" { yyval.fcn = makeFcnNode (qual_createUnknown (), yyvsp[-12].lcltypespec, yyvsp[-11].declare, yyvsp[-10].globals, yyvsp[-7].vardeclarationlist, yyvsp[-6].letdecls, yyvsp[-5].lclpredicate, yyvsp[-4].lclpredicate, yyvsp[-3].modify, yyvsp[-2].lclpredicate, yyvsp[-1].lclpredicate); /* type, declarator, glovbls, privateinits, @@ -2303,11 +2303,11 @@ case 46: ; break;} case 47: -#line 500 "llgrammar.y" +#line 491 "llgrammar.y" { enteringFcnScope (yyvsp[-2].lcltypespec, yyvsp[-1].declare, yyvsp[0].globals); ; break;} case 48: -#line 504 "llgrammar.y" +#line 495 "llgrammar.y" { yyval.fcn = makeFcnNode (yyvsp[-13].typequal, yyvsp[-12].lcltypespec, yyvsp[-11].declare, yyvsp[-10].globals, yyvsp[-7].vardeclarationlist, yyvsp[-6].letdecls, yyvsp[-5].lclpredicate, yyvsp[-4].lclpredicate, yyvsp[-3].modify, yyvsp[-2].lclpredicate, yyvsp[-1].lclpredicate); /* type, declarator, glovbls, privateinits, @@ -2316,396 +2316,396 @@ case 48: ; break;} case 49: -#line 514 "llgrammar.y" +#line 505 "llgrammar.y" { enteringClaimScope (yyvsp[-2].paramlist, yyvsp[0].globals); ; break;} case 50: -#line 516 "llgrammar.y" +#line 507 "llgrammar.y" { yyval.claim = makeClaimNode (yyvsp[-11].ltok, yyvsp[-9].paramlist, yyvsp[-7].globals, yyvsp[-4].letdecls, yyvsp[-3].lclpredicate, yyvsp[-2].program, yyvsp[-1].lclpredicate); symtable_exitScope (g_symtab); ; break;} case 51: -#line 519 "llgrammar.y" +#line 510 "llgrammar.y" { yyval.claim = (claimNode) 0; ; break;} case 52: -#line 522 "llgrammar.y" +#line 513 "llgrammar.y" {g_inTypeDef = TRUE; ; break;} case 53: -#line 522 "llgrammar.y" +#line 513 "llgrammar.y" {g_inTypeDef = FALSE; ; break;} case 54: -#line 523 "llgrammar.y" +#line 514 "llgrammar.y" { yyval.abstract = makeAbstractNode (yyvsp[-5].ltok, yyvsp[-2].ltok, TRUE, FALSE, yyvsp[0].abstbody); ; break;} case 55: -#line 524 "llgrammar.y" +#line 515 "llgrammar.y" {g_inTypeDef = TRUE; ; break;} case 56: -#line 525 "llgrammar.y" +#line 516 "llgrammar.y" {g_inTypeDef = FALSE; ; break;} case 57: -#line 526 "llgrammar.y" +#line 517 "llgrammar.y" { yyval.abstract = makeAbstractNode (yyvsp[-6].ltok, yyvsp[-2].ltok, TRUE, TRUE, yyvsp[0].abstbody); ; break;} case 58: -#line 527 "llgrammar.y" +#line 518 "llgrammar.y" {g_inTypeDef = TRUE; ; break;} case 59: -#line 528 "llgrammar.y" +#line 519 "llgrammar.y" {g_inTypeDef = FALSE; ; break;} case 60: -#line 529 "llgrammar.y" +#line 520 "llgrammar.y" { yyval.abstract = makeAbstractNode (yyvsp[-5].ltok, yyvsp[-2].ltok, TRUE, TRUE, yyvsp[0].abstbody); ; break;} case 61: -#line 530 "llgrammar.y" +#line 521 "llgrammar.y" {g_inTypeDef = TRUE; ; break;} case 62: -#line 530 "llgrammar.y" +#line 521 "llgrammar.y" {g_inTypeDef = FALSE; ; break;} case 63: -#line 531 "llgrammar.y" +#line 522 "llgrammar.y" { yyval.abstract = makeAbstractNode (yyvsp[-5].ltok, yyvsp[-2].ltok, FALSE, FALSE, yyvsp[0].abstbody); ; break;} case 64: -#line 534 "llgrammar.y" +#line 525 "llgrammar.y" { g_inTypeDef = TRUE; setExposedType (yyvsp[0].lcltypespec); ; break;} case 65: -#line 535 "llgrammar.y" +#line 526 "llgrammar.y" { g_inTypeDef = FALSE; ; break;} case 66: -#line 536 "llgrammar.y" +#line 527 "llgrammar.y" { yyval.exposed = makeExposedNode (yyvsp[-5].ltok, yyvsp[-4].lcltypespec, yyvsp[-2].declaratorinvs); /* to support mutually recursive types */ ; break;} case 67: -#line 538 "llgrammar.y" +#line 529 "llgrammar.y" { yyval.exposed = makeExposedNode (yyvsp[0].ltok, makeLclTypeSpecNodeSU (yyvsp[-1].structorunion), declaratorInvNodeList_new ()); ; break;} case 68: -#line 540 "llgrammar.y" +#line 531 "llgrammar.y" { yyval.exposed = makeExposedNode (yyvsp[0].ltok, makeLclTypeSpecNodeEnum (yyvsp[-1].enumspec), declaratorInvNodeList_new ()); ; break;} case 69: -#line 556 "llgrammar.y" +#line 547 "llgrammar.y" { yyval.importlist = importNodeList_add (importNodeList_new (), yyvsp[0].import); ; break;} case 70: -#line 558 "llgrammar.y" +#line 549 "llgrammar.y" { yyval.importlist = importNodeList_add (yyvsp[-2].importlist, yyvsp[0].import); ; break;} case 71: -#line 561 "llgrammar.y" +#line 552 "llgrammar.y" { yyval.import = importNode_makePlain (yyvsp[0].ltok); ; break;} case 72: -#line 563 "llgrammar.y" +#line 554 "llgrammar.y" { checkBrackets (yyvsp[-2].ltok, yyvsp[0].ltok); yyval.import = importNode_makeBracketed (yyvsp[-1].ltok); ; break;} case 73: -#line 564 "llgrammar.y" +#line 555 "llgrammar.y" { yyval.import = importNode_makeQuoted (yyvsp[0].ltok); ; break;} case 74: -#line 567 "llgrammar.y" +#line 558 "llgrammar.y" { yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ; break;} case 75: -#line 568 "llgrammar.y" +#line 559 "llgrammar.y" { yyval.ltokenList = ltokenList_push (yyvsp[-2].ltokenList, yyvsp[0].ltok); ; break;} case 77: -#line 576 "llgrammar.y" +#line 567 "llgrammar.y" { yyval.traitreflist = traitRefNodeList_add (traitRefNodeList_new (), yyvsp[0].traitref); ; break;} case 78: -#line 578 "llgrammar.y" +#line 569 "llgrammar.y" { yyval.traitreflist = traitRefNodeList_add (yyvsp[-2].traitreflist, yyvsp[0].traitref); ; break;} case 79: -#line 582 "llgrammar.y" +#line 573 "llgrammar.y" { yyval.traitref = makeTraitRefNode (ltokenList_singleton (yyvsp[0].ltok), (renamingNode)0); ; break;} case 80: -#line 584 "llgrammar.y" +#line 575 "llgrammar.y" { yyval.traitref = makeTraitRefNode (ltokenList_singleton (yyvsp[-3].ltok), yyvsp[-1].renaming); ; break;} case 81: -#line 586 "llgrammar.y" +#line 577 "llgrammar.y" { yyval.traitref = makeTraitRefNode (yyvsp[-1].ltokenList, (renamingNode)0); ; break;} case 82: -#line 588 "llgrammar.y" +#line 579 "llgrammar.y" { yyval.traitref = makeTraitRefNode (yyvsp[-4].ltokenList, yyvsp[-1].renaming); ; break;} case 83: -#line 591 "llgrammar.y" +#line 582 "llgrammar.y" { yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ; break;} case 84: -#line 592 "llgrammar.y" +#line 583 "llgrammar.y" { yyval.ltokenList = ltokenList_push (yyvsp[-2].ltokenList, yyvsp[0].ltok); ; break;} case 85: -#line 596 "llgrammar.y" +#line 587 "llgrammar.y" { yyval.renaming = makeRenamingNode (typeNameNodeList_new (), yyvsp[0].replacelist); ; break;} case 86: -#line 598 "llgrammar.y" +#line 589 "llgrammar.y" { yyval.renaming = makeRenamingNode (yyvsp[0].namelist, replaceNodeList_new ()); ; break;} case 87: -#line 599 "llgrammar.y" +#line 590 "llgrammar.y" { yyval.renaming = makeRenamingNode (yyvsp[-2].namelist, yyvsp[0].replacelist); ; break;} case 88: -#line 603 "llgrammar.y" +#line 594 "llgrammar.y" { yyval.namelist = typeNameNodeList_add (typeNameNodeList_new (), yyvsp[0].typname); ; break;} case 89: -#line 604 "llgrammar.y" +#line 595 "llgrammar.y" { yyval.namelist = typeNameNodeList_add (yyvsp[-2].namelist, yyvsp[0].typname); ; break;} case 90: -#line 608 "llgrammar.y" +#line 599 "llgrammar.y" { yyval.replacelist = replaceNodeList_add (replaceNodeList_new (), yyvsp[0].replace); ; break;} case 91: -#line 609 "llgrammar.y" +#line 600 "llgrammar.y" { yyval.replacelist = replaceNodeList_add (yyvsp[-2].replacelist, yyvsp[0].replace); ; break;} case 92: -#line 612 "llgrammar.y" +#line 603 "llgrammar.y" { yyval.replace = makeReplaceNode (yyvsp[-1].ltok, yyvsp[-2].typname, TRUE, yyvsp[0].ltok, NULL, NULL); ; break;} case 93: -#line 613 "llgrammar.y" +#line 604 "llgrammar.y" { yyval.replace = makeReplaceNameNode (yyvsp[-1].ltok, yyvsp[-2].typname, yyvsp[0].name); ; break;} case 94: -#line 614 "llgrammar.y" +#line 605 "llgrammar.y" { yyval.replace = makeReplaceNode (yyvsp[-2].ltok, yyvsp[-3].typname, FALSE, ltoken_undefined, yyvsp[-1].name, yyvsp[0].signature); ; break;} case 95: -#line 618 "llgrammar.y" +#line 609 "llgrammar.y" { yyval.name = makeNameNodeId (yyvsp[0].ltok); ; break;} case 96: -#line 619 "llgrammar.y" +#line 610 "llgrammar.y" { yyval.name = makeNameNodeForm (yyvsp[0].opform); ; break;} case 99: -#line 627 "llgrammar.y" +#line 618 "llgrammar.y" { yyval.initdecls = initDeclNodeList_add (initDeclNodeList_new (), yyvsp[0].initdecl); ; break;} case 100: -#line 629 "llgrammar.y" +#line 620 "llgrammar.y" { yyval.initdecls = initDeclNodeList_add (yyvsp[-2].initdecls, yyvsp[0].initdecl); ; break;} case 101: -#line 632 "llgrammar.y" +#line 623 "llgrammar.y" { yyval.initdecl = makeInitDeclNode (yyvsp[0].declare, (termNode)0); ; break;} case 102: -#line 633 "llgrammar.y" +#line 624 "llgrammar.y" { yyval.initdecl = makeInitDeclNode (yyvsp[-2].declare, yyvsp[0].term); ; break;} case 103: -#line 637 "llgrammar.y" +#line 628 "llgrammar.y" { yyval.globals = varDeclarationNodeList_new (); ; break;} case 104: -#line 639 "llgrammar.y" +#line 630 "llgrammar.y" { varDeclarationNodeList_addh (yyvsp[-1].globals, yyvsp[0].vardeclaration); yyval.globals = yyvsp[-1].globals; ; break;} case 105: -#line 642 "llgrammar.y" +#line 633 "llgrammar.y" { yyval.vardeclaration = makeVarDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls, TRUE, FALSE); ; break;} case 106: -#line 643 "llgrammar.y" +#line 634 "llgrammar.y" { yyval.vardeclaration = makeInternalStateNode (); ; break;} case 107: -#line 644 "llgrammar.y" +#line 635 "llgrammar.y" { yyval.vardeclaration = makeFileSystemNode (); ; break;} case 108: -#line 647 "llgrammar.y" +#line 638 "llgrammar.y" { yyval.vardeclarationlist = varDeclarationNodeList_new (); ; break;} case 109: -#line 648 "llgrammar.y" +#line 639 "llgrammar.y" { varDeclarationNodeList_addh (yyvsp[-1].vardeclarationlist, yyvsp[0].vardeclaration); yyval.vardeclarationlist = yyvsp[-1].vardeclarationlist; ; break;} case 110: -#line 652 "llgrammar.y" +#line 643 "llgrammar.y" { yyval.vardeclaration = makeVarDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls, FALSE, TRUE); ; break;} case 111: -#line 655 "llgrammar.y" +#line 646 "llgrammar.y" { yyval.letdecls = letDeclNodeList_new (); ; break;} case 112: -#line 656 "llgrammar.y" +#line 647 "llgrammar.y" { yyval.letdecls = yyvsp[-1].letdecls; ; break;} case 113: -#line 659 "llgrammar.y" +#line 650 "llgrammar.y" { yyval.letdecls = letDeclNodeList_add (letDeclNodeList_new (), yyvsp[0].letdecl); ; break;} case 114: -#line 660 "llgrammar.y" +#line 651 "llgrammar.y" { yyval.letdecls = letDeclNodeList_add (yyvsp[-2].letdecls, yyvsp[0].letdecl); ; break;} case 115: -#line 663 "llgrammar.y" +#line 654 "llgrammar.y" { yyval.letdecl = makeLetDeclNode (yyvsp[-4].ltok, yyvsp[-2].lcltypespec, yyvsp[0].term); ; break;} case 116: -#line 664 "llgrammar.y" +#line 655 "llgrammar.y" { yyval.letdecl = makeLetDeclNode (yyvsp[-2].ltok, (lclTypeSpecNode)0, yyvsp[0].term); ; break;} case 118: -#line 669 "llgrammar.y" +#line 660 "llgrammar.y" { yyval.lclpredicate = (lclPredicateNode)0; ; break;} case 119: -#line 670 "llgrammar.y" +#line 661 "llgrammar.y" { checkLclPredicate (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); yyval.lclpredicate = makeChecksNode (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); ; break;} case 120: -#line 673 "llgrammar.y" +#line 664 "llgrammar.y" { yyval.lclpredicate = (lclPredicateNode)0; ; break;} case 121: -#line 674 "llgrammar.y" +#line 665 "llgrammar.y" { checkLclPredicate (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); yyval.lclpredicate = makeRequiresNode (yyvsp[-2].ltok, yyvsp[-1].lclpredicate);; break;} case 122: -#line 677 "llgrammar.y" +#line 668 "llgrammar.y" { yyval.modify = (modifyNode)0; ; break;} case 123: -#line 678 "llgrammar.y" +#line 669 "llgrammar.y" { yyval.modify = makeModifyNodeSpecial (yyvsp[-2].ltok, TRUE); ; break;} case 124: -#line 679 "llgrammar.y" +#line 670 "llgrammar.y" { yyval.modify = makeModifyNodeSpecial (yyvsp[-2].ltok, FALSE); ; break;} case 125: -#line 680 "llgrammar.y" +#line 671 "llgrammar.y" { yyval.modify = makeModifyNodeRef (yyvsp[-2].ltok, yyvsp[-1].storereflist); ; break;} case 126: -#line 683 "llgrammar.y" +#line 674 "llgrammar.y" { yyval.storereflist = storeRefNodeList_add (storeRefNodeList_new (), yyvsp[0].storeref); ; break;} case 127: -#line 684 "llgrammar.y" +#line 675 "llgrammar.y" { yyval.storereflist = storeRefNodeList_add (yyvsp[-2].storereflist, yyvsp[0].storeref); ; break;} case 128: -#line 687 "llgrammar.y" +#line 678 "llgrammar.y" { yyval.storeref = makeStoreRefNodeTerm (yyvsp[0].term); ; break;} case 129: -#line 688 "llgrammar.y" +#line 679 "llgrammar.y" { yyval.storeref = makeStoreRefNodeType (yyvsp[0].lcltypespec, FALSE); ; break;} case 130: -#line 689 "llgrammar.y" +#line 680 "llgrammar.y" { yyval.storeref = makeStoreRefNodeType (yyvsp[0].lcltypespec, TRUE); ; break;} case 131: -#line 690 "llgrammar.y" +#line 681 "llgrammar.y" { yyval.storeref = makeStoreRefNodeInternal (); ; break;} case 132: -#line 691 "llgrammar.y" +#line 682 "llgrammar.y" { yyval.storeref = makeStoreRefNodeSystem (); ; break;} case 133: -#line 694 "llgrammar.y" +#line 685 "llgrammar.y" { yyval.lclpredicate = (lclPredicateNode)0; ; break;} case 134: -#line 695 "llgrammar.y" +#line 686 "llgrammar.y" { checkLclPredicate (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); yyval.lclpredicate = makeEnsuresNode (yyvsp[-2].ltok, yyvsp[-1].lclpredicate);; break;} case 135: -#line 698 "llgrammar.y" +#line 689 "llgrammar.y" { yyval.lclpredicate = (lclPredicateNode)0; ; break;} case 136: -#line 699 "llgrammar.y" +#line 690 "llgrammar.y" { checkLclPredicate (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); yyval.lclpredicate = makeIntraClaimNode (yyvsp[-2].ltok, yyvsp[-1].lclpredicate);; break;} case 137: -#line 702 "llgrammar.y" +#line 693 "llgrammar.y" { yyval.paramlist = paramNodeList_new (); ; break;} case 138: -#line 703 "llgrammar.y" +#line 694 "llgrammar.y" { yyval.paramlist = yyvsp[0].paramlist; ; break;} case 140: -#line 707 "llgrammar.y" +#line 698 "llgrammar.y" { yyval.paramlist = paramNodeList_add (paramNodeList_new (), paramNode_elipsis ()); ; break;} case 141: -#line 708 "llgrammar.y" +#line 699 "llgrammar.y" { yyval.paramlist = paramNodeList_add (yyvsp[-2].paramlist, paramNode_elipsis ()); ; break;} case 142: -#line 711 "llgrammar.y" +#line 702 "llgrammar.y" { yyval.paramlist = paramNodeList_single (yyvsp[0].param); ; break;} case 143: -#line 712 "llgrammar.y" +#line 703 "llgrammar.y" { yyval.paramlist = paramNodeList_add (yyvsp[-2].paramlist, yyvsp[0].param); ; break;} case 144: -#line 715 "llgrammar.y" +#line 706 "llgrammar.y" { yyval.program = (programNode)0; ; break;} case 145: -#line 716 "llgrammar.y" +#line 707 "llgrammar.y" { yyval.program = yyvsp[-1].program; ; break;} case 146: -#line 717 "llgrammar.y" +#line 708 "llgrammar.y" { yyval.program = yyvsp[-2].program; ; break;} case 147: -#line 720 "llgrammar.y" +#line 711 "llgrammar.y" { yyval.program = makeProgramNode (yyvsp[0].stmt); ; break;} case 148: -#line 723 "llgrammar.y" +#line 714 "llgrammar.y" { yyval.program = yyvsp[-1].program; yyval.program->wrapped = yyval.program->wrapped + 1; ; break;} case 149: -#line 725 "llgrammar.y" +#line 716 "llgrammar.y" { programNodeList x = programNodeList_new (); programNodeList_addh (x, yyvsp[-1].program); yyval.program = makeProgramNodeAction (x, ACT_ITER); ; break;} case 150: -#line 730 "llgrammar.y" +#line 721 "llgrammar.y" { programNodeList x = programNodeList_new (); programNodeList_addh (x, yyvsp[-2].program); programNodeList_addh (x, yyvsp[0].program); @@ -2713,7 +2713,7 @@ case 150: ; break;} case 151: -#line 736 "llgrammar.y" +#line 727 "llgrammar.y" { programNodeList x = programNodeList_new (); programNodeList_addh (x, yyvsp[-2].program); programNodeList_addh (x, yyvsp[0].program); @@ -2721,91 +2721,91 @@ case 151: ; break;} case 152: -#line 744 "llgrammar.y" +#line 735 "llgrammar.y" { yyval.stmt = makeStmtNode (ltoken_undefined, yyvsp[-3].ltok, yyvsp[-1].termlist); ; break;} case 153: -#line 746 "llgrammar.y" +#line 737 "llgrammar.y" { yyval.stmt = makeStmtNode (ltoken_undefined, yyvsp[-2].ltok, termNodeList_new ()); ; break;} case 154: -#line 748 "llgrammar.y" +#line 739 "llgrammar.y" { yyval.stmt = makeStmtNode (yyvsp[-4].ltok, yyvsp[-2].ltok, termNodeList_new ()); ; break;} case 155: -#line 750 "llgrammar.y" +#line 741 "llgrammar.y" { yyval.stmt = makeStmtNode (yyvsp[-5].ltok, yyvsp[-3].ltok, yyvsp[-1].termlist); ; break;} case 156: -#line 753 "llgrammar.y" +#line 744 "llgrammar.y" { yyval.termlist = termNodeList_push (termNodeList_new (), yyvsp[0].term); ; break;} case 157: -#line 754 "llgrammar.y" +#line 745 "llgrammar.y" { yyval.termlist = termNodeList_push (yyvsp[-2].termlist, yyvsp[0].term); ; break;} case 159: -#line 758 "llgrammar.y" +#line 749 "llgrammar.y" { yyval.term = makeSimpleTermNode (yyvsp[0].ltok); ; break;} case 160: -#line 759 "llgrammar.y" +#line 750 "llgrammar.y" { yyval.term = makePrefixTermNode (yyvsp[-1].ltok, yyvsp[0].term); ; break;} case 161: -#line 760 "llgrammar.y" +#line 751 "llgrammar.y" { yyval.term = makePostfixTermNode2 (yyvsp[-1].term, yyvsp[0].ltok); ; break;} case 162: -#line 761 "llgrammar.y" +#line 752 "llgrammar.y" { yyval.term = makeInfixTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].term); ; break;} case 163: -#line 762 "llgrammar.y" +#line 753 "llgrammar.y" { yyval.term = yyvsp[-1].term; yyval.term->wrapped = yyval.term->wrapped + 1; ; break;} case 164: -#line 764 "llgrammar.y" +#line 755 "llgrammar.y" { yyval.term = makeOpCallTermNode (yyvsp[-2].ltok, yyvsp[-1].ltok, termNodeList_new (), yyvsp[0].ltok); ; break;} case 165: -#line 766 "llgrammar.y" +#line 757 "llgrammar.y" { yyval.term = makeOpCallTermNode (yyvsp[-3].ltok, yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok); ; break;} case 166: -#line 769 "llgrammar.y" +#line 760 "llgrammar.y" { yyval.abstbody = (abstBodyNode)0; ; break;} case 167: -#line 770 "llgrammar.y" +#line 761 "llgrammar.y" { yyval.abstbody = makeAbstBodyNode (yyvsp[-2].ltok, yyvsp[-1].fcns); ; break;} case 168: -#line 771 "llgrammar.y" +#line 762 "llgrammar.y" { yyval.abstbody = makeAbstBodyNode2 (yyvsp[-3].ltok, yyvsp[-2].ltokenList); ; break;} case 169: -#line 772 "llgrammar.y" +#line 763 "llgrammar.y" { yyval.abstbody = (abstBodyNode)0; ; break;} case 170: -#line 775 "llgrammar.y" +#line 766 "llgrammar.y" { yyval.fcns = fcnNodeList_new (); ; break;} case 171: -#line 776 "llgrammar.y" +#line 767 "llgrammar.y" { yyval.fcns = fcnNodeList_add (yyvsp[-1].fcns, yyvsp[0].fcn); ; break;} case 172: -#line 779 "llgrammar.y" +#line 770 "llgrammar.y" { yyval.lclpredicate = (lclPredicateNode)0; ; break;} case 174: -#line 783 "llgrammar.y" +#line 774 "llgrammar.y" { g_inTypeDef = FALSE; ; break;} case 175: -#line 784 "llgrammar.y" +#line 775 "llgrammar.y" { yyvsp[-1].lclpredicate->tok = yyvsp[-5].ltok; yyvsp[-1].lclpredicate->kind = LPD_CONSTRAINT; checkLclPredicate (yyvsp[-5].ltok, yyvsp[-1].lclpredicate); yyval.lclpredicate = yyvsp[-1].lclpredicate; @@ -2814,774 +2814,774 @@ case 175: ; break;} case 176: -#line 792 "llgrammar.y" +#line 783 "llgrammar.y" { yyval.declaratorinvs = declaratorInvNodeList_add (declaratorInvNodeList_new (), yyvsp[0].declaratorinv); ; break;} case 177: -#line 794 "llgrammar.y" +#line 785 "llgrammar.y" { yyval.declaratorinvs = declaratorInvNodeList_add (yyvsp[-2].declaratorinvs, yyvsp[0].declaratorinv); ; break;} case 178: -#line 797 "llgrammar.y" +#line 788 "llgrammar.y" { declareForwardType (yyvsp[0].declare); ; break;} case 179: -#line 798 "llgrammar.y" +#line 789 "llgrammar.y" { yyval.declaratorinv = makeDeclaratorInvNode (yyvsp[-2].declare, yyvsp[0].abstbody); ; break;} case 180: -#line 801 "llgrammar.y" +#line 792 "llgrammar.y" { yyval.abstbody = (abstBodyNode)0; ; break;} case 181: -#line 802 "llgrammar.y" +#line 793 "llgrammar.y" { yyval.abstbody = makeExposedBodyNode (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); ; break;} case 182: -#line 805 "llgrammar.y" +#line 796 "llgrammar.y" { yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_VOID, 0)); ; break;} case 183: -#line 806 "llgrammar.y" +#line 797 "llgrammar.y" { yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_CHAR, 0)); ; break;} case 184: -#line 807 "llgrammar.y" +#line 798 "llgrammar.y" { yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_DOUBLE, 0)); ; break;} case 185: -#line 808 "llgrammar.y" +#line 799 "llgrammar.y" { yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_FLOAT, 0)); ; break;} case 186: -#line 809 "llgrammar.y" +#line 800 "llgrammar.y" { yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_INT, 0)); ; break;} case 187: -#line 810 "llgrammar.y" +#line 801 "llgrammar.y" { yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_LONG, 0)); ; break;} case 188: -#line 811 "llgrammar.y" +#line 802 "llgrammar.y" { yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_SHORT, 0)); ; break;} case 189: -#line 812 "llgrammar.y" +#line 803 "llgrammar.y" { yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_SIGNED, 0)); ; break;} case 190: -#line 813 "llgrammar.y" +#line 804 "llgrammar.y" { yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_UNSIGNED, 0)); ; break;} case 191: -#line 814 "llgrammar.y" +#line 805 "llgrammar.y" { yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_UNKNOWN, 0)); ; break;} case 192: -#line 822 "llgrammar.y" +#line 813 "llgrammar.y" { yyval.ctypes = makeCTypesNode ((CTypesNode)0, yyvsp[0].ltok); ; break;} case 193: -#line 823 "llgrammar.y" +#line 814 "llgrammar.y" { yyval.ctypes = makeCTypesNode (yyvsp[-1].ctypes, yyvsp[0].ltok); ; break;} case 194: -#line 829 "llgrammar.y" +#line 820 "llgrammar.y" { yyval.ctypes = makeTypeSpecifier (yyvsp[0].ltok); ; break;} case 195: -#line 831 "llgrammar.y" +#line 822 "llgrammar.y" { yyval.ctypes = yyvsp[0].ctypes; yyval.ctypes->sort = sort_lookupName (lclctype_toSort (yyvsp[0].ctypes->intfield)); ; break;} case 196: -#line 836 "llgrammar.y" +#line 827 "llgrammar.y" { yyval.typequal = qual_createOut (); ; break;} case 197: -#line 837 "llgrammar.y" +#line 828 "llgrammar.y" { yyval.typequal = qual_createUnused (); ; break;} case 198: -#line 838 "llgrammar.y" +#line 829 "llgrammar.y" { yyval.typequal = qual_createSef (); ; break;} case 199: -#line 839 "llgrammar.y" +#line 830 "llgrammar.y" { yyval.typequal = qual_createOnly (); ; break;} case 200: -#line 840 "llgrammar.y" +#line 831 "llgrammar.y" { yyval.typequal = qual_createOwned (); ; break;} case 201: -#line 841 "llgrammar.y" +#line 832 "llgrammar.y" { yyval.typequal = qual_createDependent (); ; break;} case 202: -#line 842 "llgrammar.y" +#line 833 "llgrammar.y" { yyval.typequal = qual_createKeep (); ; break;} case 203: -#line 843 "llgrammar.y" +#line 834 "llgrammar.y" { yyval.typequal = qual_createKept (); ; break;} case 204: -#line 844 "llgrammar.y" +#line 835 "llgrammar.y" { yyval.typequal = qual_createObserver (); ; break;} case 205: -#line 845 "llgrammar.y" +#line 836 "llgrammar.y" { yyval.typequal = qual_createExits (); ; break;} case 206: -#line 846 "llgrammar.y" +#line 837 "llgrammar.y" { yyval.typequal = qual_createMayExit (); ; break;} case 207: -#line 847 "llgrammar.y" +#line 838 "llgrammar.y" { yyval.typequal = qual_createTrueExit (); ; break;} case 208: -#line 848 "llgrammar.y" +#line 839 "llgrammar.y" { yyval.typequal = qual_createFalseExit (); ; break;} case 209: -#line 849 "llgrammar.y" +#line 840 "llgrammar.y" { yyval.typequal = qual_createNeverExit (); ; break;} case 210: -#line 850 "llgrammar.y" +#line 841 "llgrammar.y" { yyval.typequal = qual_createOnly (); ; break;} case 211: -#line 851 "llgrammar.y" +#line 842 "llgrammar.y" { yyval.typequal = qual_createShared (); ; break;} case 212: -#line 852 "llgrammar.y" +#line 843 "llgrammar.y" { yyval.typequal = qual_createUnique (); ; break;} case 213: -#line 853 "llgrammar.y" +#line 844 "llgrammar.y" { yyval.typequal = qual_createChecked (); ; break;} case 214: -#line 854 "llgrammar.y" +#line 845 "llgrammar.y" { yyval.typequal = qual_createUnchecked (); ; break;} case 215: -#line 855 "llgrammar.y" +#line 846 "llgrammar.y" { yyval.typequal = qual_createCheckedStrict (); ; break;} case 216: -#line 856 "llgrammar.y" +#line 847 "llgrammar.y" { yyval.typequal = qual_createTrueNull (); ; break;} case 217: -#line 857 "llgrammar.y" +#line 848 "llgrammar.y" { yyval.typequal = qual_createFalseNull (); ; break;} case 218: -#line 858 "llgrammar.y" +#line 849 "llgrammar.y" { yyval.typequal = qual_createRelNull (); ; break;} case 219: -#line 859 "llgrammar.y" +#line 850 "llgrammar.y" { yyval.typequal = qual_createRelDef (); ; break;} case 220: -#line 860 "llgrammar.y" +#line 851 "llgrammar.y" { yyval.typequal = qual_createRefCounted (); ; break;} case 221: -#line 861 "llgrammar.y" +#line 852 "llgrammar.y" { yyval.typequal = qual_createRefs (); ; break;} case 222: -#line 862 "llgrammar.y" +#line 853 "llgrammar.y" { yyval.typequal = qual_createNewRef (); ; break;} case 223: -#line 863 "llgrammar.y" +#line 854 "llgrammar.y" { yyval.typequal = qual_createKillRef (); ; break;} case 224: -#line 864 "llgrammar.y" +#line 855 "llgrammar.y" { yyval.typequal = qual_createNull (); ; break;} case 225: -#line 865 "llgrammar.y" +#line 856 "llgrammar.y" { yyval.typequal = qual_createNotNull (); ; break;} case 226: -#line 866 "llgrammar.y" +#line 857 "llgrammar.y" { yyval.typequal = qual_createReturned (); ; break;} case 227: -#line 867 "llgrammar.y" +#line 858 "llgrammar.y" { yyval.typequal = qual_createExposed (); ; break;} case 228: -#line 868 "llgrammar.y" +#line 859 "llgrammar.y" { yyval.typequal = qual_createPartial (); ; break;} case 229: -#line 869 "llgrammar.y" +#line 860 "llgrammar.y" { yyval.typequal = qual_createNullTerminated () ; ; break;} case 230: -#line 870 "llgrammar.y" +#line 861 "llgrammar.y" { yyval.typequal = qual_createUndef (); ; break;} case 231: -#line 871 "llgrammar.y" +#line 862 "llgrammar.y" { yyval.typequal = qual_createKilled (); ; break;} case 232: -#line 875 "llgrammar.y" +#line 866 "llgrammar.y" { yyval.lcltypespec = makeLclTypeSpecNodeType (yyvsp[0].ctypes); ; break;} case 233: -#line 877 "llgrammar.y" +#line 868 "llgrammar.y" { yyval.lcltypespec = makeLclTypeSpecNodeSU (yyvsp[0].structorunion); ; break;} case 234: -#line 879 "llgrammar.y" +#line 870 "llgrammar.y" { yyval.lcltypespec = makeLclTypeSpecNodeEnum (yyvsp[0].enumspec); ; break;} case 235: -#line 881 "llgrammar.y" +#line 872 "llgrammar.y" { yyval.lcltypespec = lclTypeSpecNode_addQual (yyvsp[0].lcltypespec, yyvsp[-1].typequal); ; break;} case 236: -#line 883 "llgrammar.y" +#line 874 "llgrammar.y" { yyval.lcltypespec = makeLclTypeSpecNodeConj (yyvsp[-3].lcltypespec, yyvsp[-1].lcltypespec); ; break;} case 238: -#line 893 "llgrammar.y" +#line 884 "llgrammar.y" { llassert (lclTypeSpecNode_isDefined (yyvsp[-1].lcltypespec)); yyvsp[-1].lcltypespec->pointers = yyvsp[0].count; yyval.lcltypespec = yyvsp[-1].lcltypespec; ; break;} case 239: -#line 897 "llgrammar.y" +#line 888 "llgrammar.y" { yyval.count = 1; ; break;} case 240: -#line 898 "llgrammar.y" +#line 889 "llgrammar.y" { yyval.count = yyvsp[-1].count + 1; ; break;} case 241: -#line 902 "llgrammar.y" +#line 893 "llgrammar.y" { (void) checkAndEnterTag (TAG_FWDSTRUCT, ltoken_copy (yyvsp[0].ltok)); ; break;} case 242: -#line 904 "llgrammar.y" +#line 895 "llgrammar.y" { yyval.structorunion = makestrOrUnionNode (yyvsp[-5].ltok, SU_STRUCT, yyvsp[-4].ltok, yyvsp[-1].structdecls); ; break;} case 243: -#line 906 "llgrammar.y" +#line 897 "llgrammar.y" { (void) checkAndEnterTag (TAG_FWDUNION, ltoken_copy (yyvsp[0].ltok)); ; break;} case 244: -#line 908 "llgrammar.y" +#line 899 "llgrammar.y" { yyval.structorunion = makestrOrUnionNode (yyvsp[-5].ltok, SU_UNION, yyvsp[-4].ltok, yyvsp[-1].structdecls); ; break;} case 245: -#line 910 "llgrammar.y" +#line 901 "llgrammar.y" { yyval.structorunion = makeForwardstrOrUnionNode (yyvsp[-1].ltok, SU_STRUCT, yyvsp[0].ltok); ; break;} case 246: -#line 912 "llgrammar.y" +#line 903 "llgrammar.y" { yyval.structorunion = makeForwardstrOrUnionNode (yyvsp[-1].ltok, SU_UNION, yyvsp[0].ltok); ; break;} case 247: -#line 915 "llgrammar.y" +#line 906 "llgrammar.y" { yyval.ltok = ltoken_undefined; ; break;} case 249: -#line 919 "llgrammar.y" +#line 910 "llgrammar.y" { yyval.structdecls = stDeclNodeList_add (stDeclNodeList_new (), yyvsp[0].structdecl); ; break;} case 250: -#line 920 "llgrammar.y" +#line 911 "llgrammar.y" { yyval.structdecls = stDeclNodeList_add (yyvsp[-1].structdecls, yyvsp[0].structdecl); ; break;} case 251: -#line 925 "llgrammar.y" +#line 916 "llgrammar.y" { yyval.structdecl = makestDeclNode (yyvsp[-2].lcltypespec, yyvsp[-1].declarelist); ; break;} case 252: -#line 929 "llgrammar.y" +#line 920 "llgrammar.y" { yyval.declarelist = declaratorNodeList_add (declaratorNodeList_new (), yyvsp[0].declare); ; break;} case 253: -#line 931 "llgrammar.y" +#line 922 "llgrammar.y" { yyval.declarelist = declaratorNodeList_add (yyvsp[-2].declarelist, yyvsp[0].declare); ; break;} case 254: -#line 934 "llgrammar.y" +#line 925 "llgrammar.y" { ; ; break;} case 255: -#line 935 "llgrammar.y" +#line 926 "llgrammar.y" { ; ; break;} case 256: -#line 939 "llgrammar.y" +#line 930 "llgrammar.y" { yyval.enumspec = makeEnumSpecNode (yyvsp[-5].ltok, yyvsp[-4].ltok, yyvsp[-2].ltokenList); ; break;} case 257: -#line 941 "llgrammar.y" +#line 932 "llgrammar.y" { yyval.enumspec = makeEnumSpecNode2 (yyvsp[-1].ltok, yyvsp[0].ltok); ; break;} case 258: -#line 944 "llgrammar.y" +#line 935 "llgrammar.y" { yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ; break;} case 259: -#line 945 "llgrammar.y" +#line 936 "llgrammar.y" { yyval.ltokenList = ltokenList_push (yyvsp[-2].ltokenList, yyvsp[0].ltok); ; break;} case 260: -#line 955 "llgrammar.y" +#line 946 "llgrammar.y" { yyval.declare = makeDeclaratorNode (yyvsp[0].typeexpr); ; break;} case 261: -#line 956 "llgrammar.y" +#line 947 "llgrammar.y" { yyval.declare = makeDeclaratorNode (yyvsp[0].typeexpr); ; break;} case 262: -#line 959 "llgrammar.y" +#line 950 "llgrammar.y" { yyval.typeexpr = makeTypeExpr (yyvsp[0].ltok); ; break;} case 263: -#line 960 "llgrammar.y" +#line 951 "llgrammar.y" { yyval.typeexpr = yyvsp[-1].typeexpr; yyval.typeexpr->wrapped = yyval.typeexpr->wrapped + 1; ; break;} case 264: -#line 961 "llgrammar.y" +#line 952 "llgrammar.y" { yyval.typeexpr = makePointerNode (yyvsp[-1].ltok, yyvsp[0].typeexpr); ; break;} case 265: -#line 962 "llgrammar.y" +#line 953 "llgrammar.y" { yyval.typeexpr = makeArrayNode (yyvsp[-1].typeexpr, yyvsp[0].array); ; break;} case 266: -#line 963 "llgrammar.y" +#line 954 "llgrammar.y" { yyval.typeexpr = makeFunctionNode (yyvsp[-2].typeexpr, paramNodeList_new ()); ; break;} case 267: -#line 964 "llgrammar.y" +#line 955 "llgrammar.y" { yyval.typeexpr = makeFunctionNode (yyvsp[-3].typeexpr, yyvsp[-1].paramlist); ; break;} case 268: -#line 967 "llgrammar.y" +#line 958 "llgrammar.y" { yyval.typeexpr = makeTypeExpr (yyvsp[0].ltok); ; break;} case 269: -#line 968 "llgrammar.y" +#line 959 "llgrammar.y" { yyval.typeexpr = yyvsp[-1].typeexpr; yyval.typeexpr->wrapped = yyval.typeexpr->wrapped + 1; ; break;} case 270: -#line 969 "llgrammar.y" +#line 960 "llgrammar.y" { yyval.typeexpr = makePointerNode (yyvsp[-1].ltok, yyvsp[0].typeexpr); ; break;} case 271: -#line 970 "llgrammar.y" +#line 961 "llgrammar.y" { yyval.typeexpr = makeArrayNode (yyvsp[-1].typeexpr, yyvsp[0].array); ; break;} case 272: -#line 971 "llgrammar.y" +#line 962 "llgrammar.y" { yyval.typeexpr = makeFunctionNode (yyvsp[-2].typeexpr, paramNodeList_new ()); ; break;} case 273: -#line 972 "llgrammar.y" +#line 963 "llgrammar.y" { yyval.typeexpr = makeFunctionNode (yyvsp[-3].typeexpr, yyvsp[-1].paramlist); ; break;} case 274: -#line 981 "llgrammar.y" +#line 972 "llgrammar.y" { yyval.typeexpr = makeTypeExpr (yyvsp[0].ltok); ; break;} case 275: -#line 982 "llgrammar.y" +#line 973 "llgrammar.y" { yyval.typeexpr = makePointerNode (yyvsp[-1].ltok, yyvsp[0].typeexpr); ; break;} case 276: -#line 983 "llgrammar.y" +#line 974 "llgrammar.y" { yyval.typeexpr = makeArrayNode (yyvsp[-1].typeexpr, yyvsp[0].array); ; break;} case 277: -#line 984 "llgrammar.y" +#line 975 "llgrammar.y" { yyval.typeexpr = makeFunctionNode (yyvsp[-2].typeexpr, paramNodeList_new ()); ; break;} case 278: -#line 985 "llgrammar.y" +#line 976 "llgrammar.y" { yyval.typeexpr = makeFunctionNode (yyvsp[-3].typeexpr, yyvsp[-1].paramlist); ; break;} case 279: -#line 991 "llgrammar.y" +#line 982 "llgrammar.y" { yyval.param = makeParamNode (yyvsp[-1].lcltypespec, yyvsp[0].typeexpr); ; break;} case 280: -#line 992 "llgrammar.y" +#line 983 "llgrammar.y" { yyval.param = makeParamNode (yyvsp[-1].lcltypespec, yyvsp[0].typeexpr); ; break;} case 281: -#line 993 "llgrammar.y" +#line 984 "llgrammar.y" { yyval.param = makeParamNode (yyvsp[-1].lcltypespec, yyvsp[0].abstDecl); ; break;} case 282: -#line 1003 "llgrammar.y" +#line 994 "llgrammar.y" { yyval.typname = makeTypeNameNode (FALSE, yyvsp[-1].lcltypespec, yyvsp[0].abstDecl); ; break;} case 283: -#line 1004 "llgrammar.y" +#line 995 "llgrammar.y" { yyval.typname = makeTypeNameNode (TRUE, yyvsp[-1].lcltypespec, yyvsp[0].abstDecl); ; break;} case 284: -#line 1005 "llgrammar.y" +#line 996 "llgrammar.y" { yyval.typname = makeTypeNameNodeOp (yyvsp[0].opform); ; break;} case 285: -#line 1010 "llgrammar.y" +#line 1001 "llgrammar.y" { yyval.abstDecl = (abstDeclaratorNode)0; ; break;} case 286: -#line 1011 "llgrammar.y" +#line 1002 "llgrammar.y" { yyval.abstDecl = (abstDeclaratorNode)yyvsp[0].typeexpr; ; break;} case 287: -#line 1014 "llgrammar.y" +#line 1005 "llgrammar.y" { yyval.typeexpr = yyvsp[-1].typeexpr; yyval.typeexpr->wrapped = yyval.typeexpr->wrapped + 1; ; break;} case 288: -#line 1015 "llgrammar.y" +#line 1006 "llgrammar.y" { yyval.typeexpr = makePointerNode (yyvsp[-1].ltok, yyvsp[0].typeexpr); ; break;} case 289: -#line 1016 "llgrammar.y" +#line 1007 "llgrammar.y" { yyval.typeexpr = makePointerNode (yyvsp[0].ltok, (typeExpr)0); ; break;} case 290: -#line 1017 "llgrammar.y" +#line 1008 "llgrammar.y" { yyval.typeexpr = makeArrayNode ((typeExpr)0, yyvsp[0].array); ; break;} case 291: -#line 1018 "llgrammar.y" +#line 1009 "llgrammar.y" { yyval.typeexpr = makeArrayNode (yyvsp[-1].typeexpr, yyvsp[0].array); ; break;} case 292: -#line 1019 "llgrammar.y" +#line 1010 "llgrammar.y" { yyval.typeexpr = makeFunctionNode (yyvsp[-2].typeexpr, paramNodeList_new ()); ; break;} case 293: -#line 1020 "llgrammar.y" +#line 1011 "llgrammar.y" { yyval.typeexpr = makeFunctionNode ((typeExpr)0, yyvsp[-1].paramlist); ; break;} case 294: -#line 1021 "llgrammar.y" +#line 1012 "llgrammar.y" { yyval.typeexpr = makeFunctionNode (yyvsp[-3].typeexpr, yyvsp[-1].paramlist); ; break;} case 295: -#line 1024 "llgrammar.y" +#line 1015 "llgrammar.y" { yyval.array = makeArrayQualNode (yyvsp[-1].ltok, (termNode)0); ; break;} case 296: -#line 1025 "llgrammar.y" +#line 1016 "llgrammar.y" { yyval.array = makeArrayQualNode (yyvsp[-2].ltok, yyvsp[-1].term); ; break;} case 297: -#line 1029 "llgrammar.y" +#line 1020 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-5].ltok, OPF_IF, opFormUnion_createMiddle (0), ltoken_undefined); ; break;} case 298: -#line 1031 "llgrammar.y" +#line 1022 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[0].ltok, OPF_ANYOP, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ; break;} case 299: -#line 1033 "llgrammar.y" +#line 1024 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_MANYOP, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ; break;} case 300: -#line 1035 "llgrammar.y" +#line 1026 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_ANYOPM, opFormUnion_createAnyOp (yyvsp[-1].ltok), ltoken_undefined); ; break;} case 301: -#line 1037 "llgrammar.y" +#line 1028 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MANYOPM, opFormUnion_createAnyOp (yyvsp[-1].ltok), ltoken_undefined); ; break;} case 302: -#line 1040 "llgrammar.y" +#line 1031 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ; break;} case 303: -#line 1042 "llgrammar.y" +#line 1033 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_MMIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ; break;} case 304: -#line 1044 "llgrammar.y" +#line 1035 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_MIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ; break;} case 305: -#line 1046 "llgrammar.y" +#line 1037 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_MMIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ; break;} case 306: -#line 1048 "llgrammar.y" +#line 1039 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_BMIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ; break;} case 307: -#line 1050 "llgrammar.y" +#line 1041 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_BMIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ; break;} case 308: -#line 1058 "llgrammar.y" +#line 1049 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_BMMIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ; break;} case 309: -#line 1060 "llgrammar.y" +#line 1051 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_BMMIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ; break;} case 310: -#line 1062 "llgrammar.y" +#line 1053 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_SELECT, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ; break;} case 311: -#line 1065 "llgrammar.y" +#line 1056 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_MAP, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ; break;} case 312: -#line 1068 "llgrammar.y" +#line 1059 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MSELECT, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ; break;} case 313: -#line 1071 "llgrammar.y" +#line 1062 "llgrammar.y" { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MMAP, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ; break;} case 321: -#line 1088 "llgrammar.y" +#line 1079 "llgrammar.y" { yyval.count = 0; ; break;} case 323: -#line 1092 "llgrammar.y" +#line 1083 "llgrammar.y" { yyval.count = 1; ; break;} case 324: -#line 1093 "llgrammar.y" +#line 1084 "llgrammar.y" { yyval.count = yyvsp[-2].count + 1; ; break;} case 327: -#line 1100 "llgrammar.y" +#line 1091 "llgrammar.y" { yyval.signature = makesigNode (yyvsp[-3].ltok, yyvsp[-2].ltokenList, yyvsp[0].ltok); ; break;} case 328: -#line 1103 "llgrammar.y" +#line 1094 "llgrammar.y" { yyval.ltokenList = ltokenList_new (); ; break;} case 330: -#line 1107 "llgrammar.y" +#line 1098 "llgrammar.y" { yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ; break;} case 331: -#line 1108 "llgrammar.y" +#line 1099 "llgrammar.y" { yyval.ltokenList = ltokenList_push (yyvsp[-2].ltokenList, yyvsp[0].ltok); ; break;} case 332: -#line 1111 "llgrammar.y" +#line 1102 "llgrammar.y" { yyval.lclpredicate = makeLclPredicateNode (ltoken_undefined, yyvsp[0].term, LPD_PLAIN);; break;} case 333: -#line 1114 "llgrammar.y" +#line 1105 "llgrammar.y" { yyval.term = checkSort (yyvsp[0].term); ; break;} case 334: -#line 1121 "llgrammar.y" +#line 1112 "llgrammar.y" { yyval.term = makeIfTermNode (yyvsp[-5].ltok,yyvsp[-4].term,yyvsp[-3].ltok,yyvsp[-2].term,yyvsp[-1].ltok,yyvsp[0].term); ; break;} case 336: -#line 1123 "llgrammar.y" +#line 1114 "llgrammar.y" { yyval.term = makeInfixTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].term); ; break;} case 338: -#line 1129 "llgrammar.y" +#line 1120 "llgrammar.y" { checkLclPredicate (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); yyval.term = makeQuantifiedTermNode (yyvsp[-3].quantifiers, yyvsp[-2].ltok, yyvsp[-1].lclpredicate->predicate, yyvsp[0].ltok); symtable_exitScope (g_symtab); ; break;} case 339: -#line 1133 "llgrammar.y" +#line 1124 "llgrammar.y" { yyval.term = makeInfixTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].term);; break;} case 340: -#line 1135 "llgrammar.y" +#line 1126 "llgrammar.y" { yyval.term = makeInfixTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].term);; break;} case 342: -#line 1139 "llgrammar.y" +#line 1130 "llgrammar.y" { yyval.term = makePostfixTermNode (yyvsp[-1].term, yyvsp[0].ltokenList); ; break;} case 343: -#line 1140 "llgrammar.y" +#line 1131 "llgrammar.y" { yyval.term = CollapseInfixTermNode (yyvsp[-1].term, yyvsp[0].termlist); ; break;} case 347: -#line 1148 "llgrammar.y" +#line 1139 "llgrammar.y" { yyval.term = makePrefixTermNode (yyvsp[-1].ltok, yyvsp[0].term); ; break;} case 348: -#line 1151 "llgrammar.y" +#line 1142 "llgrammar.y" { yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ; break;} case 349: -#line 1152 "llgrammar.y" +#line 1143 "llgrammar.y" { yyval.ltokenList = ltokenList_push (yyvsp[-1].ltokenList, yyvsp[0].ltok); ; break;} case 350: -#line 1155 "llgrammar.y" +#line 1146 "llgrammar.y" { yyval.termlist = pushInfixOpPartNode (termNodeList_new (), yyvsp[-1].ltok, yyvsp[0].term); ; break;} case 351: -#line 1156 "llgrammar.y" +#line 1147 "llgrammar.y" { yyval.termlist = pushInfixOpPartNode (yyvsp[-2].termlist, yyvsp[-1].ltok, yyvsp[0].term); ; break;} case 353: -#line 1160 "llgrammar.y" +#line 1151 "llgrammar.y" { yyval.term = computePossibleSorts (yyvsp[0].term); ; break;} case 354: -#line 1161 "llgrammar.y" +#line 1152 "llgrammar.y" { yyval.term = updateMatchedNode ((termNode)0, yyvsp[-1].term, yyvsp[0].term); ; break;} case 355: -#line 1162 "llgrammar.y" +#line 1153 "llgrammar.y" { yyval.term = updateMatchedNode (yyvsp[-1].term, yyvsp[0].term, (termNode)0); ; break;} case 356: -#line 1163 "llgrammar.y" +#line 1154 "llgrammar.y" { yyval.term = updateMatchedNode (yyvsp[-2].term, yyvsp[-1].term, yyvsp[0].term); ; break;} case 357: -#line 1164 "llgrammar.y" +#line 1155 "llgrammar.y" { yyval.term = computePossibleSorts (yyvsp[0].term); ; break;} case 358: -#line 1165 "llgrammar.y" +#line 1156 "llgrammar.y" { yyval.term = updateSqBracketedNode ((termNode)0, yyvsp[-1].term, yyvsp[0].term); ; break;} case 359: -#line 1168 "llgrammar.y" +#line 1159 "llgrammar.y" { yyval.term = yyvsp[-2].term; yyval.term->sort = sort_lookupName (ltoken_getText (yyvsp[0].ltok)); ; break;} case 361: -#line 1173 "llgrammar.y" +#line 1164 "llgrammar.y" { yyval.term = makeSqBracketedNode (yyvsp[-4].ltok, yyvsp[-3].termlist, yyvsp[-2].ltok); yyval.term->given = sort_lookupName (ltoken_getText (yyvsp[0].ltok)); ; break;} case 362: -#line 1176 "llgrammar.y" +#line 1167 "llgrammar.y" { yyval.term = makeSqBracketedNode (yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok); ; break;} case 363: -#line 1178 "llgrammar.y" +#line 1169 "llgrammar.y" { yyval.term = makeSqBracketedNode (yyvsp[-3].ltok, termNodeList_new (), yyvsp[-2].ltok); yyval.term->given = sort_lookupName (ltoken_getText (yyvsp[0].ltok)); ; break;} case 364: -#line 1182 "llgrammar.y" +#line 1173 "llgrammar.y" { yyval.term = makeSqBracketedNode (yyvsp[-1].ltok, termNodeList_new (), yyvsp[0].ltok); ; break;} case 365: -#line 1185 "llgrammar.y" +#line 1176 "llgrammar.y" { yyval.term = makeMatchedNode (yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok); ; break;} case 366: -#line 1186 "llgrammar.y" +#line 1177 "llgrammar.y" { yyval.term = makeMatchedNode (yyvsp[-1].ltok, termNodeList_new (), yyvsp[0].ltok); ; break;} case 367: -#line 1189 "llgrammar.y" +#line 1180 "llgrammar.y" { yyval.termlist = termNodeList_push (termNodeList_new (), yyvsp[0].term); ; break;} case 368: -#line 1190 "llgrammar.y" +#line 1181 "llgrammar.y" { yyval.termlist = termNodeList_push (yyvsp[-2].termlist, yyvsp[0].term); ; break;} case 369: -#line 1194 "llgrammar.y" +#line 1185 "llgrammar.y" { yyval.term = yyvsp[-1].term; yyval.term->wrapped = yyval.term->wrapped + 1; ; break;} case 370: -#line 1196 "llgrammar.y" +#line 1187 "llgrammar.y" { yyval.term = makeSimpleTermNode (yyvsp[0].ltok); ; break;} case 371: -#line 1198 "llgrammar.y" +#line 1189 "llgrammar.y" { yyval.term = makeOpCallTermNode (yyvsp[-3].ltok, yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok); ; break;} case 373: -#line 1201 "llgrammar.y" +#line 1192 "llgrammar.y" { yyval.term = makePostfixTermNode2 (yyvsp[-1].term, yyvsp[0].ltok); ; break;} case 374: -#line 1203 "llgrammar.y" +#line 1194 "llgrammar.y" { ltoken_markOwned (yyvsp[0].ltok); yyval.term = makeSelectTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].ltok); ; break;} case 375: -#line 1205 "llgrammar.y" +#line 1196 "llgrammar.y" { ltoken_markOwned (yyvsp[0].ltok); yyval.term = makeMapTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].ltok); ; break;} case 376: -#line 1207 "llgrammar.y" +#line 1198 "llgrammar.y" { yyval.term = updateSqBracketedNode (yyvsp[-2].term, makeSqBracketedNode (yyvsp[-1].ltok, termNodeList_new (), yyvsp[0].ltok), (termNode)0); ; break;} case 377: -#line 1210 "llgrammar.y" +#line 1201 "llgrammar.y" { yyval.term = updateSqBracketedNode (yyvsp[-3].term, makeSqBracketedNode (yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok), (termNode)0); ; break;} case 378: -#line 1212 "llgrammar.y" +#line 1203 "llgrammar.y" { yyval.term = yyvsp[-2].term; yyval.term->given = sort_lookupName (ltoken_getText (yyvsp[0].ltok)); ; break;} case 379: -#line 1215 "llgrammar.y" +#line 1206 "llgrammar.y" { yyval.termlist = termNodeList_push (termNodeList_new (), yyvsp[0].term); ; break;} case 380: -#line 1216 "llgrammar.y" +#line 1207 "llgrammar.y" { yyval.termlist = termNodeList_push (yyvsp[-2].termlist, yyvsp[0].term); ; break;} case 386: -#line 1226 "llgrammar.y" +#line 1217 "llgrammar.y" { yyval.term = makeSimpleTermNode (yyvsp[0].ltok); ; break;} case 387: -#line 1227 "llgrammar.y" +#line 1218 "llgrammar.y" { yyval.term = makeOpCallTermNode (yyvsp[-3].ltok, yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok); ; break;} case 388: -#line 1228 "llgrammar.y" +#line 1219 "llgrammar.y" { yyval.term = makeUnchangedTermNode1 (yyvsp[-3].ltok, yyvsp[-1].ltok); ; break;} case 389: -#line 1229 "llgrammar.y" +#line 1220 "llgrammar.y" { yyval.term = makeUnchangedTermNode2 (yyvsp[-3].ltok, yyvsp[-1].storereflist); ; break;} case 390: -#line 1231 "llgrammar.y" +#line 1222 "llgrammar.y" { termNodeList x = termNodeList_new (); termNodeList_addh (x, yyvsp[-1].term); yyval.term = makeOpCallTermNode (yyvsp[-3].ltok, yyvsp[-2].ltok, x, yyvsp[0].ltok); ; break;} case 391: -#line 1236 "llgrammar.y" +#line 1227 "llgrammar.y" { termNodeList x = termNodeList_new (); termNodeList_addh (x, yyvsp[-3].term); termNodeList_addh (x, yyvsp[-1].term); @@ -3589,57 +3589,57 @@ case 391: ; break;} case 392: -#line 1241 "llgrammar.y" +#line 1232 "llgrammar.y" { yyval.term = makeSizeofTermNode (yyvsp[-3].ltok, yyvsp[-1].lcltypespec); ; break;} case 393: -#line 1251 "llgrammar.y" +#line 1242 "llgrammar.y" { yyval.term = makeLiteralTermNode (yyvsp[0].ltok, sort_int); ; break;} case 394: -#line 1252 "llgrammar.y" +#line 1243 "llgrammar.y" { yyval.term = makeLiteralTermNode (yyvsp[0].ltok, sort_cstring); ; break;} case 395: -#line 1253 "llgrammar.y" +#line 1244 "llgrammar.y" { yyval.term = makeLiteralTermNode (yyvsp[0].ltok, sort_char); ; break;} case 396: -#line 1254 "llgrammar.y" +#line 1245 "llgrammar.y" { yyval.term = makeLiteralTermNode (yyvsp[0].ltok, sort_double); ; break;} case 397: -#line 1258 "llgrammar.y" +#line 1249 "llgrammar.y" { yyval.quantifiers = quantifierNodeList_add (quantifierNodeList_new (), yyvsp[0].quantifier); ; break;} case 398: -#line 1260 "llgrammar.y" +#line 1251 "llgrammar.y" { yyval.quantifiers = quantifierNodeList_add (yyvsp[-1].quantifiers, yyvsp[0].quantifier); ; break;} case 399: -#line 1263 "llgrammar.y" +#line 1254 "llgrammar.y" { scopeInfo si = (scopeInfo) dmalloc (sizeof (*si)); si->kind = SPE_QUANT; symtable_enterScope (g_symtab, si); ; break;} case 400: -#line 1267 "llgrammar.y" +#line 1258 "llgrammar.y" { yyval.quantifier = makeQuantifierNode (yyvsp[0].vars, yyvsp[-2].ltok); ; break;} case 401: -#line 1270 "llgrammar.y" +#line 1261 "llgrammar.y" { yyval.vars = varNodeList_add (varNodeList_new (), yyvsp[0].var); ; break;} case 402: -#line 1271 "llgrammar.y" +#line 1262 "llgrammar.y" { yyval.vars = varNodeList_add (yyvsp[-2].vars, yyvsp[0].var); ; break;} case 403: -#line 1274 "llgrammar.y" +#line 1265 "llgrammar.y" { yyval.var = makeVarNode (yyvsp[-2].ltok, FALSE, yyvsp[0].lcltypespec); ; break;} case 404: -#line 1275 "llgrammar.y" +#line 1266 "llgrammar.y" { yyval.var = makeVarNode (yyvsp[-3].ltok, TRUE, yyvsp[0].lcltypespec); ; break;} } @@ -3864,7 +3864,7 @@ yyerrhandle: } return 1; } -#line 1290 "llgrammar.y" +#line 1281 "llgrammar.y" # include "bison.reset" diff --git a/src/llgrammar.y b/src/llgrammar.y index 85d8506..6ee48b0 100644 --- a/src/llgrammar.y +++ b/src/llgrammar.y @@ -1,38 +1,29 @@ /*;-*-C-*-; -** Copyright (c) Massachusetts Institute of Technology 1994-1998. -** All Rights Reserved. -** Unpublished rights reserved under the copyright laws of -** the United States. +** Splint - annotation-assisted static program checker +** Copyright (C) 1994-2001 University of Virginia, +** Massachusetts Institute of Technology ** -** THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED -** OR IMPLIED. ANY USE IS AT YOUR OWN RISK. -** -** This code is distributed freely and may be used freely under the -** following conditions: -** -** 1. This notice may not be removed or altered. +** This program is free software; you can redistribute it and/or modify it +** under the terms of the GNU General Public License as published by the +** Free Software Foundation; either version 2 of the License, or (at your +** option) any later version. +** +** This program is distributed in the hope that it will be useful, but +** WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** General Public License for more details. +** +** The GNU General Public License is available from http://www.gnu.org/ or +** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, +** MA 02111-1307, USA. ** -** 2. Works derived from this code are not distributed for -** commercial gain without explicit permission from MIT -** (for permission contact lclint-request@sds.lcs.mit.edu). +** For information on lclint: lclint-request@cs.virginia.edu +** To report a bug: lclint-bug@cs.virginia.edu +** For more information: http://www.splint.org */ /* -** Copyright (c) Massachusetts Institute of Technology, 1993 -** All Rights Reserved. Unpublished rights reserved -** under the copyright laws of the United States. -**++ -** FACILITY: LSLC -** -** MODULE DESCRIPTION: -** -** FILENAME: llgramar.y -** -** PURPOSE: bison grammar for LCL language. -** -** AUTHORS: -** Yang Meng Tan, Massachusetts Institute of Technology +** Original author: Yang Meng Tan, Massachusetts Institute of Technology */ - %{ # include "lclintMacros.nf" diff --git a/src/llmain.c b/src/llmain.c index 5b4053c..ddfddc4 100644 --- a/src/llmain.c +++ b/src/llmain.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,12 +19,12 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** llmain.c ** -** Main module for LCLint checker +** Main module for Splint annotation-assisted program checker */ # include @@ -1265,7 +1265,7 @@ int main (int argc, char *argv[]) if (anylcl) { # ifdef NOLCL - llfatalerror (cstring_makeLiteral ("This version of LCLint does not handle LCL files.")); + llfatalerror (cstring_makeLiteral ("This version of Splint does not handle LCL files.")); # else lslProcess (lclfiles); # endif @@ -1497,7 +1497,7 @@ int main (int argc, char *argv[]) if (nspecErrors == context_getLCLExpect ()) { specErrors = - message ("%d spec error%& found, as expected\n ", + message ("%d spec warning%&, as expected\n ", nspecErrors); } else @@ -1505,13 +1505,13 @@ int main (int argc, char *argv[]) if (context_getLCLExpect () > 0) { specErrors = - message ("%d spec error%& found, expected %d\n ", + message ("%d spec warning%&, expected %d\n ", nspecErrors, (int) context_getLCLExpect ()); } else { - specErrors = message ("%d spec error%& found\n ", + specErrors = message ("%d spec warning%& found\n ", nspecErrors); expsuccess = FALSE; } @@ -1521,7 +1521,7 @@ int main (int argc, char *argv[]) { if (context_getLCLExpect () > 0) { - specErrors = message ("No spec errors found, expected %d\n ", + specErrors = message ("No spec warnings, expected %d\n ", (int) context_getLCLExpect ()); expsuccess = FALSE; } @@ -1533,8 +1533,8 @@ int main (int argc, char *argv[]) if (context_numErrors () == context_getExpect ()) { if (!isQuiet) { - llmsg (message ("Finished LCLint checking --- " - "%s%d code error%& found, as expected", + llmsg (message ("Finished checking --- " + "%s%d code warning%&, as expected", specErrors, context_numErrors ())); } } @@ -1544,8 +1544,8 @@ int main (int argc, char *argv[]) { if (!isQuiet) { llmsg (message - ("Finished LCLint checking --- " - "%s%d code error%& found, expected %d", + ("Finished checking --- " + "%s%d code warning%&, expected %d", specErrors, context_numErrors (), (int) context_getExpect ())); } @@ -1557,8 +1557,8 @@ int main (int argc, char *argv[]) if (!isQuiet) { - llmsg (message ("Finished LCLint checking --- " - "%s%d code error%& found", + llmsg (message ("Finished checking --- " + "%s%d code warning%& found", specErrors, context_numErrors ())); } @@ -1572,8 +1572,8 @@ int main (int argc, char *argv[]) { if (!isQuiet) { llmsg (message - ("Finished LCLint checking --- " - "%sno code errors found, expected %d", + ("Finished checking --- " + "%sno code warnings, expected %d", specErrors, (int) context_getExpect ())); } @@ -1584,15 +1584,24 @@ int main (int argc, char *argv[]) { if (context_getLinesProcessed () > 0) { - if (!isQuiet) { - llmsg (message ("Finished LCLint checking --- %sno code errors found", - specErrors)); - } + if (cstring_isEmpty (specErrors)) + { + if (!isQuiet) + { + llmsg (message ("Finished checking --- no warnings")); + } + } + else + if (!isQuiet) + { + llmsg (message ("Finished checking --- %sno code warnings", + specErrors)); + } } else { if (!isQuiet) { - llmsg (message ("Finished LCLint checking --- %sno code processed", + llmsg (message ("Finished checking --- %sno code processed", specErrors)); } } @@ -1681,9 +1690,9 @@ showHelp (void) llmsg (message ("Source files are .c, .h and %s files. If there is no suffix,", LCL_EXTENSION)); - llmsg (message (" LCLint will look for .c and %s.", LCL_EXTENSION)); + llmsg (message (" Splint will look for .c and %s.", LCL_EXTENSION)); llmsglit (""); - llmsglit ("Use lclint -help for more information"); + llmsglit ("Use splint -help for more information"); llmsglit (""); llmsglit ("Topics:"); llmsglit (""); @@ -1757,7 +1766,7 @@ printParseErrors (void) "it is not advisible to use these, oftentimes one has no choice " "when the system header files use compiler extensions. "); llmsglit (""); - llmsglit ("LCLint supports some of the GNU (gcc) compiler extensions, " + llmsglit ("Splint supports some of the GNU (gcc) compiler extensions, " "if the +gnuextensions flag is set. You may be able to workaround " "other compiler extensions by using a pre-processor define. " "Alternately, you can surround the unparseable code with"); @@ -1770,7 +1779,7 @@ printParseErrors (void) llmsglit ("Missing type definitions --- an undefined type name will usually " "lead to a parse error. This often occurs when a standard header " "file defines some type that is not part of the standard library. "); - llmsglit ("By default, LCLint does not process the local files corresponding " + llmsglit ("By default, Splint does not process the local files corresponding " "to standard library headers, but uses a library specification " "instead so dependencies on local system headers can be detected. " "If another system header file that does not correspond to a " @@ -1778,7 +1787,7 @@ printParseErrors (void) "a parse error will result."); llmsglit (""); llmsglit ("If the parse error is inside a posix standard header file, the " - "first thing to try is +posixlib. This make LCLint use " + "first thing to try is +posixlib. This makes Splint use " "the posix library specification instead of reading the posix " "header files."); llmsglit (""); @@ -1798,9 +1807,9 @@ printParseErrors (void) llmsglit (" /*@=skipposixheaders@*/"); llmsglit (" # include "); llmsglit (""); - llmsglit ("to force LCLint to process ."); + llmsglit ("to force Splint to process ."); llmsglit (""); - llmsglit ("At last resort, +trytorecover can be used to make LCLint attempt " + llmsglit ("At last resort, +trytorecover can be used to make Splint attempt " "to continue after a parse error. This is usually not successful " "and the author does not consider assertion failures when +trytorecover " "is used to be bugs."); @@ -1958,7 +1967,7 @@ printComments (void) llmsglit ("/*@i@*/"); llgenindentmsgnoloc (cstring_makeLiteral - ("No errors will be reported from an /*@i@*/ (e.g., /*@i3@*/) comment to the end of the line. If there are not exactly n errors suppressed from the comment point to the end of the line, LCLint will report an error.")); + ("No errors will be reported from an /*@i@*/ (e.g., /*@i3@*/) comment to the end of the line. If there are not exactly n errors suppressed from the comment point to the end of the line, Splint will report an error.")); llmsglit ("/*@t@*/, /*@t@*/"); llgenindentmsgnoloc (cstring_makeLiteral @@ -2006,7 +2015,7 @@ printMail (void) llmsglit ("Mailing Lists"); llmsglit ("-------------"); llmsglit (""); - llmsglit ("There are two mailing lists associated with LCLint: "); + llmsglit ("There are two mailing lists associated with Splint: "); llmsglit (""); llmsglit (" lclint-announce@virginia.edu"); llmsglit (""); @@ -2027,24 +2036,7 @@ printReferences (void) llmsglit ("References"); llmsglit ("----------"); llmsglit (""); - llmsglit ("The LCLint web site is http://lclint.cs.virginia.edu"); - llmsglit (""); - llmsglit ("Technical papers relating to LCLint include:"); - llmsglit (""); - llmsglit (" David Evans. \"Static Detection of Dynamic Memory Errors\"."); - llmsglit (" SIGPLAN Conference on Programming Language Design and "); - llmsglit (" Implementation (PLDI '96), Philadelphia, PA, May 1996."); - llmsglit (""); - llmsglit (" David Evans, John Guttag, Jim Horning and Yang Meng Tan. "); - llmsglit (" \"LCLint: A Tool for Using Specifications to Check Code\"."); - llmsglit (" SIGSOFT Symposium on the Foundations of Software Engineering,"); - llmsglit (" December 1994."); - llmsglit (""); - llmsglit ("A general book on Larch is:"); - llmsglit (""); - llmsglit (" Guttag, John V., Horning, James J., (with Garland, S. J., Jones, "); - llmsglit (" K. D., Modet, A., and Wing, J. M.), \"Larch: Languages and Tools "); - llmsglit (" for Formal Specification\", Springer-Verlag, 1993."); + llmsglit ("For more information, see the Splint web site: http://www.splint.org"); } void @@ -2200,8 +2192,7 @@ cleanupFiles (void) } /* -** cleans up temp files (if necessary) -** exits lclint +** cleans up temp files (if necessary) and exits */ /*@exits@*/ void diff --git a/src/lltok.c b/src/lltok.c index fb7e6ac..3cddcf3 100644 --- a/src/lltok.c +++ b/src/lltok.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** lltok.c diff --git a/src/loopHeuristics.c b/src/loopHeuristics.c index d08a921..52ac309 100644 --- a/src/loopHeuristics.c +++ b/src/loopHeuristics.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* diff --git a/src/lslOpList.c b/src/lslOpList.c index 628e0c7..f188762 100644 --- a/src/lslOpList.c +++ b/src/lslOpList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** lslOpList.c diff --git a/src/lslOpSet.c b/src/lslOpSet.c index 1b12a85..2d84a83 100644 --- a/src/lslOpSet.c +++ b/src/lslOpSet.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* diff --git a/src/lslinit.c b/src/lslinit.c index cdebf62..03284e0 100644 --- a/src/lslinit.c +++ b/src/lslinit.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** lslinit.c diff --git a/src/lslparse.c b/src/lslparse.c index cbca84e..47113f0 100644 --- a/src/lslparse.c +++ b/src/lslparse.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** lslparse.c diff --git a/src/lsymbol.c b/src/lsymbol.c index a386be5..cdd33ba 100644 --- a/src/lsymbol.c +++ b/src/lsymbol.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** lsymbol.c diff --git a/src/lsymbolList.c b/src/lsymbolList.c index 8762f27..7025b9e 100644 --- a/src/lsymbolList.c +++ b/src/lsymbolList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** lsymbolList.c diff --git a/src/lsymbolSet.c b/src/lsymbolSet.c index fbe470c..2c87a9f 100644 --- a/src/lsymbolSet.c +++ b/src/lsymbolSet.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** lsymbolSet.c diff --git a/src/ltoken.c b/src/ltoken.c index 1b4352c..7ac4cc9 100644 --- a/src/ltoken.c +++ b/src/ltoken.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** ltoken.c diff --git a/src/ltokenList.c b/src/ltokenList.c index af97f70..e410bc3 100644 --- a/src/ltokenList.c +++ b/src/ltokenList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** ltokenList.c diff --git a/src/macrocache.c b/src/macrocache.c index be6784e..b0e6d51 100644 --- a/src/macrocache.c +++ b/src/macrocache.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** macrocache.c diff --git a/src/mapping.c b/src/mapping.c index 2dabdd4..fffd30e 100644 --- a/src/mapping.c +++ b/src/mapping.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mapping.c diff --git a/src/message.c b/src/message.c index c65a22d..191eb73 100644 --- a/src/message.c +++ b/src/message.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** message.c diff --git a/src/messageLog.c b/src/messageLog.c index 6c03ed7..f2fcfa4 100644 --- a/src/messageLog.c +++ b/src/messageLog.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** messageLog.c (from slist_template.c) diff --git a/src/metaStateConstraint.c b/src/metaStateConstraint.c index 2a5b572..a4bcc65 100644 --- a/src/metaStateConstraint.c +++ b/src/metaStateConstraint.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** metaStateConstraint.c diff --git a/src/metaStateConstraintList.c b/src/metaStateConstraintList.c index 607105c..381b1fc 100644 --- a/src/metaStateConstraintList.c +++ b/src/metaStateConstraintList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** metaStateConstraintList.c (from slist_template.c) diff --git a/src/metaStateExpression.c b/src/metaStateExpression.c index ae50991..9cbce7d 100644 --- a/src/metaStateExpression.c +++ b/src/metaStateExpression.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** metaStateExpression.c diff --git a/src/metaStateInfo.c b/src/metaStateInfo.c index 8203df2..9941238 100644 --- a/src/metaStateInfo.c +++ b/src/metaStateInfo.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** metaStateInfo.c diff --git a/src/metaStateSpecifier.c b/src/metaStateSpecifier.c index 51e68a7..7314ef4 100644 --- a/src/metaStateSpecifier.c +++ b/src/metaStateSpecifier.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** metaStateSpecifier.c diff --git a/src/metaStateTable.c b/src/metaStateTable.c index cbb63fd..a670f6e 100644 --- a/src/metaStateTable.c +++ b/src/metaStateTable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** metaStateTable.c diff --git a/src/modifiesClause.c b/src/modifiesClause.c index 0bd1f00..1e2b7c3 100644 --- a/src/modifiesClause.c +++ b/src/modifiesClause.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** modifiesClause.c diff --git a/src/mtAnnotationDecl.c b/src/mtAnnotationDecl.c index da10034..f415ac3 100644 --- a/src/mtAnnotationDecl.c +++ b/src/mtAnnotationDecl.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtAnnotationDecl.c diff --git a/src/mtAnnotationList.c b/src/mtAnnotationList.c index 5207953..41e8d48 100644 --- a/src/mtAnnotationList.c +++ b/src/mtAnnotationList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtAnnotationList.c diff --git a/src/mtAnnotationsNode.c b/src/mtAnnotationsNode.c index 388c245..262a993 100644 --- a/src/mtAnnotationsNode.c +++ b/src/mtAnnotationsNode.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtAnnotationsNode.c diff --git a/src/mtContextNode.c b/src/mtContextNode.c index 6c620ba..084de08 100644 --- a/src/mtContextNode.c +++ b/src/mtContextNode.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtContextNode.c diff --git a/src/mtDeclarationNode.c b/src/mtDeclarationNode.c index dd0fbfb..a516731 100644 --- a/src/mtDeclarationNode.c +++ b/src/mtDeclarationNode.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtDeclarationNode.c diff --git a/src/mtDeclarationPiece.c b/src/mtDeclarationPiece.c index ae8ce59..c0e2be5 100644 --- a/src/mtDeclarationPiece.c +++ b/src/mtDeclarationPiece.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtDeclarationPiece.c diff --git a/src/mtDeclarationPieces.c b/src/mtDeclarationPieces.c index eea86ba..2cda39b 100644 --- a/src/mtDeclarationPieces.c +++ b/src/mtDeclarationPieces.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtDeclarationPieces.c diff --git a/src/mtDefaultsDecl.c b/src/mtDefaultsDecl.c index cb976e7..3cca869 100644 --- a/src/mtDefaultsDecl.c +++ b/src/mtDefaultsDecl.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtDefaultsDecl.c diff --git a/src/mtDefaultsDeclList.c b/src/mtDefaultsDeclList.c index 0f985f7..ec6d37a 100644 --- a/src/mtDefaultsDeclList.c +++ b/src/mtDefaultsDeclList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtDefaultsDeclList.c diff --git a/src/mtDefaultsNode.c b/src/mtDefaultsNode.c index 9e24a41..b84ac38 100644 --- a/src/mtDefaultsNode.c +++ b/src/mtDefaultsNode.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtDefaultsNode.c diff --git a/src/mtLoseReference.c b/src/mtLoseReference.c index b68336b..17c24bc 100644 --- a/src/mtLoseReference.c +++ b/src/mtLoseReference.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtLoseReference.c diff --git a/src/mtLoseReferenceList.c b/src/mtLoseReferenceList.c index 5d525e2..d05712c 100644 --- a/src/mtLoseReferenceList.c +++ b/src/mtLoseReferenceList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtLoseReferenceList.c diff --git a/src/mtMergeClause.c b/src/mtMergeClause.c index 64bb275..82fd63a 100644 --- a/src/mtMergeClause.c +++ b/src/mtMergeClause.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtMergeClause.c diff --git a/src/mtMergeClauseList.c b/src/mtMergeClauseList.c index a856caf..6c22765 100644 --- a/src/mtMergeClauseList.c +++ b/src/mtMergeClauseList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtMergeClauseList.c diff --git a/src/mtMergeItem.c b/src/mtMergeItem.c index 5108f7c..0f7d5c7 100644 --- a/src/mtMergeItem.c +++ b/src/mtMergeItem.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtMergeItem.c diff --git a/src/mtMergeNode.c b/src/mtMergeNode.c index 3a58628..3ce25bc 100644 --- a/src/mtMergeNode.c +++ b/src/mtMergeNode.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtMergeNode.c diff --git a/src/mtTransferAction.c b/src/mtTransferAction.c index 0af056f..576d930 100644 --- a/src/mtTransferAction.c +++ b/src/mtTransferAction.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtTransferAction.c diff --git a/src/mtTransferClause.c b/src/mtTransferClause.c index 4f8a700..83abe45 100644 --- a/src/mtTransferClause.c +++ b/src/mtTransferClause.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtTransferClause.c diff --git a/src/mtTransferClauseList.c b/src/mtTransferClauseList.c index 59c29a3..bb73b22 100644 --- a/src/mtTransferClauseList.c +++ b/src/mtTransferClauseList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtTransferClauseList.c diff --git a/src/mtValuesNode.c b/src/mtValuesNode.c index bea9ab8..16c25a7 100644 --- a/src/mtValuesNode.c +++ b/src/mtValuesNode.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtValuesNode.c diff --git a/src/mtreader.c b/src/mtreader.c index 4905bbb..157ec75 100644 --- a/src/mtreader.c +++ b/src/mtreader.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtreader.c diff --git a/src/mtscanner.c b/src/mtscanner.c index 9d822cf..a3e45c0 100644 --- a/src/mtscanner.c +++ b/src/mtscanner.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mtscanner.c diff --git a/src/mttok.c b/src/mttok.c index ca523ac..931dec4 100644 --- a/src/mttok.c +++ b/src/mttok.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** mttok.c - based on lltok.c diff --git a/src/multiVal.c b/src/multiVal.c index 426b050..e3545ce 100644 --- a/src/multiVal.c +++ b/src/multiVal.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** multiVal.c diff --git a/src/nameChecks.c b/src/nameChecks.c index e6bfe86..7a93492 100644 --- a/src/nameChecks.c +++ b/src/nameChecks.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** nameChecks.c diff --git a/src/osd.c b/src/osd.c index 8bd823e..1ea84ef 100644 --- a/src/osd.c +++ b/src/osd.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** osd.c diff --git a/src/pairNodeList.c b/src/pairNodeList.c index 7510b27..98c517e 100644 --- a/src/pairNodeList.c +++ b/src/pairNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** pairNodeList.c diff --git a/src/paramNodeList.c b/src/paramNodeList.c index 28133a3..8549612 100644 --- a/src/paramNodeList.c +++ b/src/paramNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** paramNodeList.c diff --git a/src/programNodeList.c b/src/programNodeList.c index 1e3b17d..21f44fb 100644 --- a/src/programNodeList.c +++ b/src/programNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** programNodeList.c diff --git a/src/qtype.c b/src/qtype.c index adfc27b..042527b 100644 --- a/src/qtype.c +++ b/src/qtype.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** qtype.c diff --git a/src/qual.c b/src/qual.c index a24dc36..288de13 100644 --- a/src/qual.c +++ b/src/qual.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** qual.c diff --git a/src/qualList.c b/src/qualList.c index aa34524..83cb531 100644 --- a/src/qualList.c +++ b/src/qualList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** qualList.c (from slist_template.c) diff --git a/src/quantifierNodeList.c b/src/quantifierNodeList.c index 2ebb4b8..0874c61 100644 --- a/src/quantifierNodeList.c +++ b/src/quantifierNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** quantifierNodeList.c diff --git a/src/randomNumbers.c b/src/randomNumbers.c index 40d13e8..f438dd7 100644 --- a/src/randomNumbers.c +++ b/src/randomNumbers.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** randomNumbers.c diff --git a/src/rangeTable.c b/src/rangeTable.c index 2c8e407..0b67c72 100644 --- a/src/rangeTable.c +++ b/src/rangeTable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2000 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** rangeTable.c @@ -279,7 +279,7 @@ static /*@only@*/ sRefSet rangeTable_rangeedByAux (rangeTable s, sRef sr, int li llquietbug (message ("Range search limit exceeded, checking %q. " "This either means there is a variable with at least " - "%d indirections, or there is a bug in LCLint.", + "%d indirections, or there is a bug in Splint.", sRef_unparse (sr), RANGESEARCHLIMIT)); @@ -436,7 +436,7 @@ static /*@only@*/ sRefSet llquietbug (message ("Range search limit exceeded, checking %q. " "This either means there is a variable with at least " - "%d indirections, or there is a bug in LCLint.", + "%d indirections, or there is a bug in Splint.", sRef_unparse (sr), RANGESEARCHLIMIT)); diff --git a/src/reader.c b/src/reader.c index a1ed271..f0e6fff 100644 --- a/src/reader.c +++ b/src/reader.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** reader.c diff --git a/src/replaceNodeList.c b/src/replaceNodeList.c index ec74838..2477a4f 100644 --- a/src/replaceNodeList.c +++ b/src/replaceNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** replaceNodeList.c diff --git a/src/sRef.c b/src/sRef.c index f0a6818..6518dac 100644 --- a/src/sRef.c +++ b/src/sRef.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** storeRef.c @@ -3384,7 +3384,7 @@ sRef_getRootBaseAux (sRef s, int depth) ("Warning: reference base limit exceeded for %q. " "This either means there is a variable with at least " "%d indirections from this reference, or " - "there is a bug in LCLint.", + "there is a bug in Splint.", sRef_unparse (s), MAXBASEDEPTH), g_currentloc); @@ -4647,7 +4647,7 @@ static /*@exposed@*/ sRef whatUndefined (/*@exposed@*/ sRef fref, int depth) ("Warning: check definition limit exceeded, checking %q. " "This either means there is a variable with at least " "%d indirections apparent in the program text, or " - "there is a bug in LCLint.", + "there is a bug in Splint.", sRef_unparse (fref), MAXDEPTH), g_currentloc); diff --git a/src/sRefList.c b/src/sRefList.c index d32654f..bb616f1 100644 --- a/src/sRefList.c +++ b/src/sRefList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** sRefList.c (from slist_template.c) diff --git a/src/sRefSet.c b/src/sRefSet.c index 9dc60f6..eda62a2 100644 --- a/src/sRefSet.c +++ b/src/sRefSet.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** sRefSet.c diff --git a/src/sRefSetList.c b/src/sRefSetList.c index 37f426d..7845ede 100644 --- a/src/sRefSetList.c +++ b/src/sRefSetList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** sRefSetList.c diff --git a/src/sRefTable.c b/src/sRefTable.c index 28afd5a..36ab074 100644 --- a/src/sRefTable.c +++ b/src/sRefTable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** sRefTable.c diff --git a/src/scan.c b/src/scan.c index d795e76..f936dd8 100644 --- a/src/scan.c +++ b/src/scan.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** scan.c diff --git a/src/scanline.c b/src/scanline.c index 86519f4..2c5d46c 100644 --- a/src/scanline.c +++ b/src/scanline.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** scanline.c diff --git a/src/shift.c b/src/shift.c index 7a11296..0117302 100644 --- a/src/shift.c +++ b/src/shift.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* diff --git a/src/sigNodeSet.c b/src/sigNodeSet.c index 74a5b42..540fec7 100644 --- a/src/sigNodeSet.c +++ b/src/sigNodeSet.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** sigNodeSet.c diff --git a/src/signature.c.der b/src/signature.c.der index c7c4d73..a91518d 100644 --- a/src/signature.c.der +++ b/src/signature.c.der @@ -107,7 +107,7 @@ #define LST_unionTOKEN 300 #define LST_BADTOKEN 301 -#line 36 "signature.y" +#line 32 "signature.y" # include @@ -132,7 +132,7 @@ static void yyprint (/*FILE *p_file, int p_type, YYSTYPE p_value */); /*@-nullassign@*/ -#line 73 "signature.y" +#line 69 "signature.y" typedef union { ltoken ltok; /* a leaf is also an ltoken */ unsigned int count; @@ -225,10 +225,10 @@ static const short yyrhs[] = { 49, #if YYDEBUG != 0 static const short yyrline[] = { 0, - 141, 143, 148, 152, 158, 160, 164, 166, 168, 170, - 172, 174, 176, 178, 180, 183, 186, 189, 192, 195, - 198, 203, 208, 210, 212, 215, 217, 220, 222, 225, - 227, 230, 233, 235, 238, 240, 243, 249 + 137, 139, 144, 148, 154, 156, 160, 162, 164, 166, + 168, 170, 172, 174, 176, 179, 182, 185, 188, 191, + 194, 199, 204, 206, 208, 211, 213, 216, 218, 221, + 223, 226, 229, 231, 234, 236, 239, 245 }; #endif @@ -859,170 +859,170 @@ yyreduce: switch (yyn) { case 1: -#line 141 "signature.y" +#line 137 "signature.y" { lslOpList_free (yyvsp[0].operators); ; break;} case 2: -#line 144 "signature.y" +#line 140 "signature.y" { lslOpList x = lslOpList_new (); g_importedlslOp = yyvsp[0].operator; lslOpList_add (x, yyvsp[0].operator); yyval.operators = x; ; break;} case 3: -#line 149 "signature.y" +#line 145 "signature.y" { lslOpList_add (yyvsp[-1].operators, yyvsp[0].operator); yyval.operators = yyvsp[-1].operators; ; break;} case 4: -#line 153 "signature.y" +#line 149 "signature.y" { yyval.operator = makelslOpNode (yyvsp[-2].name, yyvsp[0].signature); ; break;} case 5: -#line 159 "signature.y" +#line 155 "signature.y" { yyval.name = makeNameNodeId (yyvsp[0].ltok); ; break;} case 6: -#line 161 "signature.y" +#line 157 "signature.y" { yyval.name = makeNameNodeForm (yyvsp[0].opform); ; break;} case 7: -#line 165 "signature.y" +#line 161 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[-5].ltok, OPF_IF, opFormUnion_createMiddle (0), ltoken_undefined); ; break;} case 8: -#line 167 "signature.y" +#line 163 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[0].ltok, OPF_ANYOP, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ; break;} case 9: -#line 169 "signature.y" +#line 165 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_MANYOP, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ; break;} case 10: -#line 171 "signature.y" +#line 167 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_ANYOPM, opFormUnion_createAnyOp (yyvsp[-1].ltok), ltoken_undefined); ; break;} case 11: -#line 173 "signature.y" +#line 169 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MANYOPM, opFormUnion_createAnyOp (yyvsp[-1].ltok), ltoken_undefined); ; break;} case 12: -#line 175 "signature.y" +#line 171 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ; break;} case 13: -#line 177 "signature.y" +#line 173 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MMIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ; break;} case 14: -#line 179 "signature.y" +#line 175 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_MIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ; break;} case 15: -#line 181 "signature.y" +#line 177 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_MMIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ; break;} case 16: -#line 184 "signature.y" +#line 180 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_BMIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ; break;} case 17: -#line 187 "signature.y" +#line 183 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_BMMIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ; break;} case 18: -#line 190 "signature.y" +#line 186 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_BMIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ; break;} case 19: -#line 193 "signature.y" +#line 189 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_BMMIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ; break;} case 20: -#line 196 "signature.y" +#line 192 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_SELECT, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ; break;} case 21: -#line 199 "signature.y" +#line 195 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MSELECT, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ; break;} case 22: -#line 204 "signature.y" +#line 200 "signature.y" { yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MMAP, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ; break;} case 23: -#line 209 "signature.y" +#line 205 "signature.y" { yyval.ltok = yyvsp[0].ltok; ; break;} case 24: -#line 211 "signature.y" +#line 207 "signature.y" { yyval.ltok = yyvsp[0].ltok; ; break;} case 25: -#line 213 "signature.y" +#line 209 "signature.y" { yyval.ltok = yyvsp[0].ltok; ; break;} case 26: -#line 216 "signature.y" +#line 212 "signature.y" { yyval.count = 0; ; break;} case 27: -#line 218 "signature.y" +#line 214 "signature.y" { yyval.count = yyvsp[0].count; ; break;} case 28: -#line 221 "signature.y" +#line 217 "signature.y" { yyval.count = 1; ; break;} case 29: -#line 223 "signature.y" +#line 219 "signature.y" { yyval.count = yyvsp[-2].count + 1; ; break;} case 30: -#line 226 "signature.y" +#line 222 "signature.y" { yyval.ltok = yyvsp[0].ltok; ; break;} case 31: -#line 228 "signature.y" +#line 224 "signature.y" { yyval.ltok = yyvsp[0].ltok; ; break;} case 32: -#line 231 "signature.y" +#line 227 "signature.y" { yyval.signature = makesigNode (yyvsp[-1].ltok, yyvsp[-2].ltokenList, yyvsp[0].ltok); ; break;} case 33: -#line 234 "signature.y" +#line 230 "signature.y" { yyval.ltokenList = ltokenList_new (); ; break;} case 34: -#line 236 "signature.y" +#line 232 "signature.y" { yyval.ltokenList = yyvsp[0].ltokenList; ; break;} case 35: -#line 239 "signature.y" +#line 235 "signature.y" { yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ; break;} case 36: -#line 241 "signature.y" +#line 237 "signature.y" { yyval.ltokenList = ltokenList_push (yyvsp[-2].ltokenList, yyvsp[0].ltok); ; break;} case 37: -#line 244 "signature.y" +#line 240 "signature.y" { yyval.ltok = yyvsp[0].ltok; ltoken_setText (yyval.ltok, processTraitSortId (ltoken_getText (yyvsp[0].ltok))); ; break;} case 38: -#line 250 "signature.y" +#line 246 "signature.y" { yyval.ltok = yyvsp[0].ltok; ; break;} } @@ -1247,7 +1247,7 @@ yyerrhandle: } return 1; } -#line 251 "signature.y" +#line 247 "signature.y" # include "bison.reset" diff --git a/src/signature.y b/src/signature.y index d617671..1201d4e 100644 --- a/src/signature.y +++ b/src/signature.y @@ -1,36 +1,32 @@ /*;-*-C-*-; -** Copyright (c) Massachusetts Institute of Technology 1994-1998. -** All Rights Reserved. -** Unpublished rights reserved under the copyright laws of -** the United States. +** Splint - annotation-assisted static program checker +** Copyright (C) 1994-2001 University of Virginia, +** Massachusetts Institute of Technology ** -** THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED -** OR IMPLIED. ANY USE IS AT YOUR OWN RISK. -** -** This code is distributed freely and may be used freely under the -** following conditions: -** -** 1. This notice may not be removed or altered. +** This program is free software; you can redistribute it and/or modify it +** under the terms of the GNU General Public License as published by the +** Free Software Foundation; either version 2 of the License, or (at your +** option) any later version. +** +** This program is distributed in the hope that it will be useful, but +** WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** General Public License for more details. +** +** The GNU General Public License is available from http://www.gnu.org/ or +** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, +** MA 02111-1307, USA. ** -** 2. Works derived from this code are not distributed for -** commercial gain without explicit permission from MIT -** (for permission contact lclint-request@sds.lcs.mit.edu). +** For information on lclint: lclint-request@cs.virginia.edu +** To report a bug: lclint-bug@cs.virginia.edu +** For more information: http://www.splint.org */ /* -** Copyright (c) Massachusetts Institute of Technology, 1993 -** All Rights Reserved. Unpublished rights reserved -** under the copyright laws of the United States. -**++ -** FACILITY: LSLC -** -** MODULE DESCRIPTION: +** signature.y ** -** FILENAME: signature.y +** Grammar for parsing LSL signatures. ** -** PURPOSE: bison grammar for LSL signatures. -** -** AUTHOR: -** Yang Meng Tan, Massachusetts Institute of Technology +** Original author: Yang Meng Tan, Massachusetts Institute of Technology */ %{ diff --git a/src/sort.c b/src/sort.c index 73818b7..b9b72ac 100644 --- a/src/sort.c +++ b/src/sort.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** sort.c @@ -2399,7 +2399,7 @@ sort_dump (FILE *f, bool lco) } else { - llcontbug (message ("Invalid sort in sort_dump: sort %d; sortname: %s. This may result from using .lcs files produced by an old version of LCLint. Remove the .lcs files, and rerun LCLint.", + llcontbug (message ("Invalid sort in sort_dump: sort %d; sortname: %s. This may result from using .lcs files produced by an old version of LCLint. Remove the .lcs files, and rerun Splint.", i, lsymbol_toString (s->name))); fprintf (f, "sort _error_ "); } diff --git a/src/sortList.c b/src/sortList.c index 930a6d9..7512813 100644 --- a/src/sortList.c +++ b/src/sortList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** sortList.c diff --git a/src/sortSet.c b/src/sortSet.c index 578b3cc..80e74e3 100644 --- a/src/sortSet.c +++ b/src/sortSet.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** sortSet.c diff --git a/src/sortSetList.c b/src/sortSetList.c index f449829..0f89e0c 100644 --- a/src/sortSetList.c +++ b/src/sortSetList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** sortSetList.c diff --git a/src/source.c b/src/source.c index db6fc2a..fe12ac8 100644 --- a/src/source.c +++ b/src/source.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2000 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** source.c diff --git a/src/specialClauses.c b/src/specialClauses.c index 6fc6ab6..0118656 100644 --- a/src/specialClauses.c +++ b/src/specialClauses.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2000 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** specialClauses.c diff --git a/src/stDeclNodeList.c b/src/stDeclNodeList.c index ddf5e45..f513abd 100644 --- a/src/stDeclNodeList.c +++ b/src/stDeclNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** structDeclNodeList.c diff --git a/src/stateClause.c b/src/stateClause.c index 7a586af..965e55f 100644 --- a/src/stateClause.c +++ b/src/stateClause.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** stateClause.c diff --git a/src/stateClauseList.c b/src/stateClauseList.c index 02fd72c..861cb51 100644 --- a/src/stateClauseList.c +++ b/src/stateClauseList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** stateClauseList.c diff --git a/src/stateCombinationTable.c b/src/stateCombinationTable.c index 2259e33..4d7966e 100644 --- a/src/stateCombinationTable.c +++ b/src/stateCombinationTable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** stateCombinationTable.c diff --git a/src/stateInfo.c b/src/stateInfo.c index 06542e5..d4197ad 100644 --- a/src/stateInfo.c +++ b/src/stateInfo.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ # include "lclintMacros.nf" diff --git a/src/stateValue.c b/src/stateValue.c index cd8ad8c..747a7ab 100644 --- a/src/stateValue.c +++ b/src/stateValue.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** stateValue.c diff --git a/src/storeRefNodeList.c b/src/storeRefNodeList.c index de71c3c..9abbb65 100644 --- a/src/storeRefNodeList.c +++ b/src/storeRefNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** storeRefNodeList.c diff --git a/src/structNames.c b/src/structNames.c index 2ab2151..61e2316 100644 --- a/src/structNames.c +++ b/src/structNames.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** structNames.c diff --git a/src/symtable.c b/src/symtable.c index 48219a3..dc80be9 100644 --- a/src/symtable.c +++ b/src/symtable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** symtable.c @@ -519,7 +519,7 @@ symtable_enterType (symtable stable, /*@only@*/ typeInfo ti) /* symtable_disp (stable); */ - if (k != SPE_GLOBAL && k != SPE_INVALID) /* fixed for LCLint */ + if (k != SPE_GLOBAL && k != SPE_INVALID) /* fixed for Splint */ { llbug (message ("%q: symtable_enterType: expect global scope. (type: %s)", ltoken_unparseLoc (ti->id), diff --git a/src/syntable.c b/src/syntable.c index 8aa62ee..12a62bb 100644 --- a/src/syntable.c +++ b/src/syntable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** syntable.c diff --git a/src/termNodeList.c b/src/termNodeList.c index faf0ba1..94eea9c 100644 --- a/src/termNodeList.c +++ b/src/termNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** termNodeList.c diff --git a/src/tokentable.c b/src/tokentable.c index 7d94a12..1fadc8f 100644 --- a/src/tokentable.c +++ b/src/tokentable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** tokentable.c diff --git a/src/traitRefNodeList.c b/src/traitRefNodeList.c index 22c2a8f..58ae045 100644 --- a/src/traitRefNodeList.c +++ b/src/traitRefNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** traitRefNodeList.c diff --git a/src/transferChecks.c b/src/transferChecks.c index aa2dd4d..942ea46 100644 --- a/src/transferChecks.c +++ b/src/transferChecks.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** transferChecks.c @@ -305,7 +305,7 @@ checkCompletelyDefined (exprNode fexp, /*@exposed@*/ sRef fref, sRef ofref, ("Check definition limit exceeded, checking %q. " "This either means there is a variable with at least " "%d indirections apparent in the program text, or " - "there is a bug in LCLint.", + "there is a bug in Splint.", sRef_unparse (fref), MAXDEPTH)); diff --git a/src/typeIdSet.c b/src/typeIdSet.c index fd7eb2d..6efab62 100644 --- a/src/typeIdSet.c +++ b/src/typeIdSet.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** typeIdSet.c diff --git a/src/typeNameNodeList.c b/src/typeNameNodeList.c index 3a4cbc0..eb8e4bd 100644 --- a/src/typeNameNodeList.c +++ b/src/typeNameNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** typeNameNodeList.c diff --git a/src/uentry.c b/src/uentry.c index 91870bf..745635c 100644 --- a/src/uentry.c +++ b/src/uentry.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** uentry.c @@ -1612,9 +1612,9 @@ uentry_setPreconditions (uentry ue, /*@only@*/ functionConstraint preconditions) if (functionConstraint_isDefined (ue->info->fcn->preconditions)) { /* drl 11-29-2001 - I changed this so it didn't appear as an LCLint bug + I changed this so it didn't appear as a Splint bug among other things this gets triggered when there is - a function with two requires clauses. Now LCLint + a function with two requires clauses. Now Splint prints an error and tries to conjoin the lists. */ llparseerror diff --git a/src/uentryList.c b/src/uentryList.c index 0023801..3ec17f1 100644 --- a/src/uentryList.c +++ b/src/uentryList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** uentryList.c (from slist_template.c) diff --git a/src/usymIdSet.c b/src/usymIdSet.c index 68f9e9f..bf2e5f3 100644 --- a/src/usymIdSet.c +++ b/src/usymIdSet.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** usymIdSet.c diff --git a/src/usymtab.c b/src/usymtab.c index 1622d64..bcbc4ab 100644 --- a/src/usymtab.c +++ b/src/usymtab.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** usymtab diff --git a/src/usymtab_interface.c b/src/usymtab_interface.c index 7bc8add..c143fb4 100644 --- a/src/usymtab_interface.c +++ b/src/usymtab_interface.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,14 +19,14 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** usymtab_interface.c ** ** Grammar interface to symtab. ** -** The LCLint parser will build symbol tables for abstract types and +** The Splint parser will build symbol tables for abstract types and ** function declarations. ** */ @@ -1647,7 +1647,7 @@ static llmsg (message ("%q: Warning: object and type modifications " - "not understood by LCLint", + "not understood by Splint", fileloc_unparse (loc))); fileloc_free (loc); shownWarning = TRUE; diff --git a/src/valueTable.c b/src/valueTable.c index 08d3e33..2ce1b01 100644 --- a/src/valueTable.c +++ b/src/valueTable.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** valueTable.c diff --git a/src/varDeclarationNodeList.c b/src/varDeclarationNodeList.c index fe619f2..b59a537 100644 --- a/src/varDeclarationNodeList.c +++ b/src/varDeclarationNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** varDeclarationNodeList.c diff --git a/src/varKinds.c b/src/varKinds.c index 7c483ee..160818f 100644 --- a/src/varKinds.c +++ b/src/varKinds.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** varKinds.c diff --git a/src/varNodeList.c b/src/varNodeList.c index 7759212..96f8e60 100644 --- a/src/varNodeList.c +++ b/src/varNodeList.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** varNodeList.c diff --git a/src/warnClause.c b/src/warnClause.c index 059ec9a..355f738 100644 --- a/src/warnClause.c +++ b/src/warnClause.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** warnClause.c diff --git a/src/ynm.c b/src/ynm.c index a30119b..ea5b4f4 100644 --- a/src/ynm.c +++ b/src/ynm.c @@ -1,5 +1,5 @@ /* -** LCLint - annotation-assisted static program checker +** Splint - annotation-assisted static program checker ** Copyright (C) 1994-2001 University of Virginia, ** Massachusetts Institute of Technology ** @@ -19,7 +19,7 @@ ** ** For information on lclint: lclint-request@cs.virginia.edu ** To report a bug: lclint-bug@cs.virginia.edu -** For more information: http://lclint.cs.virginia.edu +** For more information: http://www.splint.org */ /* ** ynm.c diff --git a/test/Makefile.am b/test/Makefile.am index 46d23cd..bbb4fbd 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -6,27 +6,27 @@ AUTOMAKE_OPTIONS = 1.5 foreign ## Use this to configure diff output DIFFFLAGS = -u -## Set up the lclint commands +## Set up the splint commands -LCLINT = $(top_builddir)/src/lclint$(EXEEXT) +SPLINT = $(top_builddir)/src/splint$(EXEEXT) unexport LARCH_PATH unexport LCLIMPORTDIR ### This is horrible! Can't we make top_builddir absolute? -LCLINTNEST = ../$(top_builddir)/src/lclint$(EXEEXT) +SPLINTNEST = ../$(top_builddir)/src/splint$(EXEEXT) -LCLINTPNEST = @$(LCLINTNEST) -LCLINTP = @$(LCLINT) +SPLINTPNEST = @$(SPLINTNEST) +SPLINTP = @$(SPLINT) -# Make sure .lclintrc files are not used so test results do not +# Make sure .splintrc files are not used so test results do not # depend on local settings. -LCLINTRN = $(LCLINTP) -nof -hints -booltype "bool" -LCLINTR = $(LCLINTRN) -exportlocal +debugfcnconstraint +SPLINTRN = $(SPLINTP) -nof -hints -booltype "bool" +SPLINTR = $(SPLINTRN) -exportlocal +debugfcnconstraint -LCLINTRNNEST = $(LCLINTPNEST) -nof -hints -booltype "bool" -LCLINTRNEST = $(LCLINTRNNEST) -exportlocal +debugfcnconstraint +SPLINTRNNEST = $(SPLINTPNEST) -nof -hints -booltype "bool" +SPLINTRNEST = $(SPLINTRNNEST) -exportlocal +debugfcnconstraint ## Currently disabled tests: ## fileio tainted mergestate nullret nullassign warnuse metastate \ @@ -62,7 +62,7 @@ UNITEXPECTS = $(addsuffix .expect, $(UNITTESTS)) INTEGTESTS = db1 db2 db3 INTEGEXPECTS = $(addsuffix .expect, $(INTEGTESTS)) -LCLINTTESTS = $(UNITTESTS) $(INTEGTESTS) +SPLINTTESTS = $(UNITTESTS) $(INTEGTESTS) QUICKTESTS = db3 @@ -71,17 +71,17 @@ all check: fulltest .PHONY: version version: - -$(LCLINTP) -help version + -$(SPLINTP) -help version .PHONY: help help: - -@$(LCLINTP) - -@LARCH_PATH=/dev/null; $(LCLINT) empty.lcl - -@$(LCLINTP) -help - -@$(LCLINTP) -asdf - -@$(LCLINTP) +boolint +boolint - -@$(LCLINTP) -help flags alpha - -@$(LCLINTP) -help flags all + -@$(SPLINTP) + -@LARCH_PATH=/dev/null; $(SPLINT) empty.lcl + -@$(SPLINTP) -help + -@$(SPLINTP) -asdf + -@$(SPLINTP) +boolint +boolint + -@$(SPLINTP) -help flags alpha + -@$(SPLINTP) -help flags all .PHONY: clean-local clean-local: @@ -90,11 +90,11 @@ clean-local: -cd db2; $(MAKE) clean -cd db3; $(MAKE) clean -## All tests need lclint to be built +## All tests need splint to be built -$(LCLINTTESTS): $(LCLINT) +$(SPLINTTESTS): $(SPLINT) -$(LCLINT): +$(SPLINT): cd $(top_builddir)/src; $(MAKE) ## This is a kludgey way of processing the output to make it match exactly @@ -104,7 +104,7 @@ $(LCLINT): ## not supported). ## The tests should really be re-done as shell-scripts or something... maybe ## autotest could be used once it's finished. -CLEANOUTPUT = $(GREP) -v "LCLint 3." | $(GREP) -v "$(LCLINT)" | $(GREP) -v "^make.*\[[1-9]*\]:" +CLEANOUTPUT = $(GREP) -v "Splint 3." | $(GREP) -v "$(SPLINT)" | $(GREP) -v "^make.*\[[1-9]*\]:" ## Not real C code @@ -139,8 +139,8 @@ fulltest: @echo "Testing $(PACKAGE) $(VERSION)..." @echo @echo "Version Info:" - @$(LCLINTP) -help version - @$(LCLINTP) -help vars + @$(SPLINTP) -help version + @$(SPLINTP) -help vars @echo "" @echo "Unit tests:" @echo "" @@ -168,26 +168,26 @@ SUBDIRTESTS = metastate mergestate tainted fileio warnuse ensuresclauses \ .PHONY: abstptr abstptr: - $(LCLINTR) abstptr -expect 9 - $(LCLINTR) abstptr +voidabstract -expect 6 + $(SPLINTR) abstptr -expect 9 + $(SPLINTR) abstptr +voidabstract -expect 6 .PHONY: abstract abstract: - $(LCLINTR) abst_t.lcl commentcmd.c -expect 15 + $(SPLINTR) abst_t.lcl commentcmd.c -expect 15 .PHONY: alias alias: - $(LCLINTR) +lh mut - $(LCLINTR) mut alias +globalias -expect 19 - $(LCLINTR) mut alias2 +globalias -expect 17 - $(LCLINTR) +lh alias3 -expect 14 - $(LCLINTR) +lh alias4 +boolint - $(LCLINTR) alias4 -pred +retalias -expect 6 - $(LCLINTR) +lh alias5 +memchecks -null -specundef -expect 5 + $(SPLINTR) +lh mut + $(SPLINTR) mut alias +globalias -expect 19 + $(SPLINTR) mut alias2 +globalias -expect 17 + $(SPLINTR) +lh alias3 -expect 14 + $(SPLINTR) +lh alias4 +boolint + $(SPLINTR) alias4 -pred +retalias -expect 6 + $(SPLINTR) +lh alias5 +memchecks -null -specundef -expect 5 .PHONY: alttypes alttypes: - $(LCLINTR) alttypes.c -expect 2 + $(SPLINTR) alttypes.c -expect 2 ### ### evans 2001-06-07 - updated nameCheck.c to reflect C9X. @@ -199,119 +199,119 @@ alttypes: .PHONY: ansireserved ansireserved: - $(LCLINTR) ansireserved.c +ansireserved -nolib -expect 9 - $(LCLINTR) ansireserved.c +ansireserved +ansireservedlocal -nolib -expect 11 - $(LCLINTRN) ansireserved.c +checks -exportlocal -exportheadervar -exportheader -expect 12 - $(LCLINTR) ansireserved2.c +ansireserved -expect 1 + $(SPLINTR) ansireserved.c +ansireserved -nolib -expect 9 + $(SPLINTR) ansireserved.c +ansireserved +ansireservedlocal -nolib -expect 11 + $(SPLINTRN) ansireserved.c +checks -exportlocal -exportheadervar -exportheader -expect 12 + $(SPLINTR) ansireserved2.c +ansireserved -expect 1 .PHONY: argorder argorder: - $(LCLINTR) argorder.c -expect 4 - $(LCLINTR) argorder2 -expect 5 - $(LCLINTR) argorder3.c -expect 8 - $(LCLINTR) argorder4 -expect 9 - $(LCLINTR) argorder4 -evalorder -expect 1 - $(LCLINTR) argorder5.c +evalorderuncon -expect 3 + $(SPLINTR) argorder.c -expect 4 + $(SPLINTR) argorder2 -expect 5 + $(SPLINTR) argorder3.c -expect 8 + $(SPLINTR) argorder4 -expect 9 + $(SPLINTR) argorder4 -evalorder -expect 1 + $(SPLINTR) argorder5.c +evalorderuncon -expect 3 .PHONY: args args: - $(LCLINTR) args -noeffect -expect 12 + $(SPLINTR) args -noeffect -expect 12 .PHONY: blocks blocks: - $(LCLINTR) blocks.c -expect 4 - $(LCLINTR) blocks.c +ifblock +elseifcomplete -expect 7 - $(LCLINTR) blocks.c -ifempty +whileempty +whileblock -expect 3 - $(LCLINTR) blocks.c -ifempty +forempty +forblock -expect 3 - $(LCLINTR) blocks.c +allempty -expect 6 - $(LCLINTRN) blocks.c +strict -exportlocal +partial -exportheader -expect 11 + $(SPLINTR) blocks.c -expect 4 + $(SPLINTR) blocks.c +ifblock +elseifcomplete -expect 7 + $(SPLINTR) blocks.c -ifempty +whileempty +whileblock -expect 3 + $(SPLINTR) blocks.c -ifempty +forempty +forblock -expect 3 + $(SPLINTR) blocks.c +allempty -expect 6 + $(SPLINTRN) blocks.c +strict -exportlocal +partial -exportheader -expect 11 .PHONY: break break: - $(LCLINTR) break.c -expect 4 - $(LCLINTR) break.c +deepbreak -expect 6 - $(LCLINTR) break.c +deepbreak -looploopbreak -expect 5 + $(SPLINTR) break.c -expect 4 + $(SPLINTR) break.c +deepbreak -expect 6 + $(SPLINTR) break.c +deepbreak -looploopbreak -expect 5 .PHONY: cases cases: - $(LCLINTR) cases.c -expect 5 - $(LCLINTR) cases2.c -expect 2 - $(LCLINTRN) cases2.c +checks -exportlocal -exportheader -expect 3 - $(LCLINTRN) cases2.c +checks -exportlocal -exportheader -branchstate -expect 3 + $(SPLINTR) cases.c -expect 5 + $(SPLINTR) cases2.c -expect 2 + $(SPLINTRN) cases2.c +checks -exportlocal -exportheader -expect 3 + $(SPLINTRN) cases2.c +checks -exportlocal -exportheader -branchstate -expect 3 .PHONY: cast cast: - $(LCLINTR) cast -accessmodule -expect 20 - $(LCLINTRN) cast2.c +checks -exportlocal -exportheader -expect 3 + $(SPLINTR) cast -accessmodule -expect 20 + $(SPLINTRN) cast2.c +checks -exportlocal -exportheader -expect 3 ### Two addition errors detected with 2.5 with -numliteral. .PHONY: charlit charlit: - $(LCLINTR) +hints charlit.c -expect 4 - $(LCLINTR) +hints -numliteral charlit.c -expect 6 - $(LCLINTR) +hints charlit.c +charintliteral +ignoresigns + $(SPLINTR) +hints charlit.c -expect 4 + $(SPLINTR) +hints -numliteral charlit.c -expect 6 + $(SPLINTR) +hints charlit.c +charintliteral +ignoresigns .PHONY: clauses clauses: - $(LCLINTR) clauses.c +memchecks -expect 4 - $(LCLINTR) clauses2.c +memchecks - $(LCLINTR) clauses3.c +memchecks -expect 2 - $(LCLINTR) clauses3.c +memchecks +unixlib -expect 3 + $(SPLINTR) clauses.c +memchecks -expect 4 + $(SPLINTR) clauses2.c +memchecks + $(SPLINTR) clauses3.c +memchecks -expect 2 + $(SPLINTR) clauses3.c +memchecks +unixlib -expect 3 .PHONY: commentchar commentchar: - $(LCLINTR) commentchar.c -expect 4 - $(LCLINTR) -commentchar '#' commentchar.c -expect 4 + $(SPLINTR) commentchar.c -expect 4 + $(SPLINTR) -commentchar '#' commentchar.c -expect 4 .PHONY: controldepth controldepth: - $(LCLINTR) +hints -controlnestdepth 2 controldepth.c -expect 2 - $(LCLINTR) +hints -controlnestdepth 1 controldepth.c -expect 2 + $(SPLINTR) +hints -controlnestdepth 2 controldepth.c -expect 2 + $(SPLINTR) +hints -controlnestdepth 1 controldepth.c -expect 2 .PHONY: compdestroy compdestroy: - $(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader -expect 1 - $(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy -expect 2 - $(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3 - $(LCLINTRN) compdestroy.c +strict +partial -exportheader -expect 3 + $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader -expect 1 + $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy -expect 2 + $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3 + $(SPLINTRN) compdestroy.c +strict +partial -exportheader -expect 3 .PHONY: constannot constannot: - ${LCLINTRN} constannot.c +arraybounds -exportlocal -expect 2 + ${SPLINTRN} constannot.c +arraybounds -exportlocal -expect 2 .PHONY: csyntax csyntax: - $(LCLINTR) +quiet -incondefs csyntax.c -expect 1 - $(LCLINTR) +quiet csyntax2.c -expect 2 - $(LCLINTR) +quiet csyntax3.c -expect 1 - $(LCLINTR) +quiet -incondefs csyntax4.c - $(LCLINTR) +quiet csyntax5.c - $(LCLINTR) +quiet csyntax6.c - $(LCLINTR) +quiet csyntax7.c - $(LCLINTR) +quiet csyntax8.c - $(LCLINTR) +quiet csyntax9.c - $(LCLINTR) +quiet csyntax10.c - $(LCLINTR) +quiet csyntax11.c - $(LCLINTR) +quiet csyntax12.c - $(LCLINTR) +quiet csyntax13.c -expect 1 - $(LCLINTR) +quiet csyntax14.c - $(LCLINTR) +quiet csyntax15.c - $(LCLINTR) +quiet csyntax16.c -expect 2 - $(LCLINTR) +quiet csyntax17.c -expect 3 + $(SPLINTR) +quiet -incondefs csyntax.c -expect 1 + $(SPLINTR) +quiet csyntax2.c -expect 2 + $(SPLINTR) +quiet csyntax3.c -expect 1 + $(SPLINTR) +quiet -incondefs csyntax4.c + $(SPLINTR) +quiet csyntax5.c + $(SPLINTR) +quiet csyntax6.c + $(SPLINTR) +quiet csyntax7.c + $(SPLINTR) +quiet csyntax8.c + $(SPLINTR) +quiet csyntax9.c + $(SPLINTR) +quiet csyntax10.c + $(SPLINTR) +quiet csyntax11.c + $(SPLINTR) +quiet csyntax12.c + $(SPLINTR) +quiet csyntax13.c -expect 1 + $(SPLINTR) +quiet csyntax14.c + $(SPLINTR) +quiet csyntax15.c + $(SPLINTR) +quiet csyntax16.c -expect 2 + $(SPLINTR) +quiet csyntax17.c -expect 3 .PHONY: czechnames czechnames: - $(LCLINTR) czechnames.c - $(LCLINTR) +hints +czech czechnames.c -expect 2 - $(LCLINTR) +hints +czech -czechvars czechnames.c -expect 1 - $(LCLINTR) +hints +czech -accessczech czechnames.c -expect 6 + $(SPLINTR) czechnames.c + $(SPLINTR) +hints +czech czechnames.c -expect 2 + $(SPLINTR) +hints +czech -czechvars czechnames.c -expect 1 + $(SPLINTR) +hints +czech -accessczech czechnames.c -expect 6 .PHONY: czechoslovaknames czechoslovaknames: - $(LCLINTR) +hints +czechoslovak czechnames.c -expect 1 - $(LCLINTR) +hints +czechoslovak slovaknames.c -expect 1 - $(LCLINTR) +hints +czechoslovak +slovakvars slovaknames.c -expect 2 + $(SPLINTR) +hints +czechoslovak czechnames.c -expect 1 + $(SPLINTR) +hints +czechoslovak slovaknames.c -expect 1 + $(SPLINTR) +hints +czechoslovak +slovakvars slovaknames.c -expect 2 ### ### deadparam added 2001-05-27 @@ -319,7 +319,7 @@ czechoslovaknames: .PHONY: deadparam deadparam: - ${LCLINTR} deadparam.c -expect 3 + ${SPLINTR} deadparam.c -expect 3 # # Was expect 3 before 2.4. Earlier versions did not handle implicit @@ -328,99 +328,99 @@ deadparam: .PHONY: decl decl: - $(LCLINTR) decl.c -expect 2 - $(LCLINTRN) decl.c +strict -exportlocal -expect 5 - $(LCLINTR) decl2 -expect 4 + $(SPLINTR) decl.c -expect 2 + $(SPLINTRN) decl.c +strict -exportlocal -expect 5 + $(SPLINTR) decl2 -expect 4 .PHONY: enum enum: - $(LCLINTR) enum -expect 16 - $(LCLINTR) enum -misscase -expect 14 + $(SPLINTR) enum -expect 16 + $(SPLINTR) enum -misscase -expect 14 .PHONY: exports exports: - $(LCLINTR) exports.c +exporttype +exportvar +exportfcn +topuse +typeuse -expect 6 - $(LCLINTR) exports.c +exportany -expect 3 - $(LCLINTR) exports.c + $(SPLINTR) exports.c +exporttype +exportvar +exportfcn +topuse +typeuse -expect 6 + $(SPLINTR) exports.c +exportany -expect 3 + $(SPLINTR) exports.c .PHONY: external external: - $(LCLINTR) external.c +partial - $(LCLINTR) external.c +partial +distinctexternalnames -expect 2 - $(LCLINTR) external.c -nolib +partial -externalnamelength 3 -expect 3 - $(LCLINTR) external.c -nolib +partial -externalnamelength 3 +externalnamecaseinsensitive -expect 3 - $(LCLINTR) external.c +partial -externalnamelength 3 -expect 4 + $(SPLINTR) external.c +partial + $(SPLINTR) external.c +partial +distinctexternalnames -expect 2 + $(SPLINTR) external.c -nolib +partial -externalnamelength 3 -expect 3 + $(SPLINTR) external.c -nolib +partial -externalnamelength 3 +externalnamecaseinsensitive -expect 3 + $(SPLINTR) external.c +partial -externalnamelength 3 -expect 4 .PHONY: fields fields: - $(LCLINTR) fields.c +memchecks -expect 6 - $(LCLINTR) fields2.c +memchecks -expect 5 - $(LCLINTR) fields3.c +memchecks + $(SPLINTR) fields.c +memchecks -expect 6 + $(SPLINTR) fields2.c +memchecks -expect 5 + $(SPLINTR) fields3.c +memchecks .PHONY: flags flags: - $(LCLINTR) flags.c -expect 8 - $(LCLINTR) +nocomments flags.c -expect 2 + $(SPLINTR) flags.c -expect 8 + $(SPLINTR) +nocomments flags.c -expect 2 ### Added 2001-06-02 .PHONY: forbody forbody: - ${LCLINTR} forbody.c -expect 2 + ${SPLINTR} forbody.c -expect 2 ### Added 2001-06-03 .PHONY: format format: - ${LCLINTR} format.c -expect 3 - ${LCLINTR} format.c -formatconst + ${SPLINTR} format.c -expect 3 + ${SPLINTR} format.c -formatconst # two new errors (invalid lhs) .PHONY: funcpointer funcpointer: - $(LCLINTR) +memchecks +noparams funcpointer.c -expect 18 + $(SPLINTR) +memchecks +noparams funcpointer.c -expect 18 .PHONY: glob glob: - $(LCLINTR) glob -expect 4 - $(LCLINTR) glob -globuse -expect 3 - $(LCLINTR) glob +globunspec -expect 6 + $(SPLINTR) glob -expect 4 + $(SPLINTR) glob -globuse -expect 3 + $(SPLINTR) glob +globunspec -expect 6 .PHONY: globals globals: - $(LCLINTR) -modifies globals.c -expect 5 - $(LCLINTR) -modifies globals.c +allglobals -expect 6 - $(LCLINTR) -modifies globals.c +impcheckedglobals -expect 6 - $(LCLINTR) -modifies globals.c -globals -checkstrictglobals -expect 2 - $(LCLINTR) -modifies globals.c +globunspec -expect 6 - $(LCLINTR) -modifies globals.c +globunspec +allglobals -expect 8 + $(SPLINTR) -modifies globals.c -expect 5 + $(SPLINTR) -modifies globals.c +allglobals -expect 6 + $(SPLINTR) -modifies globals.c +impcheckedglobals -expect 6 + $(SPLINTR) -modifies globals.c -globals -checkstrictglobals -expect 2 + $(SPLINTR) -modifies globals.c +globunspec -expect 6 + $(SPLINTR) -modifies globals.c +globunspec +allglobals -expect 8 # Was -accessfile .PHONY: impabstract impabstract: - $(LCLINTR) -accessmodule impabstract.c - $(LCLINTR) -accessmodule +hints +impabstract impabstract.c -expect 2 - $(LCLINTR) -accessmodule +hints +impabstract impabstract -expect 4 + $(SPLINTR) -accessmodule impabstract.c + $(SPLINTR) -accessmodule +hints +impabstract impabstract.c -expect 2 + $(SPLINTR) -accessmodule +hints +impabstract impabstract -expect 4 ### evans 2001-10-14: Expected errors updated .PHONY: init init: - $(LCLINTR) init.c -expect 14 - $(LCLINTRN) init.c +checks -exportlocal -exportheadervar -expect 17 + $(SPLINTR) init.c -expect 14 + $(SPLINTRN) init.c +checks -exportlocal -exportheadervar -expect 17 .PHONY: inparam inparam: - $(LCLINTR) inparam.c -expect 2 - $(LCLINTR) +impouts inparam.c -expect 1 + $(SPLINTR) inparam.c -expect 2 + $(SPLINTR) +impouts inparam.c -expect 1 .PHONY: internal internal: - $(LCLINTR) internal.c -expect 1 - $(LCLINTR) internal.c +distinctinternalnames -expect 2 - $(LCLINTR) internal.c -internalnamelen 28 -expect 3 - $(LCLINTR) internal.c +internalnamecaseinsensitive -expect 3 - $(LCLINTR) internal.c +internalnamecaseinsensitive +internalnamelookalike -expect 11 + $(SPLINTR) internal.c -expect 1 + $(SPLINTR) internal.c +distinctinternalnames -expect 2 + $(SPLINTR) internal.c -internalnamelen 28 -expect 3 + $(SPLINTR) internal.c +internalnamecaseinsensitive -expect 3 + $(SPLINTR) internal.c +internalnamecaseinsensitive +internalnamelookalike -expect 11 ### ### iter @@ -429,12 +429,12 @@ internal: .PHONY: iter iter: - $(LCLINTR) iter -expect 14 -lclexpect 1 - $(LCLINTR) iter2.c -expect 12 + $(SPLINTR) iter -expect 14 -lclexpect 1 + $(SPLINTR) iter2.c -expect 12 .PHONY: keep keep: - $(LCLINTR) keep.c +memchecks -expect 6 + $(SPLINTR) keep.c +memchecks -expect 6 ### libs ### 2001-05-22: 2 new errors found (fixed spec of signal) @@ -442,93 +442,93 @@ keep: .PHONY: libs libs: - $(LCLINTR) libs.c +longunsignedunsignedintegral -expect 18 - $(LCLINTR) libs.c -expect 22 - $(LCLINTR) libs.c +globunspec +modunspec -expect 25 - $(LCLINTR) libs.c +strictlib +globunspec +modunspec -expect 42 + $(SPLINTR) libs.c +longunsignedunsignedintegral -expect 18 + $(SPLINTR) libs.c -expect 22 + $(SPLINTR) libs.c +globunspec +modunspec -expect 25 + $(SPLINTR) libs.c +strictlib +globunspec +modunspec -expect 42 .PHONY: lintcomments lintcomments: - $(LCLINTR) lintcomments.c -expect 4 - $(LCLINTR) lintcomments.c -warnlintcomments -expect 1 - $(LCLINTR) lintcomments.c -lintcomments -expect 4 + $(SPLINTR) lintcomments.c -expect 4 + $(SPLINTR) lintcomments.c -warnlintcomments -expect 1 + $(SPLINTR) lintcomments.c -lintcomments -expect 4 .PHONY: list list: - $(LCLINTR) list.c -expect 3 + $(SPLINTR) list.c -expect 3 .PHONY: macros macros: - $(LCLINTR) macros -expect 17 - $(LCLINTR) macros.c +allmacros -expect 34 - $(LCLINTR) macros.c +fcnmacros -expect 31 + $(SPLINTR) macros -expect 17 + $(SPLINTR) macros.c +allmacros -expect 34 + $(SPLINTR) macros.c +fcnmacros -expect 31 .PHONY: macrosef macrosef: - $(LCLINTR) macrosef -expect 4 - $(LCLINTR) macrosef.c +allmacros -expect 3 - $(LCLINTR) macrosef.c +allmacros +sefuncon -expect 4 + $(SPLINTR) macrosef -expect 4 + $(SPLINTR) macrosef.c +allmacros -expect 3 + $(SPLINTR) macrosef.c +allmacros +sefuncon -expect 4 .PHONY: merge merge: - $(LCLINTRN) merge.c +checks -exportlocal -exportheadervar -exportheader -expect 3 + $(SPLINTRN) merge.c +checks -exportlocal -exportheadervar -exportheader -expect 3 .PHONY: modifies modifies: - $(LCLINTR) modifies.c modclient.c +impcheckedstatics +mustmod -expect 7 + $(SPLINTR) modifies.c modclient.c +impcheckedstatics +mustmod -expect 7 .PHONY: modtest modtest: - $(LCLINTR) modtest -expect 10 - $(LCLINTR) modtest +modunspec -expect 13 - $(LCLINTR) modtest +mustmod -expect 14 + $(SPLINTR) modtest -expect 10 + $(SPLINTR) modtest +modunspec -expect 13 + $(SPLINTR) modtest +mustmod -expect 14 .PHONY: moduncon moduncon: - $(LCLINTR) moduncon.c +moduncon -memchecks -expect 4 - $(LCLINTRN) moduncon.c +strict -exportlocal -expect 22 + $(SPLINTR) moduncon.c +moduncon -memchecks -expect 4 + $(SPLINTRN) moduncon.c +strict -exportlocal -expect 22 .PHONY: mongoincludes mongoincludes: - $(LCLINTR) mongoincludes.c -includenest 1 -expect 19 - $(LCLINTR) mongoincludes.c -includenest 2 -expect 10 - $(LCLINTR) mongoincludes.c -includenest 3 -expect 4 - $(LCLINTR) mongoincludes.c -includenest 4 -expect 1 - $(LCLINTR) mongoincludes.c -includenest 5 -expect 0 + $(SPLINTR) mongoincludes.c -includenest 1 -expect 19 + $(SPLINTR) mongoincludes.c -includenest 2 -expect 10 + $(SPLINTR) mongoincludes.c -includenest 3 -expect 4 + $(SPLINTR) mongoincludes.c -includenest 4 -expect 1 + $(SPLINTR) mongoincludes.c -includenest 5 -expect 0 .PHONY: mystrncat mystrncat: - $(LCLINTR) mystrncat.c +arraybounds +arrayboundsread -expect 4 + $(SPLINTR) mystrncat.c +arraybounds +arrayboundsread -expect 4 .PHONY: noeffect noeffect: - ${LCLINT} -nof noeffect.c +allmacros +checks -expect 3 + ${SPLINT} -nof noeffect.c +allmacros +checks -expect 3 .PHONY: null null: - $(LCLINTR) null1.c -expect 14 - $(LCLINTR) null1.c -null -expect 4 - $(LCLINTR) null2.c -expect 10 - $(LCLINTR) null3.c -expect 15 - $(LCLINTR) null3.c -warnunixlib +unixlib -expect 16 - $(LCLINTR) null4.c -expect 1 - $(LCLINTR) null5.c -expect 4 - $(LCLINTR) null6 -expect 4 - $(LCLINTR) +quiet null6.lcl -dump null6 - $(LCLINTR) null6.c -load null6 -expect 4 + $(SPLINTR) null1.c -expect 14 + $(SPLINTR) null1.c -null -expect 4 + $(SPLINTR) null2.c -expect 10 + $(SPLINTR) null3.c -expect 15 + $(SPLINTR) null3.c -warnunixlib +unixlib -expect 16 + $(SPLINTR) null4.c -expect 1 + $(SPLINTR) null5.c -expect 4 + $(SPLINTR) null6 -expect 4 + $(SPLINTR) +quiet null6.lcl -dump null6 + $(SPLINTR) null6.c -load null6 -expect 4 ### Added for 3.0 (bugs reported by Kevin Broady) .PHONY: nullret nullret: - $(LCLINTR) nullret.c -expect 2 - $(LCLINTR) -nullret nullret.c -expect 1 + $(SPLINTR) nullret.c -expect 2 + $(SPLINTR) -nullret nullret.c -expect 1 .PHONY: nullassign nullassign: - $(LCLINTR) nullassign.c -expect 2 - $(LCLINTR) -nullassign nullassign.c -expect 1 + $(SPLINTR) nullassign.c -expect 2 + $(SPLINTR) -nullassign nullassign.c -expect 1 # @@ -538,168 +538,168 @@ nullassign: .PHONY: observer observer: - $(LCLINTRN) observer +checks -exportlocal -exportheader -expect 9 - $(LCLINTRN) observer.c +checks -exportlocal -exportheader -expect 8 - $(LCLINTR) observer.c -expect 7 + $(SPLINTRN) observer +checks -exportlocal -exportheader -expect 9 + $(SPLINTRN) observer.c +checks -exportlocal -exportheader -expect 8 + $(SPLINTR) observer.c -expect 7 .PHONY: oldstyle oldstyle: - $(LCLINTR) oldstyle -expect 3 + $(SPLINTR) oldstyle -expect 3 .PHONY: outglob outglob: - $(LCLINTR) outglob -expect 10 + $(SPLINTR) outglob -expect 10 .PHONY: outparam outparam: - $(LCLINTR) outparam -expect 12 + $(SPLINTR) outparam -expect 12 ### evans 2001-08-26: postnotnull new .PHONY: postnotnull postnotnull: - ${LCLINTR} postnotnull.c -expect 1 + ${SPLINTR} postnotnull.c -expect 1 # # Four new +fcnuse errors for -strict (evans 2001-07-22) # .PHONY: preds preds: - $(LCLINTR) +hints preds.c -expect 6 - $(LCLINTRN) +hints preds.c -weak -expect 1 - $(LCLINTRN) +hints preds.c -strict -exportlocal -exportheader -expect 12 + $(SPLINTR) +hints preds.c -expect 6 + $(SPLINTRN) +hints preds.c -weak -expect 1 + $(SPLINTRN) +hints preds.c -strict -exportlocal -exportheader -expect 12 .PHONY: prefixes prefixes: - $(LCLINTR) prefixes.c +partial - $(LCLINTRN) prefixes.c +allmacros +checks -exportlocal +partial -exportheader -exportheadervar -expect 4 - $(LCLINTR) prefixes.c -typeprefix "T" -expect 2 - $(LCLINTR) prefixes.c -typeprefix "^" -expect 1 - $(LCLINTR) prefixes.c -typeprefix "^*" -expect 2 - $(LCLINTR) prefixes.c -typeprefix "^%*" -expect 2 - $(LCLINTR) prefixes.c -typeprefix "^~*" -expect 2 - $(LCLINTR) prefixes.c -typeprefix "^" +typeprefixexclude -expect 7 - $(LCLINTR) prefixes.c -filestaticprefix "^^" -expect 4 - $(LCLINTR) prefixes.c -filestaticprefix "^#" -expect 5 - $(LCLINTR) prefixes.c -filestaticprefix "^?&x" -expect 5 - $(LCLINTR) prefixes.c -globalprefix "G" -expect 1 - $(LCLINTR) prefixes.c -globalprefix "&G?_^" -expect 1 - $(LCLINTR) prefixes.c -externalprefix "G" -expect 5 - $(LCLINTR) prefixes.c -typeprefix "T" -externalprefix "G" -expect 4 - $(LCLINTR) prefixes.c -localprefix "?*" +localprefixexclude -expect 13 + $(SPLINTR) prefixes.c +partial + $(SPLINTRN) prefixes.c +allmacros +checks -exportlocal +partial -exportheader -exportheadervar -expect 4 + $(SPLINTR) prefixes.c -typeprefix "T" -expect 2 + $(SPLINTR) prefixes.c -typeprefix "^" -expect 1 + $(SPLINTR) prefixes.c -typeprefix "^*" -expect 2 + $(SPLINTR) prefixes.c -typeprefix "^%*" -expect 2 + $(SPLINTR) prefixes.c -typeprefix "^~*" -expect 2 + $(SPLINTR) prefixes.c -typeprefix "^" +typeprefixexclude -expect 7 + $(SPLINTR) prefixes.c -filestaticprefix "^^" -expect 4 + $(SPLINTR) prefixes.c -filestaticprefix "^#" -expect 5 + $(SPLINTR) prefixes.c -filestaticprefix "^?&x" -expect 5 + $(SPLINTR) prefixes.c -globalprefix "G" -expect 1 + $(SPLINTR) prefixes.c -globalprefix "&G?_^" -expect 1 + $(SPLINTR) prefixes.c -externalprefix "G" -expect 5 + $(SPLINTR) prefixes.c -typeprefix "T" -externalprefix "G" -expect 4 + $(SPLINTR) prefixes.c -localprefix "?*" +localprefixexclude -expect 13 .PHONY: printflike printflike: - $(LCLINTR) printflike.c -expect 6 - $(LCLINTR) printflike.c -warnlintcomments -expect 5 + $(SPLINTR) printflike.c -expect 6 + $(SPLINTR) printflike.c -warnlintcomments -expect 5 .PHONY: rc rc: - $(LCLINTR) -DMYSTERY='"a flag\"wicked cool"' rc.c -expect 1 - $(LCLINTR) -DMYSTERY=12 rc.c -expect 1 - $(LCLINTR) -f rc1.lclintrc rc.c -expect 1 - $(LCLINTR) -UMYSTERY -f rc1.lclintrc rc.c -expect 1 - $(LCLINTR) -f rc3.lclintrc rc.c -expect 1 + $(SPLINTR) -DMYSTERY='"a flag\"wicked cool"' rc.c -expect 1 + $(SPLINTR) -DMYSTERY=12 rc.c -expect 1 + $(SPLINTR) -f rc1.splintrc rc.c -expect 1 + $(SPLINTR) -UMYSTERY -f rc1.splintrc rc.c -expect 1 + $(SPLINTR) -f rc3.splintrc rc.c -expect 1 .PHONY: refcounts refcounts: - $(LCLINTR) refcounts.c -expect 7 + $(SPLINTR) refcounts.c -expect 7 .PHONY: release release: - $(LCLINTR) release.c +memchecks -expect 1 + $(SPLINTR) release.c +memchecks -expect 1 .PHONY: repexpose repexpose: - $(LCLINTR) +lh repexpose +memchecks -expect 12 - $(LCLINTR) repexpose +memchecks +retalias -expect 15 - $(LCLINTRN) repexpose +checks -exportlocal -expect 27 + $(SPLINTR) +lh repexpose +memchecks -expect 12 + $(SPLINTR) repexpose +memchecks +retalias -expect 15 + $(SPLINTRN) repexpose +checks -exportlocal -expect 27 ### returned added 2001-05-27 -### (Bug discovered checking lclint sources.) +### (Bug discovered checking splint sources.) .PHONY: returned returned: - ${LCLINTR} returned.c -expect 1 + ${SPLINTR} returned.c -expect 1 .PHONY: sharing sharing: - $(LCLINTR) sharing1.c -expect 21 - $(LCLINTR) sharing3.c -expect 3 - $(LCLINTR) sharing4.c -expect 13 - $(LCLINTR) sharing4.c -paramimptemp -expect 12 - $(LCLINTR) sharing5.c -expect 6 + $(SPLINTR) sharing1.c -expect 21 + $(SPLINTR) sharing3.c -expect 3 + $(SPLINTR) sharing4.c -expect 13 + $(SPLINTR) sharing4.c -paramimptemp -expect 12 + $(SPLINTR) sharing5.c -expect 6 .PHONY: slovaknames slovaknames: - $(LCLINTR) +hints slovaknames.c -expect 1 - $(LCLINTR) +hints slovaknames.c +accessslovak - $(LCLINTR) +hints +slovak slovaknames.c -expect 3 - $(LCLINTR) +hints +slovak -slovakvars slovaknames.c -expect 2 - $(LCLINTR) +hints +slovak -accessslovak slovaknames.c -expect 7 + $(SPLINTR) +hints slovaknames.c -expect 1 + $(SPLINTR) +hints slovaknames.c +accessslovak + $(SPLINTR) +hints +slovak slovaknames.c -expect 3 + $(SPLINTR) +hints +slovak -slovakvars slovaknames.c -expect 2 + $(SPLINTR) +hints +slovak -accessslovak slovaknames.c -expect 7 .PHONY: specclauses specclauses: - $(LCLINTR) specclauses.c -expect 6 - $(LCLINTR) specclauses2.c -expect 8 - $(LCLINTR) specclauses3.c -expect 6 - $(LCLINTR) specclauses4.c -expect 3 - $(LCLINTR) specclauses5.c -expect 3 + $(SPLINTR) specclauses.c -expect 6 + $(SPLINTR) specclauses2.c -expect 8 + $(SPLINTR) specclauses3.c -expect 6 + $(SPLINTR) specclauses4.c -expect 3 + $(SPLINTR) specclauses5.c -expect 3 .PHONY: special special: - $(LCLINTR) special -expect 20 - $(LCLINTR) special -relaxquals -expect 22 + $(SPLINTR) special -expect 20 + $(SPLINTR) special -relaxquals -expect 22 .PHONY: stack stack: - $(LCLINTR) stack.c -expect 5 - $(LCLINTR) stack.c -stackref + $(SPLINTR) stack.c -expect 5 + $(SPLINTR) stack.c -stackref .PHONY: staticarray staticarray: - $(LCLINTR) staticarray.c -expect 3 + $(SPLINTR) staticarray.c -expect 3 .PHONY: strings strings: - $(LCLINTR) strings.c -expect 3 - $(LCLINTR) -readonlystrings -expect 1 strings.c - $(LCLINTR) +modobserverstrict -maintype -expect 4 strings.c + $(SPLINTR) strings.c -expect 3 + $(SPLINTR) -readonlystrings -expect 1 strings.c + $(SPLINTR) +modobserverstrict -maintype -expect 4 strings.c .PHONY: structassign structassign: - $(LCLINTR) structassign.c -expect 4 + $(SPLINTR) structassign.c -expect 4 .PHONY: typequals typequals: - $(LCLINTR) typequals.c tq.lcl -expect 5 - $(LCLINTR) typequals.c -expect 2 + $(SPLINTR) typequals.c tq.lcl -expect 5 + $(SPLINTR) typequals.c -expect 2 .PHONY: ud ud: - $(LCLINTR) ud.c -expect 9 - $(LCLINTR) ud2 -specundef -expect 3 + $(SPLINTR) ud.c -expect 9 + $(SPLINTR) ud2 -specundef -expect 3 .PHONY: ulstypes ulstypes: - $(LCLINTR) ulstypes.c -expect 8 - $(LCLINTR) ulstypes.c +ignorequals - $(LCLINTRN) ulstypes.c +strict -exportheader -exportheadervar -expect 28 + $(SPLINTR) ulstypes.c -expect 8 + $(SPLINTR) ulstypes.c +ignorequals + $(SPLINTRN) ulstypes.c +strict -exportheader -exportheadervar -expect 28 # 3 more detected with version 2.5 (change in -numliteral setting) .PHONY: union union: - $(LCLINTR) +memchecks union.c -expect 8 + $(SPLINTR) +memchecks union.c -expect 8 .PHONY: unreachable unreachable: - $(LCLINTR) unreachable.c -expect 5 - $(LCLINTR) -unreachable unreachable.c -expect 2 - $(LCLINTR) switch.c -expect 4 + $(SPLINTR) unreachable.c -expect 5 + $(SPLINTR) -unreachable unreachable.c -expect 2 + $(SPLINTR) switch.c -expect 4 .PHONY: unsignedcompare unsignedcompare: - ${LCLINTR} +posixlib unsignedcompare.c -expect 4 + ${SPLINTR} +posixlib unsignedcompare.c -expect 4 ### @@ -708,8 +708,8 @@ unsignedcompare: .PHONY: unused unused: - $(LCLINTRN) unused.c +checks -exportlocal -expect 5 - $(LCLINTRN) unused.c +checks -exportlocal +topuse -expect 8 + $(SPLINTRN) unused.c +checks -exportlocal -expect 5 + $(SPLINTRN) unused.c +checks -exportlocal +topuse -expect 8 ### ### 2001-06-10: Provided by Jim Zalenka @@ -717,12 +717,12 @@ unused: .PHONY: ullint ullint: - ${LCLINTRN} ullint.c -expect 5 - ${LCLINTRN} ullint.c +charint +charintliteral -expect 2 + ${SPLINTRN} ullint.c -expect 5 + ${SPLINTRN} ullint.c +charint +charintliteral -expect 2 .PHONY: void void: - ${LCLINTRN} void.c -expect 2 + ${SPLINTRN} void.c -expect 2 ### ### New since 2.5q: @@ -730,16 +730,16 @@ void: .PHONY: linked linked: - ${LCLINTR} linked.c -expect 4 - ${LCLINTR} linked2.c -expect 3 - ${LCLINTR} linked3.c -expect 5 - ${LCLINTR} linked4.c -expect 6 - ${LCLINTR} linked5.c -expect 4 - ${LCLINTR} linked6.c -expect 4 + ${SPLINTR} linked.c -expect 4 + ${SPLINTR} linked2.c -expect 3 + ${SPLINTR} linked3.c -expect 5 + ${SPLINTR} linked4.c -expect 6 + ${SPLINTR} linked5.c -expect 4 + ${SPLINTR} linked6.c -expect 4 .PHONY: freearray freearray: - ${LCLINTR} freearray.c -expect 1 + ${SPLINTR} freearray.c -expect 1 ### ### Bugs fixed and new features since version 2.1b @@ -751,11 +751,11 @@ SUBDIRTESTS += tests2.4 .PHONY: sizeof sizeof: - $(LCLINTR) +arraybounds +arrayboundsread sizeof.c -expect 1 + $(SPLINTR) +arraybounds +arrayboundsread sizeof.c -expect 1 .PHONY: buffertest buffertest: - $(LCLINTR) +arraybounds +arrayboundsread buffertest1.c -expect 5 + $(SPLINTR) +arraybounds +arrayboundsread buffertest1.c -expect 5 SUBDIRTESTS += tests2.5 @@ -770,7 +770,7 @@ SUBDIRTESTS += db1 db2 db3 .PHONY: $(SUBDIRTESTS) $(SUBDIRTESTS): - cd $@; $(MAKE) LCLINT="$(LCLINTRNNEST)" + cd $@; $(MAKE) SPLINT="$(SPLINTRNNEST)" #drl 11/29/2001 This is a very ugly hack to get make dist to work EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ @@ -840,17 +840,17 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./outglob.lcs \ ./outparam.lcl \ ./outparam.lcs \ - ./rc1.lclintrc \ - ./rc2.lclintrc \ - ./rc3.lclintrc \ - ./rc3.lclintrc.os2 \ + ./rc1.splintrc \ + ./rc2.splintrc \ + ./rc3.splintrc \ + ./rc3.splintrc.os2 \ ./repexpose.lcl \ ./repexpose.lcs \ ./repexpose.lh \ ./repexpose.lh.expect \ ./special.lcl \ ./special.lcs \ - ./db3/.lclintrc \ + ./db3/.splintrc \ ./db3/bool.lcl \ ./db3/check.lcl \ ./db3/dbase.lcl \ @@ -863,10 +863,10 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./tq.lcs \ ./ud2.lcl \ ./ud2.lcs \ - ./for/.lclintrc \ - ./globalbufferannotation/.lclintrc \ - ./maxset/.lclintrc \ - ./strchr/.lclintrc \ + ./for/.splintrc \ + ./globalbufferannotation/.splintrc \ + ./maxset/.splintrc \ + ./strchr/.splintrc \ ./tests2.2/bool.lcl \ ./tests2.2/bool.lcs \ ./tests2.2/libraries.lcd \ diff --git a/test/Makefile.in b/test/Makefile.in index 8543f76..b2cb58a 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -85,21 +85,21 @@ AUTOMAKE_OPTIONS = 1.5 foreign DIFFFLAGS = -u -LCLINT = $(top_builddir)/src/lclint$(EXEEXT) +SPLINT = $(top_builddir)/src/splint$(EXEEXT) ### This is horrible! Can't we make top_builddir absolute? -LCLINTNEST = ../$(top_builddir)/src/lclint$(EXEEXT) +SPLINTNEST = ../$(top_builddir)/src/splint$(EXEEXT) -LCLINTPNEST = @$(LCLINTNEST) -LCLINTP = @$(LCLINT) +SPLINTPNEST = @$(SPLINTNEST) +SPLINTP = @$(SPLINT) -# Make sure .lclintrc files are not used so test results do not +# Make sure .splintrc files are not used so test results do not # depend on local settings. -LCLINTRN = $(LCLINTP) -nof -hints -booltype "bool" -LCLINTR = $(LCLINTRN) -exportlocal +debugfcnconstraint +SPLINTRN = $(SPLINTP) -nof -hints -booltype "bool" +SPLINTR = $(SPLINTRN) -exportlocal +debugfcnconstraint -LCLINTRNNEST = $(LCLINTPNEST) -nof -hints -booltype "bool" -LCLINTRNEST = $(LCLINTRNNEST) -exportlocal +debugfcnconstraint +SPLINTRNNEST = $(SPLINTPNEST) -nof -hints -booltype "bool" +SPLINTRNEST = $(SPLINTRNNEST) -exportlocal +debugfcnconstraint ### @@ -132,11 +132,11 @@ UNITEXPECTS = $(addsuffix .expect, $(UNITTESTS)) INTEGTESTS = db1 db2 db3 INTEGEXPECTS = $(addsuffix .expect, $(INTEGTESTS)) -LCLINTTESTS = $(UNITTESTS) $(INTEGTESTS) +SPLINTTESTS = $(UNITTESTS) $(INTEGTESTS) QUICKTESTS = db3 -CLEANOUTPUT = $(GREP) -v "LCLint 3." | $(GREP) -v "$(LCLINT)" | $(GREP) -v "^make.*\[[1-9]*\]:" +CLEANOUTPUT = $(GREP) -v "Splint 3." | $(GREP) -v "$(SPLINT)" | $(GREP) -v "^make.*\[[1-9]*\]:" ### Rules for tests start here @@ -217,17 +217,17 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./outglob.lcs \ ./outparam.lcl \ ./outparam.lcs \ - ./rc1.lclintrc \ - ./rc2.lclintrc \ - ./rc3.lclintrc \ - ./rc3.lclintrc.os2 \ + ./rc1.splintrc \ + ./rc2.splintrc \ + ./rc3.splintrc \ + ./rc3.splintrc.os2 \ ./repexpose.lcl \ ./repexpose.lcs \ ./repexpose.lh \ ./repexpose.lh.expect \ ./special.lcl \ ./special.lcs \ - ./db3/.lclintrc \ + ./db3/.splintrc \ ./db3/bool.lcl \ ./db3/check.lcl \ ./db3/dbase.lcl \ @@ -240,10 +240,10 @@ EXTRA_DIST = ./abst_t.lcl ./abst_t.lcs \ ./tq.lcs \ ./ud2.lcl \ ./ud2.lcs \ - ./for/.lclintrc \ - ./globalbufferannotation/.lclintrc \ - ./maxset/.lclintrc \ - ./strchr/.lclintrc \ + ./for/.splintrc \ + ./globalbufferannotation/.splintrc \ + ./maxset/.splintrc \ + ./strchr/.splintrc \ ./tests2.2/bool.lcl \ ./tests2.2/bool.lcs \ ./tests2.2/libraries.lcd \ @@ -903,17 +903,17 @@ all check: fulltest .PHONY: version version: - -$(LCLINTP) -help version + -$(SPLINTP) -help version .PHONY: help help: - -@$(LCLINTP) - -@LARCH_PATH=/dev/null; $(LCLINT) empty.lcl - -@$(LCLINTP) -help - -@$(LCLINTP) -asdf - -@$(LCLINTP) +boolint +boolint - -@$(LCLINTP) -help flags alpha - -@$(LCLINTP) -help flags all + -@$(SPLINTP) + -@LARCH_PATH=/dev/null; $(SPLINT) empty.lcl + -@$(SPLINTP) -help + -@$(SPLINTP) -asdf + -@$(SPLINTP) +boolint +boolint + -@$(SPLINTP) -help flags alpha + -@$(SPLINTP) -help flags all .PHONY: clean-local clean-local: @@ -922,9 +922,9 @@ clean-local: -cd db2; $(MAKE) clean -cd db3; $(MAKE) clean -$(LCLINTTESTS): $(LCLINT) +$(SPLINTTESTS): $(SPLINT) -$(LCLINT): +$(SPLINT): cd $(top_builddir)/src; $(MAKE) .c.expect: @@ -958,8 +958,8 @@ fulltest: @echo "Testing $(PACKAGE) $(VERSION)..." @echo @echo "Version Info:" - @$(LCLINTP) -help version - @$(LCLINTP) -help vars + @$(SPLINTP) -help version + @$(SPLINTP) -help vars @echo "" @echo "Unit tests:" @echo "" @@ -981,26 +981,26 @@ fulltest: .PHONY: abstptr abstptr: - $(LCLINTR) abstptr -expect 9 - $(LCLINTR) abstptr +voidabstract -expect 6 + $(SPLINTR) abstptr -expect 9 + $(SPLINTR) abstptr +voidabstract -expect 6 .PHONY: abstract abstract: - $(LCLINTR) abst_t.lcl commentcmd.c -expect 15 + $(SPLINTR) abst_t.lcl commentcmd.c -expect 15 .PHONY: alias alias: - $(LCLINTR) +lh mut - $(LCLINTR) mut alias +globalias -expect 19 - $(LCLINTR) mut alias2 +globalias -expect 17 - $(LCLINTR) +lh alias3 -expect 14 - $(LCLINTR) +lh alias4 +boolint - $(LCLINTR) alias4 -pred +retalias -expect 6 - $(LCLINTR) +lh alias5 +memchecks -null -specundef -expect 5 + $(SPLINTR) +lh mut + $(SPLINTR) mut alias +globalias -expect 19 + $(SPLINTR) mut alias2 +globalias -expect 17 + $(SPLINTR) +lh alias3 -expect 14 + $(SPLINTR) +lh alias4 +boolint + $(SPLINTR) alias4 -pred +retalias -expect 6 + $(SPLINTR) +lh alias5 +memchecks -null -specundef -expect 5 .PHONY: alttypes alttypes: - $(LCLINTR) alttypes.c -expect 2 + $(SPLINTR) alttypes.c -expect 2 ### ### evans 2001-06-07 - updated nameCheck.c to reflect C9X. @@ -1012,119 +1012,119 @@ alttypes: .PHONY: ansireserved ansireserved: - $(LCLINTR) ansireserved.c +ansireserved -nolib -expect 9 - $(LCLINTR) ansireserved.c +ansireserved +ansireservedlocal -nolib -expect 11 - $(LCLINTRN) ansireserved.c +checks -exportlocal -exportheadervar -exportheader -expect 12 - $(LCLINTR) ansireserved2.c +ansireserved -expect 1 + $(SPLINTR) ansireserved.c +ansireserved -nolib -expect 9 + $(SPLINTR) ansireserved.c +ansireserved +ansireservedlocal -nolib -expect 11 + $(SPLINTRN) ansireserved.c +checks -exportlocal -exportheadervar -exportheader -expect 12 + $(SPLINTR) ansireserved2.c +ansireserved -expect 1 .PHONY: argorder argorder: - $(LCLINTR) argorder.c -expect 4 - $(LCLINTR) argorder2 -expect 5 - $(LCLINTR) argorder3.c -expect 8 - $(LCLINTR) argorder4 -expect 9 - $(LCLINTR) argorder4 -evalorder -expect 1 - $(LCLINTR) argorder5.c +evalorderuncon -expect 3 + $(SPLINTR) argorder.c -expect 4 + $(SPLINTR) argorder2 -expect 5 + $(SPLINTR) argorder3.c -expect 8 + $(SPLINTR) argorder4 -expect 9 + $(SPLINTR) argorder4 -evalorder -expect 1 + $(SPLINTR) argorder5.c +evalorderuncon -expect 3 .PHONY: args args: - $(LCLINTR) args -noeffect -expect 12 + $(SPLINTR) args -noeffect -expect 12 .PHONY: blocks blocks: - $(LCLINTR) blocks.c -expect 4 - $(LCLINTR) blocks.c +ifblock +elseifcomplete -expect 7 - $(LCLINTR) blocks.c -ifempty +whileempty +whileblock -expect 3 - $(LCLINTR) blocks.c -ifempty +forempty +forblock -expect 3 - $(LCLINTR) blocks.c +allempty -expect 6 - $(LCLINTRN) blocks.c +strict -exportlocal +partial -exportheader -expect 11 + $(SPLINTR) blocks.c -expect 4 + $(SPLINTR) blocks.c +ifblock +elseifcomplete -expect 7 + $(SPLINTR) blocks.c -ifempty +whileempty +whileblock -expect 3 + $(SPLINTR) blocks.c -ifempty +forempty +forblock -expect 3 + $(SPLINTR) blocks.c +allempty -expect 6 + $(SPLINTRN) blocks.c +strict -exportlocal +partial -exportheader -expect 11 .PHONY: break break: - $(LCLINTR) break.c -expect 4 - $(LCLINTR) break.c +deepbreak -expect 6 - $(LCLINTR) break.c +deepbreak -looploopbreak -expect 5 + $(SPLINTR) break.c -expect 4 + $(SPLINTR) break.c +deepbreak -expect 6 + $(SPLINTR) break.c +deepbreak -looploopbreak -expect 5 .PHONY: cases cases: - $(LCLINTR) cases.c -expect 5 - $(LCLINTR) cases2.c -expect 2 - $(LCLINTRN) cases2.c +checks -exportlocal -exportheader -expect 3 - $(LCLINTRN) cases2.c +checks -exportlocal -exportheader -branchstate -expect 3 + $(SPLINTR) cases.c -expect 5 + $(SPLINTR) cases2.c -expect 2 + $(SPLINTRN) cases2.c +checks -exportlocal -exportheader -expect 3 + $(SPLINTRN) cases2.c +checks -exportlocal -exportheader -branchstate -expect 3 .PHONY: cast cast: - $(LCLINTR) cast -accessmodule -expect 20 - $(LCLINTRN) cast2.c +checks -exportlocal -exportheader -expect 3 + $(SPLINTR) cast -accessmodule -expect 20 + $(SPLINTRN) cast2.c +checks -exportlocal -exportheader -expect 3 ### Two addition errors detected with 2.5 with -numliteral. .PHONY: charlit charlit: - $(LCLINTR) +hints charlit.c -expect 4 - $(LCLINTR) +hints -numliteral charlit.c -expect 6 - $(LCLINTR) +hints charlit.c +charintliteral +ignoresigns + $(SPLINTR) +hints charlit.c -expect 4 + $(SPLINTR) +hints -numliteral charlit.c -expect 6 + $(SPLINTR) +hints charlit.c +charintliteral +ignoresigns .PHONY: clauses clauses: - $(LCLINTR) clauses.c +memchecks -expect 4 - $(LCLINTR) clauses2.c +memchecks - $(LCLINTR) clauses3.c +memchecks -expect 2 - $(LCLINTR) clauses3.c +memchecks +unixlib -expect 3 + $(SPLINTR) clauses.c +memchecks -expect 4 + $(SPLINTR) clauses2.c +memchecks + $(SPLINTR) clauses3.c +memchecks -expect 2 + $(SPLINTR) clauses3.c +memchecks +unixlib -expect 3 .PHONY: commentchar commentchar: - $(LCLINTR) commentchar.c -expect 4 - $(LCLINTR) -commentchar '#' commentchar.c -expect 4 + $(SPLINTR) commentchar.c -expect 4 + $(SPLINTR) -commentchar '#' commentchar.c -expect 4 .PHONY: controldepth controldepth: - $(LCLINTR) +hints -controlnestdepth 2 controldepth.c -expect 2 - $(LCLINTR) +hints -controlnestdepth 1 controldepth.c -expect 2 + $(SPLINTR) +hints -controlnestdepth 2 controldepth.c -expect 2 + $(SPLINTR) +hints -controlnestdepth 1 controldepth.c -expect 2 .PHONY: compdestroy compdestroy: - $(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader -expect 1 - $(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy -expect 2 - $(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3 - $(LCLINTRN) compdestroy.c +strict +partial -exportheader -expect 3 + $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader -expect 1 + $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy -expect 2 + $(SPLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3 + $(SPLINTRN) compdestroy.c +strict +partial -exportheader -expect 3 .PHONY: constannot constannot: - ${LCLINTRN} constannot.c +arraybounds -exportlocal -expect 2 + ${SPLINTRN} constannot.c +arraybounds -exportlocal -expect 2 .PHONY: csyntax csyntax: - $(LCLINTR) +quiet -incondefs csyntax.c -expect 1 - $(LCLINTR) +quiet csyntax2.c -expect 2 - $(LCLINTR) +quiet csyntax3.c -expect 1 - $(LCLINTR) +quiet -incondefs csyntax4.c - $(LCLINTR) +quiet csyntax5.c - $(LCLINTR) +quiet csyntax6.c - $(LCLINTR) +quiet csyntax7.c - $(LCLINTR) +quiet csyntax8.c - $(LCLINTR) +quiet csyntax9.c - $(LCLINTR) +quiet csyntax10.c - $(LCLINTR) +quiet csyntax11.c - $(LCLINTR) +quiet csyntax12.c - $(LCLINTR) +quiet csyntax13.c -expect 1 - $(LCLINTR) +quiet csyntax14.c - $(LCLINTR) +quiet csyntax15.c - $(LCLINTR) +quiet csyntax16.c -expect 2 - $(LCLINTR) +quiet csyntax17.c -expect 3 + $(SPLINTR) +quiet -incondefs csyntax.c -expect 1 + $(SPLINTR) +quiet csyntax2.c -expect 2 + $(SPLINTR) +quiet csyntax3.c -expect 1 + $(SPLINTR) +quiet -incondefs csyntax4.c + $(SPLINTR) +quiet csyntax5.c + $(SPLINTR) +quiet csyntax6.c + $(SPLINTR) +quiet csyntax7.c + $(SPLINTR) +quiet csyntax8.c + $(SPLINTR) +quiet csyntax9.c + $(SPLINTR) +quiet csyntax10.c + $(SPLINTR) +quiet csyntax11.c + $(SPLINTR) +quiet csyntax12.c + $(SPLINTR) +quiet csyntax13.c -expect 1 + $(SPLINTR) +quiet csyntax14.c + $(SPLINTR) +quiet csyntax15.c + $(SPLINTR) +quiet csyntax16.c -expect 2 + $(SPLINTR) +quiet csyntax17.c -expect 3 .PHONY: czechnames czechnames: - $(LCLINTR) czechnames.c - $(LCLINTR) +hints +czech czechnames.c -expect 2 - $(LCLINTR) +hints +czech -czechvars czechnames.c -expect 1 - $(LCLINTR) +hints +czech -accessczech czechnames.c -expect 6 + $(SPLINTR) czechnames.c + $(SPLINTR) +hints +czech czechnames.c -expect 2 + $(SPLINTR) +hints +czech -czechvars czechnames.c -expect 1 + $(SPLINTR) +hints +czech -accessczech czechnames.c -expect 6 .PHONY: czechoslovaknames czechoslovaknames: - $(LCLINTR) +hints +czechoslovak czechnames.c -expect 1 - $(LCLINTR) +hints +czechoslovak slovaknames.c -expect 1 - $(LCLINTR) +hints +czechoslovak +slovakvars slovaknames.c -expect 2 + $(SPLINTR) +hints +czechoslovak czechnames.c -expect 1 + $(SPLINTR) +hints +czechoslovak slovaknames.c -expect 1 + $(SPLINTR) +hints +czechoslovak +slovakvars slovaknames.c -expect 2 ### ### deadparam added 2001-05-27 @@ -1132,7 +1132,7 @@ czechoslovaknames: .PHONY: deadparam deadparam: - ${LCLINTR} deadparam.c -expect 3 + ${SPLINTR} deadparam.c -expect 3 # # Was expect 3 before 2.4. Earlier versions did not handle implicit @@ -1141,98 +1141,98 @@ deadparam: .PHONY: decl decl: - $(LCLINTR) decl.c -expect 2 - $(LCLINTRN) decl.c +strict -exportlocal -expect 5 - $(LCLINTR) decl2 -expect 4 + $(SPLINTR) decl.c -expect 2 + $(SPLINTRN) decl.c +strict -exportlocal -expect 5 + $(SPLINTR) decl2 -expect 4 .PHONY: enum enum: - $(LCLINTR) enum -expect 16 - $(LCLINTR) enum -misscase -expect 14 + $(SPLINTR) enum -expect 16 + $(SPLINTR) enum -misscase -expect 14 .PHONY: exports exports: - $(LCLINTR) exports.c +exporttype +exportvar +exportfcn +topuse +typeuse -expect 6 - $(LCLINTR) exports.c +exportany -expect 3 - $(LCLINTR) exports.c + $(SPLINTR) exports.c +exporttype +exportvar +exportfcn +topuse +typeuse -expect 6 + $(SPLINTR) exports.c +exportany -expect 3 + $(SPLINTR) exports.c .PHONY: external external: - $(LCLINTR) external.c +partial - $(LCLINTR) external.c +partial +distinctexternalnames -expect 2 - $(LCLINTR) external.c -nolib +partial -externalnamelength 3 -expect 3 - $(LCLINTR) external.c -nolib +partial -externalnamelength 3 +externalnamecaseinsensitive -expect 3 - $(LCLINTR) external.c +partial -externalnamelength 3 -expect 4 + $(SPLINTR) external.c +partial + $(SPLINTR) external.c +partial +distinctexternalnames -expect 2 + $(SPLINTR) external.c -nolib +partial -externalnamelength 3 -expect 3 + $(SPLINTR) external.c -nolib +partial -externalnamelength 3 +externalnamecaseinsensitive -expect 3 + $(SPLINTR) external.c +partial -externalnamelength 3 -expect 4 .PHONY: fields fields: - $(LCLINTR) fields.c +memchecks -expect 6 - $(LCLINTR) fields2.c +memchecks -expect 5 - $(LCLINTR) fields3.c +memchecks + $(SPLINTR) fields.c +memchecks -expect 6 + $(SPLINTR) fields2.c +memchecks -expect 5 + $(SPLINTR) fields3.c +memchecks .PHONY: flags flags: - $(LCLINTR) flags.c -expect 8 - $(LCLINTR) +nocomments flags.c -expect 2 + $(SPLINTR) flags.c -expect 8 + $(SPLINTR) +nocomments flags.c -expect 2 ### Added 2001-06-02 .PHONY: forbody forbody: - ${LCLINTR} forbody.c -expect 2 + ${SPLINTR} forbody.c -expect 2 ### Added 2001-06-03 .PHONY: format format: - ${LCLINTR} format.c -expect 3 - ${LCLINTR} format.c -formatconst + ${SPLINTR} format.c -expect 3 + ${SPLINTR} format.c -formatconst # two new errors (invalid lhs) .PHONY: funcpointer funcpointer: - $(LCLINTR) +memchecks +noparams funcpointer.c -expect 18 + $(SPLINTR) +memchecks +noparams funcpointer.c -expect 18 .PHONY: glob glob: - $(LCLINTR) glob -expect 4 - $(LCLINTR) glob -globuse -expect 3 - $(LCLINTR) glob +globunspec -expect 6 + $(SPLINTR) glob -expect 4 + $(SPLINTR) glob -globuse -expect 3 + $(SPLINTR) glob +globunspec -expect 6 .PHONY: globals globals: - $(LCLINTR) -modifies globals.c -expect 5 - $(LCLINTR) -modifies globals.c +allglobals -expect 6 - $(LCLINTR) -modifies globals.c +impcheckedglobals -expect 6 - $(LCLINTR) -modifies globals.c -globals -checkstrictglobals -expect 2 - $(LCLINTR) -modifies globals.c +globunspec -expect 6 - $(LCLINTR) -modifies globals.c +globunspec +allglobals -expect 8 + $(SPLINTR) -modifies globals.c -expect 5 + $(SPLINTR) -modifies globals.c +allglobals -expect 6 + $(SPLINTR) -modifies globals.c +impcheckedglobals -expect 6 + $(SPLINTR) -modifies globals.c -globals -checkstrictglobals -expect 2 + $(SPLINTR) -modifies globals.c +globunspec -expect 6 + $(SPLINTR) -modifies globals.c +globunspec +allglobals -expect 8 # Was -accessfile .PHONY: impabstract impabstract: - $(LCLINTR) -accessmodule impabstract.c - $(LCLINTR) -accessmodule +hints +impabstract impabstract.c -expect 2 - $(LCLINTR) -accessmodule +hints +impabstract impabstract -expect 4 + $(SPLINTR) -accessmodule impabstract.c + $(SPLINTR) -accessmodule +hints +impabstract impabstract.c -expect 2 + $(SPLINTR) -accessmodule +hints +impabstract impabstract -expect 4 ### evans 2001-10-14: Expected errors updated .PHONY: init init: - $(LCLINTR) init.c -expect 14 - $(LCLINTRN) init.c +checks -exportlocal -exportheadervar -expect 17 + $(SPLINTR) init.c -expect 14 + $(SPLINTRN) init.c +checks -exportlocal -exportheadervar -expect 17 .PHONY: inparam inparam: - $(LCLINTR) inparam.c -expect 2 - $(LCLINTR) +impouts inparam.c -expect 1 + $(SPLINTR) inparam.c -expect 2 + $(SPLINTR) +impouts inparam.c -expect 1 .PHONY: internal internal: - $(LCLINTR) internal.c -expect 1 - $(LCLINTR) internal.c +distinctinternalnames -expect 2 - $(LCLINTR) internal.c -internalnamelen 28 -expect 3 - $(LCLINTR) internal.c +internalnamecaseinsensitive -expect 3 - $(LCLINTR) internal.c +internalnamecaseinsensitive +internalnamelookalike -expect 11 + $(SPLINTR) internal.c -expect 1 + $(SPLINTR) internal.c +distinctinternalnames -expect 2 + $(SPLINTR) internal.c -internalnamelen 28 -expect 3 + $(SPLINTR) internal.c +internalnamecaseinsensitive -expect 3 + $(SPLINTR) internal.c +internalnamecaseinsensitive +internalnamelookalike -expect 11 ### ### iter @@ -1241,12 +1241,12 @@ internal: .PHONY: iter iter: - $(LCLINTR) iter -expect 14 -lclexpect 1 - $(LCLINTR) iter2.c -expect 12 + $(SPLINTR) iter -expect 14 -lclexpect 1 + $(SPLINTR) iter2.c -expect 12 .PHONY: keep keep: - $(LCLINTR) keep.c +memchecks -expect 6 + $(SPLINTR) keep.c +memchecks -expect 6 ### libs ### 2001-05-22: 2 new errors found (fixed spec of signal) @@ -1254,92 +1254,92 @@ keep: .PHONY: libs libs: - $(LCLINTR) libs.c +longunsignedunsignedintegral -expect 18 - $(LCLINTR) libs.c -expect 22 - $(LCLINTR) libs.c +globunspec +modunspec -expect 25 - $(LCLINTR) libs.c +strictlib +globunspec +modunspec -expect 42 + $(SPLINTR) libs.c +longunsignedunsignedintegral -expect 18 + $(SPLINTR) libs.c -expect 22 + $(SPLINTR) libs.c +globunspec +modunspec -expect 25 + $(SPLINTR) libs.c +strictlib +globunspec +modunspec -expect 42 .PHONY: lintcomments lintcomments: - $(LCLINTR) lintcomments.c -expect 4 - $(LCLINTR) lintcomments.c -warnlintcomments -expect 1 - $(LCLINTR) lintcomments.c -lintcomments -expect 4 + $(SPLINTR) lintcomments.c -expect 4 + $(SPLINTR) lintcomments.c -warnlintcomments -expect 1 + $(SPLINTR) lintcomments.c -lintcomments -expect 4 .PHONY: list list: - $(LCLINTR) list.c -expect 3 + $(SPLINTR) list.c -expect 3 .PHONY: macros macros: - $(LCLINTR) macros -expect 17 - $(LCLINTR) macros.c +allmacros -expect 34 - $(LCLINTR) macros.c +fcnmacros -expect 31 + $(SPLINTR) macros -expect 17 + $(SPLINTR) macros.c +allmacros -expect 34 + $(SPLINTR) macros.c +fcnmacros -expect 31 .PHONY: macrosef macrosef: - $(LCLINTR) macrosef -expect 4 - $(LCLINTR) macrosef.c +allmacros -expect 3 - $(LCLINTR) macrosef.c +allmacros +sefuncon -expect 4 + $(SPLINTR) macrosef -expect 4 + $(SPLINTR) macrosef.c +allmacros -expect 3 + $(SPLINTR) macrosef.c +allmacros +sefuncon -expect 4 .PHONY: merge merge: - $(LCLINTRN) merge.c +checks -exportlocal -exportheadervar -exportheader -expect 3 + $(SPLINTRN) merge.c +checks -exportlocal -exportheadervar -exportheader -expect 3 .PHONY: modifies modifies: - $(LCLINTR) modifies.c modclient.c +impcheckedstatics +mustmod -expect 7 + $(SPLINTR) modifies.c modclient.c +impcheckedstatics +mustmod -expect 7 .PHONY: modtest modtest: - $(LCLINTR) modtest -expect 10 - $(LCLINTR) modtest +modunspec -expect 13 - $(LCLINTR) modtest +mustmod -expect 14 + $(SPLINTR) modtest -expect 10 + $(SPLINTR) modtest +modunspec -expect 13 + $(SPLINTR) modtest +mustmod -expect 14 .PHONY: moduncon moduncon: - $(LCLINTR) moduncon.c +moduncon -memchecks -expect 4 - $(LCLINTRN) moduncon.c +strict -exportlocal -expect 22 + $(SPLINTR) moduncon.c +moduncon -memchecks -expect 4 + $(SPLINTRN) moduncon.c +strict -exportlocal -expect 22 .PHONY: mongoincludes mongoincludes: - $(LCLINTR) mongoincludes.c -includenest 1 -expect 19 - $(LCLINTR) mongoincludes.c -includenest 2 -expect 10 - $(LCLINTR) mongoincludes.c -includenest 3 -expect 4 - $(LCLINTR) mongoincludes.c -includenest 4 -expect 1 - $(LCLINTR) mongoincludes.c -includenest 5 -expect 0 + $(SPLINTR) mongoincludes.c -includenest 1 -expect 19 + $(SPLINTR) mongoincludes.c -includenest 2 -expect 10 + $(SPLINTR) mongoincludes.c -includenest 3 -expect 4 + $(SPLINTR) mongoincludes.c -includenest 4 -expect 1 + $(SPLINTR) mongoincludes.c -includenest 5 -expect 0 .PHONY: mystrncat mystrncat: - $(LCLINTR) mystrncat.c +arraybounds +arrayboundsread -expect 4 + $(SPLINTR) mystrncat.c +arraybounds +arrayboundsread -expect 4 .PHONY: noeffect noeffect: - ${LCLINT} -nof noeffect.c +allmacros +checks -expect 3 + ${SPLINT} -nof noeffect.c +allmacros +checks -expect 3 .PHONY: null null: - $(LCLINTR) null1.c -expect 14 - $(LCLINTR) null1.c -null -expect 4 - $(LCLINTR) null2.c -expect 10 - $(LCLINTR) null3.c -expect 15 - $(LCLINTR) null3.c -warnunixlib +unixlib -expect 16 - $(LCLINTR) null4.c -expect 1 - $(LCLINTR) null5.c -expect 4 - $(LCLINTR) null6 -expect 4 - $(LCLINTR) +quiet null6.lcl -dump null6 - $(LCLINTR) null6.c -load null6 -expect 4 + $(SPLINTR) null1.c -expect 14 + $(SPLINTR) null1.c -null -expect 4 + $(SPLINTR) null2.c -expect 10 + $(SPLINTR) null3.c -expect 15 + $(SPLINTR) null3.c -warnunixlib +unixlib -expect 16 + $(SPLINTR) null4.c -expect 1 + $(SPLINTR) null5.c -expect 4 + $(SPLINTR) null6 -expect 4 + $(SPLINTR) +quiet null6.lcl -dump null6 + $(SPLINTR) null6.c -load null6 -expect 4 ### Added for 3.0 (bugs reported by Kevin Broady) .PHONY: nullret nullret: - $(LCLINTR) nullret.c -expect 2 - $(LCLINTR) -nullret nullret.c -expect 1 + $(SPLINTR) nullret.c -expect 2 + $(SPLINTR) -nullret nullret.c -expect 1 .PHONY: nullassign nullassign: - $(LCLINTR) nullassign.c -expect 2 - $(LCLINTR) -nullassign nullassign.c -expect 1 + $(SPLINTR) nullassign.c -expect 2 + $(SPLINTR) -nullassign nullassign.c -expect 1 # # Before 2.4, expected one more because error was reported both as @@ -1348,168 +1348,168 @@ nullassign: .PHONY: observer observer: - $(LCLINTRN) observer +checks -exportlocal -exportheader -expect 9 - $(LCLINTRN) observer.c +checks -exportlocal -exportheader -expect 8 - $(LCLINTR) observer.c -expect 7 + $(SPLINTRN) observer +checks -exportlocal -exportheader -expect 9 + $(SPLINTRN) observer.c +checks -exportlocal -exportheader -expect 8 + $(SPLINTR) observer.c -expect 7 .PHONY: oldstyle oldstyle: - $(LCLINTR) oldstyle -expect 3 + $(SPLINTR) oldstyle -expect 3 .PHONY: outglob outglob: - $(LCLINTR) outglob -expect 10 + $(SPLINTR) outglob -expect 10 .PHONY: outparam outparam: - $(LCLINTR) outparam -expect 12 + $(SPLINTR) outparam -expect 12 ### evans 2001-08-26: postnotnull new .PHONY: postnotnull postnotnull: - ${LCLINTR} postnotnull.c -expect 1 + ${SPLINTR} postnotnull.c -expect 1 # # Four new +fcnuse errors for -strict (evans 2001-07-22) # .PHONY: preds preds: - $(LCLINTR) +hints preds.c -expect 6 - $(LCLINTRN) +hints preds.c -weak -expect 1 - $(LCLINTRN) +hints preds.c -strict -exportlocal -exportheader -expect 12 + $(SPLINTR) +hints preds.c -expect 6 + $(SPLINTRN) +hints preds.c -weak -expect 1 + $(SPLINTRN) +hints preds.c -strict -exportlocal -exportheader -expect 12 .PHONY: prefixes prefixes: - $(LCLINTR) prefixes.c +partial - $(LCLINTRN) prefixes.c +allmacros +checks -exportlocal +partial -exportheader -exportheadervar -expect 4 - $(LCLINTR) prefixes.c -typeprefix "T" -expect 2 - $(LCLINTR) prefixes.c -typeprefix "^" -expect 1 - $(LCLINTR) prefixes.c -typeprefix "^*" -expect 2 - $(LCLINTR) prefixes.c -typeprefix "^%*" -expect 2 - $(LCLINTR) prefixes.c -typeprefix "^~*" -expect 2 - $(LCLINTR) prefixes.c -typeprefix "^" +typeprefixexclude -expect 7 - $(LCLINTR) prefixes.c -filestaticprefix "^^" -expect 4 - $(LCLINTR) prefixes.c -filestaticprefix "^#" -expect 5 - $(LCLINTR) prefixes.c -filestaticprefix "^?&x" -expect 5 - $(LCLINTR) prefixes.c -globalprefix "G" -expect 1 - $(LCLINTR) prefixes.c -globalprefix "&G?_^" -expect 1 - $(LCLINTR) prefixes.c -externalprefix "G" -expect 5 - $(LCLINTR) prefixes.c -typeprefix "T" -externalprefix "G" -expect 4 - $(LCLINTR) prefixes.c -localprefix "?*" +localprefixexclude -expect 13 + $(SPLINTR) prefixes.c +partial + $(SPLINTRN) prefixes.c +allmacros +checks -exportlocal +partial -exportheader -exportheadervar -expect 4 + $(SPLINTR) prefixes.c -typeprefix "T" -expect 2 + $(SPLINTR) prefixes.c -typeprefix "^" -expect 1 + $(SPLINTR) prefixes.c -typeprefix "^*" -expect 2 + $(SPLINTR) prefixes.c -typeprefix "^%*" -expect 2 + $(SPLINTR) prefixes.c -typeprefix "^~*" -expect 2 + $(SPLINTR) prefixes.c -typeprefix "^" +typeprefixexclude -expect 7 + $(SPLINTR) prefixes.c -filestaticprefix "^^" -expect 4 + $(SPLINTR) prefixes.c -filestaticprefix "^#" -expect 5 + $(SPLINTR) prefixes.c -filestaticprefix "^?&x" -expect 5 + $(SPLINTR) prefixes.c -globalprefix "G" -expect 1 + $(SPLINTR) prefixes.c -globalprefix "&G?_^" -expect 1 + $(SPLINTR) prefixes.c -externalprefix "G" -expect 5 + $(SPLINTR) prefixes.c -typeprefix "T" -externalprefix "G" -expect 4 + $(SPLINTR) prefixes.c -localprefix "?*" +localprefixexclude -expect 13 .PHONY: printflike printflike: - $(LCLINTR) printflike.c -expect 6 - $(LCLINTR) printflike.c -warnlintcomments -expect 5 + $(SPLINTR) printflike.c -expect 6 + $(SPLINTR) printflike.c -warnlintcomments -expect 5 .PHONY: rc rc: - $(LCLINTR) -DMYSTERY='"a flag\"wicked cool"' rc.c -expect 1 - $(LCLINTR) -DMYSTERY=12 rc.c -expect 1 - $(LCLINTR) -f rc1.lclintrc rc.c -expect 1 - $(LCLINTR) -UMYSTERY -f rc1.lclintrc rc.c -expect 1 - $(LCLINTR) -f rc3.lclintrc rc.c -expect 1 + $(SPLINTR) -DMYSTERY='"a flag\"wicked cool"' rc.c -expect 1 + $(SPLINTR) -DMYSTERY=12 rc.c -expect 1 + $(SPLINTR) -f rc1.splintrc rc.c -expect 1 + $(SPLINTR) -UMYSTERY -f rc1.splintrc rc.c -expect 1 + $(SPLINTR) -f rc3.splintrc rc.c -expect 1 .PHONY: refcounts refcounts: - $(LCLINTR) refcounts.c -expect 7 + $(SPLINTR) refcounts.c -expect 7 .PHONY: release release: - $(LCLINTR) release.c +memchecks -expect 1 + $(SPLINTR) release.c +memchecks -expect 1 .PHONY: repexpose repexpose: - $(LCLINTR) +lh repexpose +memchecks -expect 12 - $(LCLINTR) repexpose +memchecks +retalias -expect 15 - $(LCLINTRN) repexpose +checks -exportlocal -expect 27 + $(SPLINTR) +lh repexpose +memchecks -expect 12 + $(SPLINTR) repexpose +memchecks +retalias -expect 15 + $(SPLINTRN) repexpose +checks -exportlocal -expect 27 ### returned added 2001-05-27 -### (Bug discovered checking lclint sources.) +### (Bug discovered checking splint sources.) .PHONY: returned returned: - ${LCLINTR} returned.c -expect 1 + ${SPLINTR} returned.c -expect 1 .PHONY: sharing sharing: - $(LCLINTR) sharing1.c -expect 21 - $(LCLINTR) sharing3.c -expect 3 - $(LCLINTR) sharing4.c -expect 13 - $(LCLINTR) sharing4.c -paramimptemp -expect 12 - $(LCLINTR) sharing5.c -expect 6 + $(SPLINTR) sharing1.c -expect 21 + $(SPLINTR) sharing3.c -expect 3 + $(SPLINTR) sharing4.c -expect 13 + $(SPLINTR) sharing4.c -paramimptemp -expect 12 + $(SPLINTR) sharing5.c -expect 6 .PHONY: slovaknames slovaknames: - $(LCLINTR) +hints slovaknames.c -expect 1 - $(LCLINTR) +hints slovaknames.c +accessslovak - $(LCLINTR) +hints +slovak slovaknames.c -expect 3 - $(LCLINTR) +hints +slovak -slovakvars slovaknames.c -expect 2 - $(LCLINTR) +hints +slovak -accessslovak slovaknames.c -expect 7 + $(SPLINTR) +hints slovaknames.c -expect 1 + $(SPLINTR) +hints slovaknames.c +accessslovak + $(SPLINTR) +hints +slovak slovaknames.c -expect 3 + $(SPLINTR) +hints +slovak -slovakvars slovaknames.c -expect 2 + $(SPLINTR) +hints +slovak -accessslovak slovaknames.c -expect 7 .PHONY: specclauses specclauses: - $(LCLINTR) specclauses.c -expect 6 - $(LCLINTR) specclauses2.c -expect 8 - $(LCLINTR) specclauses3.c -expect 6 - $(LCLINTR) specclauses4.c -expect 3 - $(LCLINTR) specclauses5.c -expect 3 + $(SPLINTR) specclauses.c -expect 6 + $(SPLINTR) specclauses2.c -expect 8 + $(SPLINTR) specclauses3.c -expect 6 + $(SPLINTR) specclauses4.c -expect 3 + $(SPLINTR) specclauses5.c -expect 3 .PHONY: special special: - $(LCLINTR) special -expect 20 - $(LCLINTR) special -relaxquals -expect 22 + $(SPLINTR) special -expect 20 + $(SPLINTR) special -relaxquals -expect 22 .PHONY: stack stack: - $(LCLINTR) stack.c -expect 5 - $(LCLINTR) stack.c -stackref + $(SPLINTR) stack.c -expect 5 + $(SPLINTR) stack.c -stackref .PHONY: staticarray staticarray: - $(LCLINTR) staticarray.c -expect 3 + $(SPLINTR) staticarray.c -expect 3 .PHONY: strings strings: - $(LCLINTR) strings.c -expect 3 - $(LCLINTR) -readonlystrings -expect 1 strings.c - $(LCLINTR) +modobserverstrict -maintype -expect 4 strings.c + $(SPLINTR) strings.c -expect 3 + $(SPLINTR) -readonlystrings -expect 1 strings.c + $(SPLINTR) +modobserverstrict -maintype -expect 4 strings.c .PHONY: structassign structassign: - $(LCLINTR) structassign.c -expect 4 + $(SPLINTR) structassign.c -expect 4 .PHONY: typequals typequals: - $(LCLINTR) typequals.c tq.lcl -expect 5 - $(LCLINTR) typequals.c -expect 2 + $(SPLINTR) typequals.c tq.lcl -expect 5 + $(SPLINTR) typequals.c -expect 2 .PHONY: ud ud: - $(LCLINTR) ud.c -expect 9 - $(LCLINTR) ud2 -specundef -expect 3 + $(SPLINTR) ud.c -expect 9 + $(SPLINTR) ud2 -specundef -expect 3 .PHONY: ulstypes ulstypes: - $(LCLINTR) ulstypes.c -expect 8 - $(LCLINTR) ulstypes.c +ignorequals - $(LCLINTRN) ulstypes.c +strict -exportheader -exportheadervar -expect 28 + $(SPLINTR) ulstypes.c -expect 8 + $(SPLINTR) ulstypes.c +ignorequals + $(SPLINTRN) ulstypes.c +strict -exportheader -exportheadervar -expect 28 # 3 more detected with version 2.5 (change in -numliteral setting) .PHONY: union union: - $(LCLINTR) +memchecks union.c -expect 8 + $(SPLINTR) +memchecks union.c -expect 8 .PHONY: unreachable unreachable: - $(LCLINTR) unreachable.c -expect 5 - $(LCLINTR) -unreachable unreachable.c -expect 2 - $(LCLINTR) switch.c -expect 4 + $(SPLINTR) unreachable.c -expect 5 + $(SPLINTR) -unreachable unreachable.c -expect 2 + $(SPLINTR) switch.c -expect 4 .PHONY: unsignedcompare unsignedcompare: - ${LCLINTR} +posixlib unsignedcompare.c -expect 4 + ${SPLINTR} +posixlib unsignedcompare.c -expect 4 ### ### 2001-06-08 evans: 2 new errors after fixing ansireserved name checks @@ -1517,8 +1517,8 @@ unsignedcompare: .PHONY: unused unused: - $(LCLINTRN) unused.c +checks -exportlocal -expect 5 - $(LCLINTRN) unused.c +checks -exportlocal +topuse -expect 8 + $(SPLINTRN) unused.c +checks -exportlocal -expect 5 + $(SPLINTRN) unused.c +checks -exportlocal +topuse -expect 8 ### ### 2001-06-10: Provided by Jim Zalenka @@ -1526,12 +1526,12 @@ unused: .PHONY: ullint ullint: - ${LCLINTRN} ullint.c -expect 5 - ${LCLINTRN} ullint.c +charint +charintliteral -expect 2 + ${SPLINTRN} ullint.c -expect 5 + ${SPLINTRN} ullint.c +charint +charintliteral -expect 2 .PHONY: void void: - ${LCLINTRN} void.c -expect 2 + ${SPLINTRN} void.c -expect 2 ### ### New since 2.5q: @@ -1539,28 +1539,28 @@ void: .PHONY: linked linked: - ${LCLINTR} linked.c -expect 4 - ${LCLINTR} linked2.c -expect 3 - ${LCLINTR} linked3.c -expect 5 - ${LCLINTR} linked4.c -expect 6 - ${LCLINTR} linked5.c -expect 4 - ${LCLINTR} linked6.c -expect 4 + ${SPLINTR} linked.c -expect 4 + ${SPLINTR} linked2.c -expect 3 + ${SPLINTR} linked3.c -expect 5 + ${SPLINTR} linked4.c -expect 6 + ${SPLINTR} linked5.c -expect 4 + ${SPLINTR} linked6.c -expect 4 .PHONY: freearray freearray: - ${LCLINTR} freearray.c -expect 1 + ${SPLINTR} freearray.c -expect 1 .PHONY: sizeof sizeof: - $(LCLINTR) +arraybounds +arrayboundsread sizeof.c -expect 1 + $(SPLINTR) +arraybounds +arrayboundsread sizeof.c -expect 1 .PHONY: buffertest buffertest: - $(LCLINTR) +arraybounds +arrayboundsread buffertest1.c -expect 5 + $(SPLINTR) +arraybounds +arrayboundsread buffertest1.c -expect 5 .PHONY: $(SUBDIRTESTS) $(SUBDIRTESTS): - cd $@; $(MAKE) LCLINT="$(LCLINTRNNEST)" + cd $@; $(MAKE) SPLINT="$(SPLINTRNNEST)" # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/test/abst_t.lcs b/test/abst_t.lcs index 285ccaf..a514585 100644 --- a/test/abst_t.lcs +++ b/test/abst_t.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/abstptr.expect b/test/abstptr.expect index 1b1d5a3..bf5a4b1 100644 --- a/test/abstptr.expect +++ b/test/abstptr.expect @@ -11,7 +11,7 @@ abstptr.c:20:16: Cast to underlying abstract type abst *: (abst *)&b abstptr.c:21:3: Assignment of int * to abst *: ap = &b abstptr.c:22:3: Assignment of int to abst: *ap = b -Finished LCLint checking --- 9 code errors found, as expected +Finished checking --- 9 code warnings, as expected abstptr.c: (in function main) abstptr.c:14:3: Assignment of abst * to int *: ip = ap2 @@ -22,4 +22,4 @@ abstptr.c:20:16: Cast to underlying abstract type abst *: (abst *)&b abstptr.c:21:3: Assignment of int * to abst *: ap = &b abstptr.c:22:3: Assignment of int to abst: *ap = b -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected diff --git a/test/abstptr.lcs b/test/abstptr.lcs index c2f37f4..561da0e 100644 --- a/test/abstptr.lcs +++ b/test/abstptr.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/abstract.expect b/test/abstract.expect index 815b38b..217af09 100644 --- a/test/abstract.expect +++ b/test/abstract.expect @@ -19,4 +19,4 @@ commentcmd.c:46:22: Cast to abstract type abst1: (abst1)i commentcmd.c:47:22: Cast to abstract type abst2: (abst2)i commentcmd.c:48:22: Cast to abstract type abst3: (abst3)i -Finished LCLint checking --- 15 code errors found, as expected +Finished checking --- 15 code warnings, as expected diff --git a/test/alias.expect b/test/alias.expect index a859b57..6cbe10b 100644 --- a/test/alias.expect +++ b/test/alias.expect @@ -1,5 +1,5 @@ -Finished LCLint checking --- no code errors found +Finished checking --- no warnings alias.c: (in function f) alias.c:11:3: Possible undocumented modification of *a through alias *x: *x = 3 @@ -32,7 +32,7 @@ alias.c:51:3: Undocumented modification of b possible from call to mut_mod alias.c:55:12: Owned storage b not released before return alias.c:52:3: Storage b becomes owned -Finished LCLint checking --- 19 code errors found, as expected +Finished checking --- 19 code warnings, as expected alias2.c: (in function f) alias2.c:17:3: Variable lx used before definition @@ -65,7 +65,7 @@ alias2.c:55:3: Possible undocumented modification of *a through alias *globp: alias2.c:56:12: Function returns with global variable globp aliasing parameter a -Finished LCLint checking --- 17 code errors found, as expected +Finished checking --- 17 code warnings, as expected alias3.c: (in function model) alias3.c:16:3: Undocumented modification of gst.a: gst.a = 3 @@ -94,9 +94,9 @@ alias3.c:62:3: Possible undocumented modification of u1->a through alias ul->a: alias3.c:65:3: Possible undocumented modification of *(u1->s.b) through alias *(sl.b): *(sl.b) = 6 -Finished LCLint checking --- 14 code errors found, as expected +Finished checking --- 14 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings alias4.c: (in function f) alias4.c:15:10: Function may return reference to parameter a through alias c: c @@ -107,7 +107,7 @@ alias4.c:28:12: Function returns reference to global globp: globp alias4.c:30:12: Function returns reference to global globs: (globs.field) alias4.c:32:12: Function returns reference to global globs: (&(globs.val)) -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected alias5.c: (in function incx1) alias5.c:13:3: Possible undocumented modification of p->x through alias p2->x: @@ -123,4 +123,4 @@ alias5.c:28:3: Possible undocumented modification of *(p->x) through alias alias5.c:30:2: Storage p->x reachable from parameter is kept (should be only) alias5.c:27:3: Storage p->x becomes kept -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected diff --git a/test/alias.lcs b/test/alias.lcs index e479c08..5228048 100644 --- a/test/alias.lcs +++ b/test/alias.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/alias2.lcs b/test/alias2.lcs index 7516a09..6d45b0b 100644 --- a/test/alias2.lcs +++ b/test/alias2.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/alias3.lcs b/test/alias3.lcs index fa1611f..049a491 100644 --- a/test/alias3.lcs +++ b/test/alias3.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/alias3.lh b/test/alias3.lh index a5abb19..5c9ecf3 100644 --- a/test/alias3.lh +++ b/test/alias3.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" diff --git a/test/alias4.lcs b/test/alias4.lcs index 9a0f46b..98e47ad 100644 --- a/test/alias4.lcs +++ b/test/alias4.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/alias4.lh b/test/alias4.lh index ca7832c..63e4f54 100644 --- a/test/alias4.lh +++ b/test/alias4.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" # include "mut.h" diff --git a/test/alias5.lcs b/test/alias5.lcs index b6e092c..ff93612 100644 --- a/test/alias5.lcs +++ b/test/alias5.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/alias5.lh b/test/alias5.lh index ed26940..6f2bc19 100644 --- a/test/alias5.lh +++ b/test/alias5.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" diff --git a/test/alttypes.expect b/test/alttypes.expect index b1c269f..78430a3 100644 --- a/test/alttypes.expect +++ b/test/alttypes.expect @@ -8,4 +8,4 @@ alttypes.c:25:20: Variable x inconsistently redeclared with alternate types int be correct) alttypes.c:24:33: Previous declaration of x: int | char | bool -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected diff --git a/test/ansireserved.expect b/test/ansireserved.expect index eb377ae..b7e08a8 100644 --- a/test/ansireserved.expect +++ b/test/ansireserved.expect @@ -19,7 +19,7 @@ ansireserved.c:11:5: Name isaFish is reserved for future ANSI library ansireserved.c: (in function isaFish) ansireserved.c:16:20: Name wctomb is reserved for the standard library -Finished LCLint checking --- 9 code errors found, as expected +Finished checking --- 9 code warnings, as expected ansireserved.c:9: Name EVANS is reserved for future ANSI library extensions. Macros beginning with E and a digit or uppercase letter may be added to @@ -47,7 +47,7 @@ ansireserved.c:15:22: Name memory is reserved for future ANSI library letter letter may be added to . (See ANSI, Section 4.13.8) ansireserved.c:16:20: Name wctomb is reserved for the standard library -Finished LCLint checking --- 11 code errors found, as expected +Finished checking --- 11 code warnings, as expected ansireserved.c:9: Name EVANS is reserved for future ANSI library extensions. Macros beginning with E and a digit or uppercase letter may be added to @@ -76,9 +76,9 @@ ansireserved.c: (in function isaFish) ansireserved.c:16:20: Name wctomb is reserved for the standard library ansireserved.c:5:5: Function atan2f declared but not defined -Finished LCLint checking --- 12 code errors found, as expected +Finished checking --- 12 code warnings, as expected ansireserved2.c:4:2: Name _s1 is in the implementation name space (any identifier beginning with underscore) -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected diff --git a/test/argorder.expect b/test/argorder.expect index 7fae137..bf0108c 100644 --- a/test/argorder.expect +++ b/test/argorder.expect @@ -9,7 +9,7 @@ argorder.c:10:13: Argument 1 modifies j, used by argument 3 (order of argorder.c:10:25: Argument 2 modifies i, used by argument 1 (order of evaluation of actual parameters is undefined): f((i++, j++), (i = 3), j) -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected argorder2.c: (in function g) argorder2.c:16:12: Argument 1 modifies i, used by argument 2 (order of @@ -23,7 +23,7 @@ argorder2.c:18:12: Argument 1 modifies i, used by argument 2 (order of argorder2.c:19:14: Argument 1 modifies i, used by argument 2 (order of evaluation of actual parameters is undefined): f(i++, i) -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected argorder3.c: (in function f) argorder3.c:7:8: Expression has undefined behavior (value of left operand i is @@ -42,7 +42,7 @@ argorder3.c:12:14: Expression has undefined behavior (left operand modifies i, used by right operand): --i * ++i argorder3.c:13:2: Path with no return in function declared to return int -Finished LCLint checking --- 8 code errors found, as expected +Finished checking --- 8 code warnings, as expected argorder4.c: (in function h) argorder4.c:19:21: Expression has undefined behavior (left operand uses glob, @@ -67,12 +67,12 @@ argorder4.c:35:38: Argument 2 modifies *stdout, set by argument 1 (order of add((printf("hullo"), 3), (printf("goodbye"), 4)) argorder4.c:35:10: Unreachable code: return (add((pri... -Finished LCLint checking --- 9 code errors found, as expected +Finished checking --- 9 code warnings, as expected argorder4.c: (in function h) argorder4.c:35:10: Unreachable code: return (add((pri... -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected argorder5.c: (in function f) argorder5.c:8:9: Variable name used after being released @@ -83,4 +83,4 @@ argorder5.c:10:28: Argument 2 modifies *name, used by argument 1 (order of evaluation of actual parameters is undefined): test2(copystring(name), f(name)) -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected diff --git a/test/argorder2.lcs b/test/argorder2.lcs index 1bec8c8..a9eb3d1 100644 --- a/test/argorder2.lcs +++ b/test/argorder2.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/argorder4.lcs b/test/argorder4.lcs index d65d2ce..3035277 100644 --- a/test/argorder4.lcs +++ b/test/argorder4.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/args.expect b/test/args.expect index 38b6a3f..307cf96 100644 --- a/test/args.expect +++ b/test/args.expect @@ -24,4 +24,4 @@ args.c:59:33: Parameter 3, f, of function many1 has inconsistent type: args.c:73:5: Function many3 declared with 1 arg, specified with 3 args.lcl:6: Specification of many3 -Finished LCLint checking --- 12 code errors found, as expected +Finished checking --- 12 code warnings, as expected diff --git a/test/args.lcs b/test/args.lcs index 8150d8d..dcc20c6 100644 --- a/test/args.lcs +++ b/test/args.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/blocks.expect b/test/blocks.expect index 06db454..20e7897 100644 --- a/test/blocks.expect +++ b/test/blocks.expect @@ -6,7 +6,7 @@ blocks.c:4:10: Suspected infinite loop. No value used in loop test (x) is blocks.c:21:16: Body of if clause of if statement is empty blocks.c:22:9: Body of else clause of if statement is empty -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected blocks.c: (in function f) blocks.c:3:15: Body of if statement is empty @@ -18,7 +18,7 @@ blocks.c:19:8: Body of else clause of if statement is not a block: x = 4 blocks.c:21:16: Body of if clause of if statement is empty blocks.c:22:9: Body of else clause of if statement is empty -Finished LCLint checking --- 7 code errors found, as expected +Finished checking --- 7 code warnings, as expected blocks.c: (in function f) blocks.c:4:18: Body of while statement is empty @@ -26,7 +26,7 @@ blocks.c:4:10: Suspected infinite loop. No value used in loop test (x) is modified by test or loop body. blocks.c:7:18: Body of while statement is not a block: x++ -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected blocks.c: (in function f) blocks.c:4:10: Suspected infinite loop. No value used in loop test (x) is @@ -34,7 +34,7 @@ blocks.c:4:10: Suspected infinite loop. No value used in loop test (x) is blocks.c:12:23: Body of for statement is empty blocks.c:13:23: Body of for statement is not a block: x++ -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected blocks.c: (in function f) blocks.c:3:15: Body of if statement is empty @@ -45,7 +45,7 @@ blocks.c:12:23: Body of for statement is empty blocks.c:21:16: Body of if clause of if statement is empty blocks.c:22:9: Body of else clause of if statement is empty -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected blocks.c: (in function f) blocks.c:3:15: Body of if statement is empty @@ -61,4 +61,4 @@ blocks.c:19:8: Body of else clause of if statement is not a block: x = 4 blocks.c:21:16: Body of if clause of if statement is empty blocks.c:22:9: Body of else clause of if statement is empty -Finished LCLint checking --- 11 code errors found, as expected +Finished checking --- 11 code warnings, as expected diff --git a/test/break.expect b/test/break.expect index fa6d9c7..cb424db 100644 --- a/test/break.expect +++ b/test/break.expect @@ -7,7 +7,7 @@ break.c:3:10: Suspected infinite loop. No value used in loop test (x) is modified by test or loop body. break.c:34:24: Break preceded by innerbreak is not in a deep loop -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected break.c: (in function f) break.c:12:4: Break preceded by loopbreak is breaking a switch @@ -19,7 +19,7 @@ break.c:3:10: Suspected infinite loop. No value used in loop test (x) is modified by test or loop body. break.c:34:24: Break preceded by innerbreak is not in a deep loop -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected break.c: (in function f) break.c:12:4: Break preceded by loopbreak is breaking a switch @@ -30,4 +30,4 @@ break.c:3:10: Suspected infinite loop. No value used in loop test (x) is modified by test or loop body. break.c:34:24: Break preceded by innerbreak is not in a deep loop -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected diff --git a/test/buffertest.expect b/test/buffertest.expect index a22a2cb..038b9c6 100644 --- a/test/buffertest.expect +++ b/test/buffertest.expect @@ -19,4 +19,4 @@ buffertest1.c:21:10: Possible out-of-bounds read: needed to satisfy precondition: requires maxRead(g @ buffertest1.c:21:10) >= 1 -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected diff --git a/test/cases.expect b/test/cases.expect index d6d0f44..3825245 100644 --- a/test/cases.expect +++ b/test/cases.expect @@ -6,7 +6,7 @@ cases.c:30:10: Fall through case (no preceding break) cases.c:37:13: Fall through case (no preceding break) cases.c:40:2: Path with no return in function declared to return int -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected cases2.c: (in function f2) cases2.c:26:5: Variable x is released in one possible execution, but live in @@ -17,7 +17,7 @@ cases2.c:37:5: Variable x is released in one possible execution, but live in other possible execution. cases2.c:36:16: Storage x is released -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected cases2.c: (in function f2) cases2.c:26:5: Variable x is released in one possible execution, but live in @@ -29,7 +29,7 @@ cases2.c:37:5: Variable x is released in one possible execution, but live in cases2.c:36:16: Storage x is released cases2.c:1:24: Function g declared but not defined -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected cases2.c: (in function f2) cases2.c:28:12: Variable x used after being released @@ -39,4 +39,4 @@ cases2.c:39:12: Variable x used after being released cases2.c:36:16: Storage x released cases2.c:1:24: Function g declared but not defined -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected diff --git a/test/cast.expect b/test/cast.expect index a1d0963..9dee820 100644 --- a/test/cast.expect +++ b/test/cast.expect @@ -28,7 +28,7 @@ cast.c:22:19: Owned storage ap not released before return cast.c:22:19: Last reference ip to owned storage a not released before return cast.c:20:10: Original reference lost -Finished LCLint checking --- 20 code errors found, as expected +Finished checking --- 20 code warnings, as expected cast2.c: (in function f1) cast2.c:9:10: Implicitly temp storage x returned as implicitly only: x @@ -37,4 +37,4 @@ cast2.c: (in function f2) cast2.c:15:10: Implicitly dependent storage x returned as implicitly only: (abst1)x -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected diff --git a/test/cast.lcs b/test/cast.lcs index 2ccaaa5..fc3048a 100644 --- a/test/cast.lcs +++ b/test/cast.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/charlit.expect b/test/charlit.expect index 979deac..0b76814 100644 --- a/test/charlit.expect +++ b/test/charlit.expect @@ -9,7 +9,7 @@ charlit.c:8:10: Return value type char does not match declared type int: 'a' charlit.c:12:14: Variable u initialized to type int, expects unsigned int: -3 To ignore signs in type comparisons use +ignoresigns -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected charlit.c: (in function f) charlit.c:3:11: Variable x initialized to type char, expects int: 'a' @@ -26,6 +26,6 @@ charlit.c:11:18: Initial value of s[1] is type int, expects short int: -1 charlit.c:12:14: Variable u initialized to type int, expects unsigned int: -3 To ignore signs in type comparisons use +ignoresigns -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings diff --git a/test/clauses.expect b/test/clauses.expect index 0177ee6..36ca6ff 100644 --- a/test/clauses.expect +++ b/test/clauses.expect @@ -12,9 +12,9 @@ clauses.c:20:5: Variable z is released in true branch, but live in false branch. clauses.c:15:13: Storage z is released -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings clauses3.c: (in function h) clauses3.c:48:5: Storage x->x is released in one path, but live in another. @@ -23,7 +23,7 @@ clauses3.c: (in function m) clauses3.c:61:5: Storage x->x is released in one path, but live in another. clauses3.c:60:13: Storage x->x is released -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected Warning: selecting unix library. Unix library is ad hoc addition to POSIX library. Recommend use +posixlib to select POSIX library instead. Use @@ -37,4 +37,4 @@ clauses3.c:60:13: Possibly null storage x->x passed as non-null param: clauses3.c:61:5: Storage x->x is released in one path, but live in another. clauses3.c:60:13: Storage x->x is released -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected diff --git a/test/commentchar.expect b/test/commentchar.expect index caf9346..8ccf433 100644 --- a/test/commentchar.expect +++ b/test/commentchar.expect @@ -6,7 +6,7 @@ commentchar.c:10:5: Variable x redefined commentchar.c:6:5: Previous definition of x commentchar.c:10:9: Variable x initialized to type char, expects int: 'c' -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected commentchar.c:14:1: Syntactic commentchar comment is not followed by a whitespace character: 5 @@ -14,4 +14,4 @@ commentchar.c:15:1: Cannot restore commentchar commentchar.c:1:26: Unrecognized identifier in modifies comment: x commentchar.c:6:9: Variable x initialized to type char, expects int: 'c' -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected diff --git a/test/compdestroy.expect b/test/compdestroy.expect index 1583694..6c0cdd2 100644 --- a/test/compdestroy.expect +++ b/test/compdestroy.expect @@ -3,7 +3,7 @@ compdestroy.c: (in function sip_free2) compdestroy.c:25:9: Only storage *(x->ips) (type oip) derived from released storage is not released (memory leak): x->ips -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected compdestroy.c: (in function sip_free) compdestroy.c:19:9: Only storage x->ips[] (type oip) derived from released @@ -12,7 +12,7 @@ compdestroy.c: (in function sip_free2) compdestroy.c:25:9: Only storage *(x->ips) (type oip) derived from released storage is not released (memory leak): x->ips -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected compdestroy.c: (in function sip_free) compdestroy.c:16:13: Possibly dead storage x->ips[] passed as out parameter: @@ -24,7 +24,7 @@ compdestroy.c: (in function sip_free2) compdestroy.c:25:9: Only storage *(x->ips) (type oip) derived from released storage is not released (memory leak): x->ips -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected compdestroy.c: (in function sip_free) compdestroy.c:16:13: Possibly dead storage x->ips[] passed as out parameter: @@ -36,4 +36,4 @@ compdestroy.c: (in function sip_free2) compdestroy.c:25:9: Only storage *(x->ips) (type oip) derived from released storage is not released (memory leak): x->ips -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected diff --git a/test/constannot.expect b/test/constannot.expect index d8cfbb5..1c530c4 100644 --- a/test/constannot.expect +++ b/test/constannot.expect @@ -14,4 +14,4 @@ constannot.c:20:3: Possible out-of-bounds store: derived from foo precondition: requires maxSet() >= -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected diff --git a/test/controldepth.expect b/test/controldepth.expect index c1cae02..5378daa 100644 --- a/test/controldepth.expect +++ b/test/controldepth.expect @@ -5,7 +5,7 @@ controldepth.c:8:15: Maximum control nesting depth (2) exceeded message) controldepth.c:15:17: Maximum control nesting depth (2) exceeded -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected controldepth.c: (in function f) controldepth.c:6:15: Maximum control nesting depth (1) exceeded @@ -13,4 +13,4 @@ controldepth.c:6:15: Maximum control nesting depth (1) exceeded message) controldepth.c:11:13: Maximum control nesting depth (1) exceeded -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected diff --git a/test/czechnames.expect b/test/czechnames.expect index 02f01e2..aa9688b 100644 --- a/test/czechnames.expect +++ b/test/czechnames.expect @@ -1,5 +1,5 @@ -Finished LCLint checking --- no code errors found +Finished checking --- no warnings czechnames.c:5:5: Variable michelob_light name violates Czech naming convention. Czech prefix michelob is not the name of a type. @@ -10,14 +10,14 @@ czechnames.c:26:5: Function budweiser name is not consistent with Czech naming Function or iterator name is not consistent with Czech naming convention. (Setting either -czechfcns or -namechecks will suppress message) -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected czechnames.c:26:5: Function budweiser name is not consistent with Czech naming convention. Accessible types: pivo Function or iterator name is not consistent with Czech naming convention. (Setting either -czechfcns or -namechecks will suppress message) -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected czechnames.c:4:5: Variable pivo_pyet name violates Czech naming convention. Czech prefix pivo names an abstract type that is not accessible. @@ -40,4 +40,4 @@ czechnames.c:15:11: Left operand of == is abstract type (pivo): p == 1 czechnames.c:26:5: Function budweiser name is not consistent with Czech naming convention. Accessible types: pivo -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected diff --git a/test/czechoslovaknames.expect b/test/czechoslovaknames.expect index 8a73041..8ba3a37 100644 --- a/test/czechoslovaknames.expect +++ b/test/czechoslovaknames.expect @@ -4,14 +4,14 @@ czechnames.c:26:5: Function budweiser name is not consistent with Czechoslovak Function name is not consistent with Czechoslovak naming convention. (Setting either -czechoslovakfcns or -namechecks will suppress message) -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected slovaknames.c:32:5: Function budweiser name is not consistent with Czechoslovak naming convention. Function name is not consistent with Czechoslovak naming convention. (Setting either -czechoslovakfcns or -namechecks will suppress message) -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected slovaknames.c:5:5: Variable michelobLight name violates Slovak naming convention. Slovak prefix michelob is not the name of a type. @@ -22,4 +22,4 @@ slovaknames.c:32:5: Function budweiser name is not consistent with Czechoslovak Function name is not consistent with Czechoslovak naming convention. (Setting either -czechoslovakfcns or -namechecks will suppress message) -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected diff --git a/test/db1.expect b/test/db1.expect index c0f7a5d..efc2832 100644 --- a/test/db1.expect +++ b/test/db1.expect @@ -38,7 +38,7 @@ dbase.c:211: Variable e declared but not used drive.c: (in function main) drive.c:123: Return value (type db_status) ignored: hire(e) -Finished LCLint checking --- 16 code errors found, as expected +Finished checking --- 16 code warnings, as expected employee.h:2: Name EMPLOYEE_H is reserved for future ANSI library extensions. Macros beginning with E and a digit or uppercase letter may be added to @@ -654,4 +654,4 @@ varuse 4 0 ======== ========= Total 333 73 -Finished LCLint checking --- 333 code errors found, as expected +Finished checking --- 333 code warnings, as expected diff --git a/test/db1/Makefile b/test/db1/Makefile index 8a669cb..8e61790 100644 --- a/test/db1/Makefile +++ b/test/db1/Makefile @@ -1,5 +1,5 @@ ### -### LCLint db1 test +### Splint db1 test ### ### Taken from sample, second iteration: weakchecks ### @@ -9,9 +9,9 @@ SHELL = /bin/csh -f -LCLINT = lclint -booltype bool -LCL = $(LCLINT) -specundef +lh +quiet -nof -LCLINTLH = $(LCLINT) +lh +SPLINT = splint -booltype bool +LCL = $(SPLINT) -specundef +lh +quiet -nof +SPLINTLH = $(SPLINT) +lh LCSFILES = bool.lcs dbase.lcs employee.lcs empset.lcs erc.lcs eref.lcs ereftab.lcs MODULES = bool.lcl employee eref empset ereftab erc dbase drive.c @@ -26,8 +26,8 @@ test: ### check: $(LCSFILES) - $(LCLINT) -showcol -weak $(MODULES) -expect 16 - $(LCLINT) -showcol +strict -modfilesystem +showsummary $(MODULES) -expect 333 + $(SPLINT) -showcol -weak $(MODULES) -expect 16 + $(SPLINT) -showcol +strict -modfilesystem +showsummary $(MODULES) -expect 333 ### The following rules generate .lh and .lcs files from .lcl files. They also ### ensure that .h files appear to be updated whenever the corresponding .lh diff --git a/test/db1/bool.lcs b/test/db1/bool.lcs index 108f13a..b1d32f3 100644 --- a/test/db1/bool.lcs +++ b/test/db1/bool.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db1/bool.lh b/test/db1/bool.lh index 0d734e0..6aae629 100644 --- a/test/db1/bool.lh +++ b/test/db1/bool.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" diff --git a/test/db1/dbase.lcs b/test/db1/dbase.lcs index 7105f28..910bc71 100644 --- a/test/db1/dbase.lcs +++ b/test/db1/dbase.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db1/dbase.lh b/test/db1/dbase.lh index 91057d3..4dcd4c5 100644 --- a/test/db1/dbase.lh +++ b/test/db1/dbase.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include # include "bool.h" diff --git a/test/db1/employee.lcs b/test/db1/employee.lcs index 2dea5b7..4de3ded 100644 --- a/test/db1/employee.lcs +++ b/test/db1/employee.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db1/employee.lh b/test/db1/employee.lh index 2596a4b..27eddc0 100644 --- a/test/db1/employee.lh +++ b/test/db1/employee.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" # include "bool.h" diff --git a/test/db1/empset.lcs b/test/db1/empset.lcs index 7763798..d0c5fe8 100644 --- a/test/db1/empset.lcs +++ b/test/db1/empset.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db1/empset.lh b/test/db1/empset.lh index a6dce41..b7326d1 100644 --- a/test/db1/empset.lh +++ b/test/db1/empset.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" # include "employee.h" diff --git a/test/db1/erc.lcs b/test/db1/erc.lcs index 1621fdd..6730cad 100644 --- a/test/db1/erc.lcs +++ b/test/db1/erc.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db1/erc.lh b/test/db1/erc.lh index 1bee6f4..29e6819 100644 --- a/test/db1/erc.lh +++ b/test/db1/erc.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" # include "eref.h" diff --git a/test/db1/eref.lcs b/test/db1/eref.lcs index d4ef78b..0494401 100644 --- a/test/db1/eref.lcs +++ b/test/db1/eref.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db1/eref.lh b/test/db1/eref.lh index 23d5ac2..be04f14 100644 --- a/test/db1/eref.lh +++ b/test/db1/eref.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" # include "employee.h" diff --git a/test/db1/ereftab.lcs b/test/db1/ereftab.lcs index 396f7f8..9135259 100644 --- a/test/db1/ereftab.lcs +++ b/test/db1/ereftab.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db1/ereftab.lh b/test/db1/ereftab.lh index 24ba6cb..725a2cd 100644 --- a/test/db1/ereftab.lh +++ b/test/db1/ereftab.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" # include "employee.h" diff --git a/test/db2.expect b/test/db2.expect index 285099f..bb0cd6d 100644 --- a/test/db2.expect +++ b/test/db2.expect @@ -43,7 +43,7 @@ erc.c: (in function erc_sprint) erc.c:141: Fresh storage returned as unqualified (should be only): result erc.c:122: Fresh storage result allocated -Finished LCLint checking --- 15 code errors found, as expected +Finished checking --- 15 code warnings, as expected employee.c: (in function employee_setName) employee.c:17: Parameter 1 (e->name) to function strcpy is declared unique but @@ -109,6 +109,6 @@ drive.c:163: Fresh storage em2 not released before return drive.c:163: Fresh storage em3 not released before return drive.c:147: Fresh storage em3 allocated -Finished LCLint checking --- 25 code errors found, as expected +Finished checking --- 25 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings diff --git a/test/db2/Makefile b/test/db2/Makefile index 0d8a46e..1b1d1bd 100644 --- a/test/db2/Makefile +++ b/test/db2/Makefile @@ -1,5 +1,5 @@ ### -### LCLint db2 test +### Splint db2 test ### ### Taken from sample, fifth iteration: memchecks1 ### @@ -9,9 +9,9 @@ SHELL = /bin/csh -f -LCLINT = lclint -booltype "bool" -LCL = $(LCLINT) -specundef +lh +quiet -nof -LCLINTLH = $(LCLINT) +lh +SPLINT = splint -booltype "bool" +LCL = $(SPLINT) -specundef +lh +quiet -nof +SPLINTLH = $(SPLINT) +lh LCSFILES = dbase.lcs employee.lcs empset.lcs erc.lcs eref.lcs ereftab.lcs MODULES = employee eref empset ereftab erc dbase drive.c @@ -22,9 +22,9 @@ test: $(MAKE) -e check check: $(LCSFILES) - $(LCLINT) -exportlocal -showcol -allimponly -macrovarprefixexclude $(MODULES) -expect 15 - $(LCLINT) -exportlocal -showcol +allimponly $(MODULES) -expect 25 - $(LCLINT) -exportlocal -showcol -memchecks -macrovarprefixexclude $(MODULES) + $(SPLINT) -exportlocal -showcol -allimponly -macrovarprefixexclude $(MODULES) -expect 15 + $(SPLINT) -exportlocal -showcol +allimponly $(MODULES) -expect 25 + $(SPLINT) -exportlocal -showcol -memchecks -macrovarprefixexclude $(MODULES) ### The following rules generate .lh and .lcs files from .lcl files. They also ### ensure that .h files appear to be updated whenever the corresponding .lh diff --git a/test/db2/dbase.lcs b/test/db2/dbase.lcs index d5c4801..74e3b6d 100644 --- a/test/db2/dbase.lcs +++ b/test/db2/dbase.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db2/dbase.lh b/test/db2/dbase.lh index 91057d3..4dcd4c5 100644 --- a/test/db2/dbase.lh +++ b/test/db2/dbase.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include # include "bool.h" diff --git a/test/db2/employee.lcs b/test/db2/employee.lcs index 377a221..dc31424 100644 --- a/test/db2/employee.lcs +++ b/test/db2/employee.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db2/employee.lh b/test/db2/employee.lh index 0578654..8125d65 100644 --- a/test/db2/employee.lh +++ b/test/db2/employee.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include # include "bool.h" diff --git a/test/db2/empset.lcs b/test/db2/empset.lcs index 5bd5246..352af9c 100644 --- a/test/db2/empset.lcs +++ b/test/db2/empset.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db2/empset.lh b/test/db2/empset.lh index b88ed31..b054117 100644 --- a/test/db2/empset.lh +++ b/test/db2/empset.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" # include "employee.h" diff --git a/test/db2/erc.lcs b/test/db2/erc.lcs index 6003ab0..9ca36ea 100644 --- a/test/db2/erc.lcs +++ b/test/db2/erc.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db2/erc.lh b/test/db2/erc.lh index 73ec2b2..75cb2ee 100644 --- a/test/db2/erc.lh +++ b/test/db2/erc.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" # include "eref.h" diff --git a/test/db2/eref.lcs b/test/db2/eref.lcs index d5ae4dc..0e6c4f2 100644 --- a/test/db2/eref.lcs +++ b/test/db2/eref.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db2/eref.lh b/test/db2/eref.lh index 23d5ac2..be04f14 100644 --- a/test/db2/eref.lh +++ b/test/db2/eref.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" # include "employee.h" diff --git a/test/db2/ereftab.lcs b/test/db2/ereftab.lcs index a866c4a..04fb3f9 100644 --- a/test/db2/ereftab.lcs +++ b/test/db2/ereftab.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db2/ereftab.lh b/test/db2/ereftab.lh index 24ba6cb..725a2cd 100644 --- a/test/db2/ereftab.lh +++ b/test/db2/ereftab.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" # include "employee.h" diff --git a/test/db3.expect b/test/db3.expect index c3ed6aa..d50cbb0 100644 --- a/test/db3.expect +++ b/test/db3.expect @@ -12,7 +12,7 @@ formalarray 0 24 ======== ========= Total 0 64 -Finished LCLint checking --- no code errors found +Finished checking --- no warnings eref.c: (in function eref_alloc) eref.c:36: Called procedure printf may access global stdout @@ -142,4 +142,4 @@ formalarray 0 24 ======== ========= Total 77 64 -Finished LCLint checking --- 77 code errors found, as expected +Finished checking --- 77 code warnings, as expected diff --git a/test/db3/.lclintrc b/test/db3/.splintrc similarity index 100% rename from test/db3/.lclintrc rename to test/db3/.splintrc diff --git a/test/db3/Makefile b/test/db3/Makefile index dc5a62a..d845727 100644 --- a/test/db3/Makefile +++ b/test/db3/Makefile @@ -1,5 +1,5 @@ ### -### LCLint db3 test +### Splint db3 test ### ### Taken from sample, thirteenth iteration: strictlib ### @@ -9,10 +9,10 @@ SHELL = /bin/csh -f -LCLINT = lclint -LCLINTF = $(LCLINT) -f ./.lclintrc -LCL = $(LCLINTF) -specundef +lh +quiet -nof -LCLINTLH = $(LCLINTF) +lh +SPLINT = splint +SPLINTF = $(SPLINT) -f ./.splintrc +LCL = $(SPLINTF) -specundef +lh +quiet -nof +SPLINTLH = $(SPLINTF) +lh LCSFILES = dbase.lcs employee.lcs empset.lcs erc.lcs eref.lcs ereftab.lcs bool.lcs check.lcs MODULES = employee eref empset ereftab erc dbase drive.c bool.lcl check.lcl OBJS = dbase.o employee.o empset.o erc.o eref.o ereftab.o @@ -21,11 +21,11 @@ test: @$(MAKE) -e clean @$(MAKE) -e check -### Note there is a .lclint file used for checking! +### Note there is a .splint file used for checking! check: $(LCSFILES) - $(LCLINTF) -showcol $(MODULES) +strict -modfilesystem +showsummary -exportconstant -exportlocal -protoparamprefix p_ - $(LCLINTF) -showcol $(MODULES) +strict -modfilesystem +showsummary -exportconstant -exportlocal -protoparamprefix p_ +strictlib -expect 77 + $(SPLINTF) -showcol $(MODULES) +strict -modfilesystem +showsummary -exportconstant -exportlocal -protoparamprefix p_ + $(SPLINTF) -showcol $(MODULES) +strict -modfilesystem +showsummary -exportconstant -exportlocal -protoparamprefix p_ +strictlib -expect 77 ### The following rules generate .lh and .lcs files from .lcl files. They also diff --git a/test/db3/bool.lcs b/test/db3/bool.lcs index d29c219..06dbe2b 100644 --- a/test/db3/bool.lcs +++ b/test/db3/bool.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db3/bool.lh b/test/db3/bool.lh index ab2d650..0614c3e 100644 --- a/test/db3/bool.lh +++ b/test/db3/bool.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" diff --git a/test/db3/check.lcs b/test/db3/check.lcs index 024f3d7..d89e356 100644 --- a/test/db3/check.lcs +++ b/test/db3/check.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db3/check.lh b/test/db3/check.lh index 34be20a..1c4df13 100644 --- a/test/db3/check.lh +++ b/test/db3/check.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" # include "bool.h" diff --git a/test/db3/dbase.lcs b/test/db3/dbase.lcs index 8474971..c92c749 100644 --- a/test/db3/dbase.lcs +++ b/test/db3/dbase.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db3/dbase.lh b/test/db3/dbase.lh index a031c4e..46e5994 100644 --- a/test/db3/dbase.lh +++ b/test/db3/dbase.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include # include "bool.h" diff --git a/test/db3/employee.lcs b/test/db3/employee.lcs index 6238fd0..6c3bff0 100644 --- a/test/db3/employee.lcs +++ b/test/db3/employee.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db3/employee.lh b/test/db3/employee.lh index 85fadfa..1e66b25 100644 --- a/test/db3/employee.lh +++ b/test/db3/employee.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include # include "bool.h" diff --git a/test/db3/empset.lcs b/test/db3/empset.lcs index 0466e9b..8ebb87d 100644 --- a/test/db3/empset.lcs +++ b/test/db3/empset.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db3/empset.lh b/test/db3/empset.lh index 881e60d..db5fe1c 100644 --- a/test/db3/empset.lh +++ b/test/db3/empset.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" # include "employee.h" diff --git a/test/db3/erc.lcs b/test/db3/erc.lcs index 2539472..5ccfa44 100644 --- a/test/db3/erc.lcs +++ b/test/db3/erc.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db3/erc.lh b/test/db3/erc.lh index 6340e71..d076efa 100644 --- a/test/db3/erc.lh +++ b/test/db3/erc.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" # include "eref.h" diff --git a/test/db3/eref.lcs b/test/db3/eref.lcs index 5c44047..3fe9b96 100644 --- a/test/db3/eref.lcs +++ b/test/db3/eref.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db3/eref.lh b/test/db3/eref.lh index d0a3df5..d8c9d5c 100644 --- a/test/db3/eref.lh +++ b/test/db3/eref.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" # include "employee.h" diff --git a/test/db3/ereftab.lcs b/test/db3/ereftab.lcs index ab602a9..bf1fa2f 100644 --- a/test/db3/ereftab.lcs +++ b/test/db3/ereftab.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/db3/ereftab.lh b/test/db3/ereftab.lh index 4c39286..367ae06 100644 --- a/test/db3/ereftab.lh +++ b/test/db3/ereftab.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" # include "employee.h" diff --git a/test/deadparam.expect b/test/deadparam.expect index 059abdf..f8e8db5 100644 --- a/test/deadparam.expect +++ b/test/deadparam.expect @@ -7,4 +7,4 @@ deadparam.c:10:6: Dead storage s2 passed as special parameter to g: s2 deadparam.c:10:6: Allocated storage s2 corresponds to storage listed in allocates clause of called function: s2 -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected diff --git a/test/decl.expect b/test/decl.expect index ede7398..cf21fbb 100644 --- a/test/decl.expect +++ b/test/decl.expect @@ -3,7 +3,7 @@ decl.c: (in function main) decl.c:7:3: Call to non-function (type [function (int) returns int] **): x decl.c:8:2: Path with no return in function declared to return int -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected decl.c:3:5: Function main declared without parameter list decl.c: (in function main) @@ -12,7 +12,7 @@ decl.c:8:2: Path with no return in function declared to return int decl.c:1:5: Function test declared but not defined decl.c:1:5: Function test exported but not declared in header file -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected decl2.c:3:6: Variable glob2 defined with inconsistent type (arrays and pointers are not identical in variable declarations): int * @@ -24,4 +24,4 @@ decl2.c:6:6: Variable glob3 redeclared with inconsistent type: char decl2.c:9:5: Variable glob redefined decl2.c:8:5: Previous definition of glob -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected diff --git a/test/decl2.lcs b/test/decl2.lcs index c103077..a805ee3 100644 --- a/test/decl2.lcs +++ b/test/decl2.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/enum.expect b/test/enum.expect index 7491c1e..0efc24d 100644 --- a/test/enum.expect +++ b/test/enum.expect @@ -34,7 +34,7 @@ enum.c:51:15: Enumerator member pasta declared with inconsistent type: enum.lcl:3:9: Enum tag enum _ietag specified but not defined enum.lcl:8:22: Enum member yasta specified but not defined -Finished LCLint checking --- 16 code errors found, as expected +Finished checking --- 16 code warnings, as expected enum.c:2:16: Enumerator member cero declared with inconsistent type: enum { cero, uno, dos, tres } @@ -69,4 +69,4 @@ enum.c:51:15: Enumerator member pasta declared with inconsistent type: enum.lcl:3:9: Enum tag enum _ietag specified but not defined enum.lcl:8:22: Enum member yasta specified but not defined -Finished LCLint checking --- 14 code errors found, as expected +Finished checking --- 14 code warnings, as expected diff --git a/test/enum.lcs b/test/enum.lcs index a8aae48..5ed12b8 100644 --- a/test/enum.lcs +++ b/test/enum.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/exports.expect b/test/exports.expect index d77c753..6d3dd7f 100644 --- a/test/exports.expect +++ b/test/exports.expect @@ -9,12 +9,12 @@ exports.h:3:12: Variable glob declared but not used exports.h:5:12: Function f declared but not used exports.c:8:1: Definition of f -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected exports.h:1:13: Type exported, but not specified: myint exports.h:3:12: Variable exported, but not specified: glob exports.h:5:12: Function exported, but not specified: f -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings diff --git a/test/external.expect b/test/external.expect index a160763..2fcbe4b 100644 --- a/test/external.expect +++ b/test/external.expect @@ -1,5 +1,5 @@ -Finished LCLint checking --- no code errors found +Finished checking --- no warnings external.c:2:5: External identifier Func is not distinguishable from func in the first 6 characters because alphabetical case is ignored @@ -8,7 +8,7 @@ external.c:8:5: External identifier longfunction2 is not distinguishable from longfunction1 in the first 6 characters (longfu) external.c:7:5: Declaration of longfunction1 -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected external.c:2:5: External identifier Func is not distinguishable from func in the first 3 characters because alphabetical case is ignored @@ -20,7 +20,7 @@ external.c:8:5: External identifier longfunction2 is not distinguishable from longfunction1 in the first 3 characters (lon) external.c:7:5: Declaration of longfunction1 -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected external.c:2:5: External identifier Func is not distinguishable from func in the first 3 characters because alphabetical case is ignored @@ -32,7 +32,7 @@ external.c:8:5: External identifier longfunction2 is not distinguishable from longfunction1 in the first 3 characters (lon) external.c:7:5: Declaration of longfunction1 -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected external.c:2:5: External identifier Func is not distinguishable from func in the first 3 characters because alphabetical case is ignored @@ -49,4 +49,4 @@ external.c:8:5: External identifier longfunction2 is not distinguishable from load file ansi.lcd:785:1: Specification of LONG_MAX One or more additional indistinguishable external names not reported -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected diff --git a/test/fields.expect b/test/fields.expect index d4deb3f..5975e12 100644 --- a/test/fields.expect +++ b/test/fields.expect @@ -21,7 +21,7 @@ fields.c:62:18: Function returns with null storage derivable from parameter p->x fields.c:60:10: Storage p->x becomes null -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected fields2.c: (in function pair_copy) fields2.c:21:16: Storage p->x reachable from parameter is kept (should be @@ -39,6 +39,6 @@ fields2.c:43:14: Storage p->x reachable from passed parameter is kept (should be implicitly only): p fields2.c:42:3: Storage p->x becomes kept -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings diff --git a/test/fileio.expect b/test/fileio.expect index 5753213..f8608a1 100644 --- a/test/fileio.expect +++ b/test/fileio.expect @@ -13,7 +13,7 @@ filerw.c:12:14: Invalid transfer from rw_write f1 to rw_read (Must reset file filerw.c:10:22: f1 becomes rw_write filerw.xh:3:38: f1 becomes rw_read -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected file.c: (in function f) file.c:14:5: Control branches merge with incompatible states for fout (closed @@ -26,6 +26,6 @@ file.c:23:5: Control branches merge with incompatible states for fin (closed file.c:22:14: fin becomes closed file.c:25:10: Variable res used before definition -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings diff --git a/test/fileio/Makefile b/test/fileio/Makefile index 17f380a..2490dfa 100644 --- a/test/fileio/Makefile +++ b/test/fileio/Makefile @@ -1,14 +1,14 @@ .PHONY: filerw fileopen -LCLINT = lclint +SPLINT = splint all: filerw fileopen filebranch filerw: - ${LCLINT} -mts file -mts filerw filerw.c -expect 3 + ${SPLINT} -mts file -mts filerw filerw.c -expect 3 fileopen: - ${LCLINT} -mts file -mts filerw file.c -expect 3 + ${SPLINT} -mts file -mts filerw file.c -expect 3 filebranch: - ${LCLINT} -mts file filebranch.c + ${SPLINT} -mts file filebranch.c diff --git a/test/flags.expect b/test/flags.expect index 8716003..7ff81b9 100644 --- a/test/flags.expect +++ b/test/flags.expect @@ -34,9 +34,9 @@ flags.c:17:26: Flag macrovarprefix (in semantic comment) must be flags.c:18:20: Flag linelen must be followed by a positive number number. Followed by asdf -Finished LCLint checking --- 8 code errors found, as expected +Finished checking --- 8 code warnings, as expected flags.c:1:9: Variable x initialized to type char, expects int: 'c' flags.c:5:9: Variable y initialized to type char, expects int: 'c' -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected diff --git a/test/for.expect b/test/for.expect index 49c9688..cccbaf1 100644 --- a/test/for.expect +++ b/test/for.expect @@ -6,4 +6,4 @@ for.c:13:5: Possible out-of-bounds store: needed to satisfy precondition: requires maxSet(t @ for.c:13:5) >= i @ for.c:13:7 -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected diff --git a/test/for/.lclintrc b/test/for/.splintrc similarity index 100% rename from test/for/.lclintrc rename to test/for/.splintrc diff --git a/test/for/Makefile b/test/for/Makefile index a693282..2a32e3e 100644 --- a/test/for/Makefile +++ b/test/for/Makefile @@ -1,8 +1,8 @@ .PHONY: check -LCLINT = lclint -exportlocal +SPLINT = splint -exportlocal check: - $(LCLINT) +arraybounds +arrayboundsread for.c -expect 1 + $(SPLINT) +arraybounds +arrayboundsread for.c -expect 1 diff --git a/test/forbody.expect b/test/forbody.expect index c933a01..882a731 100644 --- a/test/forbody.expect +++ b/test/forbody.expect @@ -3,4 +3,4 @@ forbody.c: (in iter genericTable_elements) forbody.c:3:50: Unrecognized identifier in macro definition: m_ind forbody.c:3:115: Assignment of char to int: m_el = 'a' -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected diff --git a/test/format.expect b/test/format.expect index 4d6623e..745ca87 100644 --- a/test/format.expect +++ b/test/format.expect @@ -7,6 +7,6 @@ format.c:5:3: Format string parameter to fprintf is not a compile-time format.c:6:3: Format string parameter to fprintf is not a compile-time constant: fmt -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings diff --git a/test/freearray.expect b/test/freearray.expect index ea11f06..8b8ede3 100644 --- a/test/freearray.expect +++ b/test/freearray.expect @@ -3,4 +3,4 @@ freearray.c: (in function destroyMod2) freearray.c:22:9: Only storage *stringTable (type ocp) derived from released storage is not released (memory leak): stringTable -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected diff --git a/test/funcpointer.expect b/test/funcpointer.expect index 33be783..fbd1bb3 100644 --- a/test/funcpointer.expect +++ b/test/funcpointer.expect @@ -29,4 +29,4 @@ funcpointer.c:49:10: Function (t6) called with 1 args, expects 2 funcpointer.c:50:11: Function (t6) called with 1 args, expects 2 funcpointer.c:50:10: Function ((t6)(3)) called with 0 args, expects 1 -Finished LCLint checking --- 18 code errors found, as expected +Finished checking --- 18 code warnings, as expected diff --git a/test/glob.expect b/test/glob.expect index fc0a32c..e171ccb 100644 --- a/test/glob.expect +++ b/test/glob.expect @@ -7,7 +7,7 @@ glob.c: (in function callsUseGlob) glob.c:23:11: Called procedure useGlob may access global y glob.c:23:11: Called procedure useGlob may access global z -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected glob.c: (in function dontuseGlob) glob.c:13:11: Undocumented use of global x @@ -15,7 +15,7 @@ glob.c: (in function callsUseGlob) glob.c:23:11: Called procedure useGlob may access global y glob.c:23:11: Called procedure useGlob may access global z -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected glob.c: (in function useGlob) glob.lcl:3: Global z listed but not used @@ -28,4 +28,4 @@ glob.c: (in function callsUseGlob) glob.c:23:11: Called procedure useGlob may access global y glob.c:23:11: Called procedure useGlob may access global z -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected diff --git a/test/glob.lcs b/test/glob.lcs index f37e796..486b13e 100644 --- a/test/glob.lcs +++ b/test/glob.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/globalbufferannotation.expect b/test/globalbufferannotation.expect index feff35f..2b06c77 100644 --- a/test/globalbufferannotation.expect +++ b/test/globalbufferannotation.expect @@ -1,2 +1,2 @@ -Finished LCLint checking --- no code errors found +Finished checking --- no warnings diff --git a/test/globalbufferannotation/.lclintrc b/test/globalbufferannotation/.splintrc similarity index 100% rename from test/globalbufferannotation/.lclintrc rename to test/globalbufferannotation/.splintrc diff --git a/test/globalbufferannotation/Makefile b/test/globalbufferannotation/Makefile index 307ce12..871e525 100644 --- a/test/globalbufferannotation/Makefile +++ b/test/globalbufferannotation/Makefile @@ -1,7 +1,7 @@ .PHONY: check -LCLINT = lclint -exportlocal +SPLINT = splint -exportlocal check: - $(LCLINT) +arraybounds +arrayboundsread globalvariable.c + $(SPLINT) +arraybounds +arrayboundsread globalvariable.c diff --git a/test/globals.expect b/test/globals.expect index a8b08b3..db19fd6 100644 --- a/test/globals.expect +++ b/test/globals.expect @@ -7,7 +7,7 @@ globals.c: (in function specglobs) globals.c:19:3: Undocumented use of global check globals.c:21:3: Undocumented use of global checkstrict -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected globals.c:5:41: Redundant checked qualifier on doubled globals.c:6:46: Contradictory checked and unchecked qualifiers on contradict @@ -18,7 +18,7 @@ globals.c:18:3: Undocumented use of global imp globals.c:19:3: Undocumented use of global check globals.c:21:3: Undocumented use of global checkstrict -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected globals.c:5:41: Redundant checked qualifier on doubled globals.c:6:46: Contradictory checked and unchecked qualifiers on contradict @@ -29,12 +29,12 @@ globals.c:18:3: Undocumented use of global imp globals.c:19:3: Undocumented use of global check globals.c:21:3: Undocumented use of global checkstrict -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected globals.c:5:41: Redundant checked qualifier on doubled globals.c:6:46: Contradictory checked and unchecked qualifiers on contradict -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected globals.c:5:41: Redundant checked qualifier on doubled globals.c:6:46: Contradictory checked and unchecked qualifiers on contradict @@ -45,7 +45,7 @@ globals.c: (in function specglobs) globals.c:19:3: Undocumented use of global check globals.c:21:3: Undocumented use of global checkstrict -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected globals.c:5:41: Redundant checked qualifier on doubled globals.c:6:46: Contradictory checked and unchecked qualifiers on contradict @@ -58,4 +58,4 @@ globals.c:18:3: Undocumented use of global imp globals.c:19:3: Undocumented use of global check globals.c:21:3: Undocumented use of global checkstrict -Finished LCLint checking --- 8 code errors found, as expected +Finished checking --- 8 code warnings, as expected diff --git a/test/help.expect b/test/help.expect index fee5aef..bd6d844 100644 --- a/test/help.expect +++ b/test/help.expect @@ -1,8 +1,8 @@ Source files are .c, .h and .lcl files. If there is no suffix, - LCLint will look for .c and .lcl. + Splint will look for .c and .lcl. -Use lclint -help for more information +Use splint -help for more information Topics: @@ -22,12 +22,12 @@ Topics: version (information on compilation, maintainer) -Finished LCLint checking --- no code processed +Finished checking --- no code processed Source files are .c, .h and .lcl files. If there is no suffix, - LCLint will look for .c and .lcl. + Splint will look for .c and .lcl. -Use lclint -help for more information +Use splint -help for more information Topics: @@ -52,11 +52,11 @@ Command Line: Unrecognized option: asdf message) -Finished LCLint checking --- no code processed +Finished checking --- no code processed Warning: setting +boolint redundant with current value -Finished LCLint checking --- no code processed +Finished checking --- no code processed D I diff --git a/test/impabstract.expect b/test/impabstract.expect index 6a18929..347a727 100644 --- a/test/impabstract.expect +++ b/test/impabstract.expect @@ -1,5 +1,5 @@ -Finished LCLint checking --- no code errors found +Finished checking --- no warnings impabstract.c: (in function f) impabstract.c:11:7: Left operand of < is abstract type (mint): m < 2 @@ -9,7 +9,7 @@ impabstract.c:13:14: Return value type mint does not match declared type int: m Underlying types match, but mint is an abstract type that is not accessible here. -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected impabstract.c:2:28: Mutable abstract type cint declared without pointer indirection: int (violates assignment semantics) @@ -30,4 +30,4 @@ impabstract.c:8:14: Return value type cint does not match declared type int: c Underlying types match, but cint is an abstract type that is not accessible here. -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected diff --git a/test/impabstract.lcs b/test/impabstract.lcs index 3699146..b23b157 100644 --- a/test/impabstract.lcs +++ b/test/impabstract.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/init.expect b/test/init.expect index 8b68bd5..eaef259 100644 --- a/test/init.expect +++ b/test/init.expect @@ -17,7 +17,7 @@ init.c:14:13: Initializer block for b has 2 elements, but declared as int [10]: init.c:14:15: Initializer block used for b[0] where int is expected: { 1, 2 } init.c:14:25: Initializer block used for b[1] where int is expected: { 3, 4 } -Finished LCLint checking --- 14 code errors found, as expected +Finished checking --- 14 code warnings, as expected init.c:1:16: Global c[0] initialized to null value: c[0] = NULL init.c:1:22: Read-only string literal storage used as initial value for @@ -43,4 +43,4 @@ init.c:14:13: Initializer block for b has 2 elements, but declared as int [10]: init.c:14:15: Initializer block used for b[0] where int is expected: { 1, 2 } init.c:14:25: Initializer block used for b[1] where int is expected: { 3, 4 } -Finished LCLint checking --- 17 code errors found, as expected +Finished checking --- 17 code warnings, as expected diff --git a/test/inparam.expect b/test/inparam.expect index 72a0e1e..12255fa 100644 --- a/test/inparam.expect +++ b/test/inparam.expect @@ -5,10 +5,10 @@ inparam.c:8:16: Passed storage x not completely defined (*x is undefined): inparam.c:12:16: Passed storage x not completely defined (*x is undefined): inparam (x) -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected inparam.c: (in function f) inparam.c:12:16: Passed storage x not completely defined (*x is undefined): inparam (x) -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected diff --git a/test/internal.expect b/test/internal.expect index 38ad1f9..a6878a7 100644 --- a/test/internal.expect +++ b/test/internal.expect @@ -3,7 +3,7 @@ internal.c: (in function f1) internal.c:21:9: Variable e1 shadows outer declaration internal.c:12:7: Previous definition of e1: int -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected internal.c:4:5: Internal identifier iwonderhowmanycharactersaresignificant2 is not distinguishable from iwonderhowmanycharactersaresignificant1 in the @@ -13,7 +13,7 @@ internal.c: (in function f1) internal.c:21:9: Variable e1 shadows outer declaration internal.c:12:7: Previous definition of e1: int -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected internal.c:4:5: Internal identifier iwonderhowmanycharactersaresignificant2 is not distinguishable from iwonderhowmanycharactersaresignificant1 in the @@ -27,7 +27,7 @@ internal.c: (in function f1) internal.c:21:9: Variable e1 shadows outer declaration internal.c:12:7: Previous definition of e1: int -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected internal.c: (in function f1) internal.c:15:8: Internal identifier Alphabet is not distinguishable from @@ -39,7 +39,7 @@ internal.c:23:11: Internal identifier lcAse is not distinguishable from lcase without case sensitivity internal.c:18:7: Declaration of lcase -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected internal.c:10:6: Internal identifier f1 is not distinguishable from fl except by lookalike characters @@ -75,4 +75,4 @@ internal.c:28:9: Internal identifier num0 is not distinguishable from numO except by lookalike characters internal.c:27:9: Declaration of numO -Finished LCLint checking --- 11 code errors found, as expected +Finished checking --- 11 code warnings, as expected diff --git a/test/iter.expect b/test/iter.expect index 65d4e38..6a1b9f8 100644 --- a/test/iter.expect +++ b/test/iter.expect @@ -24,8 +24,8 @@ iter.h:8:1: Macro parameter j used in conditionally executed code (may or may iter.lcl:3:6: Iterator noYield specified but not defined iter.lcl:3:6: Iterator finalizer end_noYield specified but not defined -Finished LCLint checking --- 1 spec error found, as expected - 14 code errors found, as expected +Finished checking --- 1 spec warning, as expected + 14 code warnings, as expected iter2.c: (in function test) iter2.c:9:14: Unrecognized identifier: x @@ -49,4 +49,4 @@ iter2.h:8:55: Variable ___b name is not consistent with macro variable iter2.h:9:1: Macro parameter j used in conditionally executed code (may or may not be evaluated exactly once) (in post loop test) -Finished LCLint checking --- 12 code errors found, as expected +Finished checking --- 12 code warnings, as expected diff --git a/test/iter.lcs b/test/iter.lcs index 8d2e4de..1a5f4f1 100644 --- a/test/iter.lcs +++ b/test/iter.lcs @@ -1,4 +1,4 @@ -%FAILED Output from LCLint 3.0.0.19 +%FAILED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/keep.expect b/test/keep.expect index 41d75c5..7020421 100644 --- a/test/keep.expect +++ b/test/keep.expect @@ -17,4 +17,4 @@ keep.c: (in function f7) keep.c:60:10: Kept storage x returned as implicitly only: x keep.c:58:5: Storage x becomes kept -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected diff --git a/test/libs.expect b/test/libs.expect index e58debb..449517e 100644 --- a/test/libs.expect +++ b/test/libs.expect @@ -34,7 +34,7 @@ libs.c:54:3: Return value (type [function (int) returns void]) ignored: libs.c:55:3: Return value (type [function (int) returns void]) ignored: signal(SIGHUP, l... -Finished LCLint checking --- 18 code errors found, as expected +Finished checking --- 18 code warnings, as expected libs.c: (in function compare2) libs.c:14:10: Observer storage returned without qualification: "ok" @@ -75,7 +75,7 @@ libs.c:54:3: Return value (type [function (int) returns void]) ignored: libs.c:55:3: Return value (type [function (int) returns void]) ignored: signal(SIGHUP, l... -Finished LCLint checking --- 22 code errors found, as expected +Finished checking --- 22 code warnings, as expected libs.c: (in function compare2) libs.c:14:10: Observer storage returned without qualification: "ok" @@ -122,7 +122,7 @@ libs.c:54:3: Return value (type [function (int) returns void]) ignored: libs.c:55:3: Return value (type [function (int) returns void]) ignored: signal(SIGHUP, l... -Finished LCLint checking --- 25 code errors found, as expected +Finished checking --- 25 code warnings, as expected libs.c: (in function compare2) libs.c:14:10: Observer storage returned without qualification: "ok" @@ -193,4 +193,4 @@ libs.c:55:3: Undocumented modification of errno possible from call to signal: libs.c:55:3: Return value (type [function (int) returns void]) ignored: signal(SIGHUP, l... -Finished LCLint checking --- 42 code errors found, as expected +Finished checking --- 42 code warnings, as expected diff --git a/test/linked.expect b/test/linked.expect index 5333334..3abc4e6 100644 --- a/test/linked.expect +++ b/test/linked.expect @@ -11,7 +11,7 @@ linked.c:23:15: Possibly null storage nn passed as non-null param: node_free1 (nn) linked.c:21:13: Storage nn may become null -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected linked2.c: (in function node_free2) linked2.c:15:8: Variable nn declared but not used @@ -22,7 +22,7 @@ linked2.c:23:15: Possibly null storage nn passed as non-null param: linked2.c:23:15: Dependent storage nn passed as only param: node_free1 (nn) linked2.c:23:15: Storage nn becomes dependent -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected linked3.c: (in function node_free1) linked3.c:10:9: Only storage n->val (type char *) derived from released storage @@ -36,7 +36,7 @@ linked3.c:17:2: Only storage nn not released before return linked3.c:16:9: Storage nn becomes only linked3.c:15:8: Variable nn declared but not used -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected linked4.c: (in function node_free1) linked4.c:14:9: Only storage n->val (type item) derived from released storage @@ -53,7 +53,7 @@ linked4.c: (in function node_free3) linked4.c:26:9: Only storage n->val->val (type char *) derived from released storage is not released (memory leak): n->val -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected linked5.c: (in function node_free1) linked5.c:14:9: Only storage n->next (type node) derived from released storage @@ -65,7 +65,7 @@ linked5.c:19:8: Variable nn declared but not used linked5.c: (in function node_free3) linked5.c:26:9: Dependent storage n->val passed as only param: free (n->val) -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected linked6.c: (in function node_free1) linked6.c:16:9: Only storage n->val (type item) derived from released storage @@ -77,4 +77,4 @@ linked6.c:24:2: Only storage nn not released before return linked6.c:23:9: Storage nn becomes only linked6.c:21:8: Variable nn declared but not used -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected diff --git a/test/lintcomments.expect b/test/lintcomments.expect index 0336249..00d8f7b 100644 --- a/test/lintcomments.expect +++ b/test/lintcomments.expect @@ -11,12 +11,12 @@ lintcomments.c:23:21: Traditional lint comment /*NOTREACHED*/ used. This is interpreted by LCLint in the same way as most Unix lints, but it is preferable to replace it with the /*@notreached@*/ semantic comment. -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected lintcomments.c: (in function f) lintcomments.c:11:13: Fall through case (no preceding break) -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected lintcomments.c: (in function f) lintcomments.c:9:10: Fall through case (no preceding break) @@ -24,4 +24,4 @@ lintcomments.c:10:10: Fall through case (no preceding break) lintcomments.c:11:13: Fall through case (no preceding break) lintcomments.c:24:8: Unreachable code: i++ -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected diff --git a/test/list.expect b/test/list.expect index ee785f8..4804e29 100644 --- a/test/list.expect +++ b/test/list.expect @@ -8,4 +8,4 @@ list.c: (in function list_addh2) list.c:39:2: Storage *(l->next) reachable from parameter contains 1 undefined field: next -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected diff --git a/test/macros.expect b/test/macros.expect index 3f1aab7..298f354 100644 --- a/test/macros.expect +++ b/test/macros.expect @@ -35,7 +35,7 @@ macros.c:28: Variable var2 implemented as parameterized macro macros.c: (in macro var2) macros.c:28:15: Macro parameter x used more than once -Finished LCLint checking --- 17 code errors found, as expected +Finished checking --- 17 code warnings, as expected macros.c:3: Parameterized macro has no prototype or specification: mustard macros.c: (in macro mustard) @@ -82,7 +82,7 @@ macros.c:28: Parameterized macro has no prototype or specification: var2 macros.c: (in macro var2) macros.c:28:15: Macro parameter x used more than once -Finished LCLint checking --- 34 code errors found, as expected +Finished checking --- 34 code warnings, as expected macros.c:3: Parameterized macro has no prototype or specification: mustard macros.c: (in macro mustard) @@ -126,4 +126,4 @@ macros.c:28: Parameterized macro has no prototype or specification: var2 macros.c: (in macro var2) macros.c:28:15: Macro parameter x used more than once -Finished LCLint checking --- 31 code errors found, as expected +Finished checking --- 31 code warnings, as expected diff --git a/test/macros.lcs b/test/macros.lcs index 5eb9266..7cb29e6 100644 --- a/test/macros.lcs +++ b/test/macros.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/macrosef.expect b/test/macrosef.expect index ea001c1..b23cccb 100644 --- a/test/macrosef.expect +++ b/test/macrosef.expect @@ -9,7 +9,7 @@ macrosef.c:12:14: Parameter 1 to f is declared sef, but the argument may modify macrosef.c:14:14: Parameter 1 to f is declared sef, but the argument may modify *p: g(p) -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected macrosef.c: (in macro f) macrosef.c:2:14: Macro parameter y used more than once @@ -19,7 +19,7 @@ macrosef.c:12:14: Parameter 1 to f is declared sef, but the argument may modify macrosef.c:12:14: Parameter 1 to f is declared sef, but the argument may modify *stdout: (printf("yo\n"), 3) -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected macrosef.c: (in macro f) macrosef.c:2:14: Macro parameter y used more than once @@ -31,4 +31,4 @@ macrosef.c:12:14: Parameter 1 to f is declared sef, but the argument may modify macrosef.c:14:14: Parameter 1 to f is declared sef, but the argument calls unconstrained function g (no guarantee it will not modify something): g(p) -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected diff --git a/test/macrosef.lcs b/test/macrosef.lcs index 6f6eb4d..b5abbd9 100644 --- a/test/macrosef.lcs +++ b/test/macrosef.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/maxset.expect b/test/maxset.expect index db7acc1..33755b2 100644 --- a/test/maxset.expect +++ b/test/maxset.expect @@ -1,5 +1,5 @@ -Finished LCLint checking --- no code errors found +Finished checking --- no warnings maxsetnoannotations.c: (in function noancopy) maxsetnoannotations.c:2:3: Possible out-of-bounds store: @@ -12,4 +12,4 @@ maxsetnoannotations.c:2:3: Possible out-of-bounds store: derived from strcpy precondition: requires maxSet() >= maxRead() -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected diff --git a/test/maxset/.lclintrc b/test/maxset/.splintrc similarity index 100% rename from test/maxset/.lclintrc rename to test/maxset/.splintrc diff --git a/test/maxset/Makefile b/test/maxset/Makefile index 9ed022b..8807cec 100644 --- a/test/maxset/Makefile +++ b/test/maxset/Makefile @@ -1,7 +1,7 @@ .PHONY: check -LCLINT = lclint -exportlocal +SPLINT = splint -exportlocal check: - $(LCLINT) +arraybounds maxsetannotations.c - $(LCLINT) +arraybounds maxsetnoannotations.c -expect 1 + $(SPLINT) +arraybounds maxsetannotations.c + $(SPLINT) +arraybounds maxsetnoannotations.c -expect 1 diff --git a/test/merge.expect b/test/merge.expect index 3b93b60..b9d4b1a 100644 --- a/test/merge.expect +++ b/test/merge.expect @@ -8,4 +8,4 @@ merge.c: (in function f3) merge.c:51:4: Dereference of possibly null pointer y: *y merge.c:50:7: Storage y may become null -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected diff --git a/test/mergestate.expect b/test/mergestate.expect index d57e65e..1c4327d 100644 --- a/test/mergestate.expect +++ b/test/mergestate.expect @@ -5,7 +5,7 @@ taintednm.c:15:7: Attributes merged in ensures clause in states that cannot be taintednm.c:1:32: s becomes tainted taintednm.c:24:10: Stack-allocated storage t reachable from return value: t -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected taintednm.c: (in function f) taintednm.c:16:18: Invalid transfer from tainted t to untainted (Possibly @@ -22,4 +22,4 @@ taintednm.c:22:18: Invalid transfer from tainted t to untainted (Possibly taintednm.xh:23:55: s becomes untainted taintednm.c:24:10: Stack-allocated storage t reachable from return value: t -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected diff --git a/test/mergestate/Makefile b/test/mergestate/Makefile index 93fd50d..3c18504 100644 --- a/test/mergestate/Makefile +++ b/test/mergestate/Makefile @@ -1,9 +1,9 @@ .PHONY: tainted -LCLINT = lclint +SPLINT = splint all: tainted tainted: - ${LCLINT} -mts taintednm taintednm.c -mustfree -exportlocal -expect 2 - ${LCLINT} -mts tainted taintednm.c -mustfree -exportlocal -expect 4 + ${SPLINT} -mts taintednm taintednm.c -mustfree -exportlocal -expect 2 + ${SPLINT} -mts tainted taintednm.c -mustfree -exportlocal -expect 4 diff --git a/test/metastate.expect b/test/metastate.expect index b3ce7b9..e578a34 100644 --- a/test/metastate.expect +++ b/test/metastate.expect @@ -14,7 +14,7 @@ file1.c:23:14: Invalid transfer from unopen fle to open (unopen file passed as file1.c:1:53: parameter 1 becomes open file1.c:7:8: Variable s declared but not used -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected file2.c: (in function main) file2.c:11:6: Scope exit loses reference fle2 in invalid state implicitly open @@ -24,7 +24,7 @@ file2.c:13:12: Return loses reference fle1 in invalid state implicitly open (open file not closed) file2.c:5:37: State becomes implicitly open -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected file3.c: (in function main) file3.c:10:22: Possibly null storage fle1 passed as non-null param: @@ -35,7 +35,7 @@ file3.c:11:5: Control branches merge with incompatible states for fle1 (unopen file3.c:6:37: fle1 becomes implicitly open file3.c:10:14: fle1 becomes unopen -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected file4.c: (in function main) file4.c:15:14: Invalid transfer from implicitly unopen fle to open (unopen file @@ -43,7 +43,7 @@ file4.c:15:14: Invalid transfer from implicitly unopen fle to open (unopen file file4.c:11:14: fle becomes implicitly unopen file4.c:1:53: parameter 1 becomes open -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected file5.c: (in function passOpen) file5.c:8:2: Ensures clause not satisfied by f (state is open): @@ -63,7 +63,7 @@ file5.c:35:18: Invalid transfer from unopen fle to open (unopen file passed as file5.c:34:3: fle becomes unopen file.xh:1:44: parameter 1 becomes open -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected file6.c: (in function newOpenBad) file6.c:20:10: Invalid transfer from unopen res to open (unopen file passed as @@ -75,7 +75,7 @@ file6.c:30:12: Return loses reference fle in invalid state implicitly open (open file not closed) file6.c:27:3: State becomes implicitly open -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected filebad.c:1:23: Attribute annotation open used in inconsistent context: int badOpen(FILE *) @@ -84,7 +84,7 @@ filebad.c:3:52: Attribute annotation closed used in inconsistent context: filebad.c:3:12: Attribute annotation open used on inappropriate reference p_x in ensures open clause of badEnsures: ensures open p_x -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected sockets.c: (in function test1) sockets.c:13:3: Requires clause of called function useSockets not satisfied @@ -96,7 +96,7 @@ sockets.c: (in function test6) sockets.c:42:3: Requires clause of called function useSockets not satisfied (state is uninitialized): requires sockets_initialized -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected sockets2.c: (in function test1) sockets2.c:15:4: Control branches merge with incompatible global states @@ -111,14 +111,14 @@ sockets2.c:24:3: Control branches merge with incompatible global states sockets2.c:20:24: becomes initialized sockets2.c:23:5: becomes uninitialized -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected struct.c: (in function source_badClose) struct.c:10:2: Function returns with parameter s in inconsistent state (s->file is unopen, should be open): unopen file passed as open struct.c:9:10: s->file becomes unopen -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected nullbranch.c: (in function ftest2) nullbranch.c:30:22: Possibly null storage f passed as non-null param: @@ -128,10 +128,10 @@ nullbranch.c:32:2: Return loses reference f in invalid state open (open file not closed) nullbranch.c:22:3: State becomes open -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected osd.c: (in function osd_fileIsReadable) osd.c:9:7: Return value (type int) ignored: fclose(fl) osd.c:10:14: Return value type bool does not match declared type int: (TRUE) -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected diff --git a/test/metastate/Makefile b/test/metastate/Makefile index 1922a89..ad6e8d1 100644 --- a/test/metastate/Makefile +++ b/test/metastate/Makefile @@ -1,27 +1,27 @@ .PHONY: tainted file -LCLINT = lclint +SPLINT = splint all: file sockets struct nullbranch osd file: - ${LCLINT} -mts file file1.c -expect 4 - ${LCLINT} -mts file file2.c -varuse -fcnuse -expect 2 - ${LCLINT} -mts file file3.c -varuse -fcnuse -expect 2 - ${LCLINT} -mts file file4.c -varuse -fcnuse -exportlocal -expect 1 - ${LCLINT} -mts file file5.c -varuse -fcnuse -exportlocal -expect 4 - ${LCLINT} -mts file file6.c -varuse -fcnuse -exportlocal -expect 2 - ${LCLINT} -mts file filebad.c -expect 3 + ${SPLINT} -mts file file1.c -expect 4 + ${SPLINT} -mts file file2.c -varuse -fcnuse -expect 2 + ${SPLINT} -mts file file3.c -varuse -fcnuse -expect 2 + ${SPLINT} -mts file file4.c -varuse -fcnuse -exportlocal -expect 1 + ${SPLINT} -mts file file5.c -varuse -fcnuse -exportlocal -expect 4 + ${SPLINT} -mts file file6.c -varuse -fcnuse -exportlocal -expect 2 + ${SPLINT} -mts file filebad.c -expect 3 sockets: - ${LCLINT} sockets.mts sockets.c -expect 3 - ${LCLINT} sockets.mts sockets2.c -expect 2 + ${SPLINT} sockets.mts sockets.c -expect 3 + ${SPLINT} sockets.mts sockets2.c -expect 2 struct: - ${LCLINT} -mts file struct.c -expect 1 + ${SPLINT} -mts file struct.c -expect 1 nullbranch: - ${LCLINT} -mts file nullbranch.c -expect 2 + ${SPLINT} -mts file nullbranch.c -expect 2 osd: - ${LCLINT} -mts file osd.c -expect 2 + ${SPLINT} -mts file osd.c -expect 2 diff --git a/test/modifies.expect b/test/modifies.expect index 09ac059..a143562 100644 --- a/test/modifies.expect +++ b/test/modifies.expect @@ -19,4 +19,4 @@ modifies.c:37:1: Function g2 specified to modify internal state but no internal modclient.c: (in function mod) modclient.c:3:3: Statement has no effect: (void)f1(p) -Finished LCLint checking --- 7 code errors found, as expected +Finished checking --- 7 code warnings, as expected diff --git a/test/modtest.expect b/test/modtest.expect index b91492f..7b213a6 100644 --- a/test/modtest.expect +++ b/test/modtest.expect @@ -12,7 +12,7 @@ modtest.c:25:3: Undocumented modification of tstp->b: tstp->b = 6 modtest.c:26:3: Undocumented modification of y possible from call to g: g(j, i) modtest.c:26:3: Return value (type int) ignored: g(j, i) -Finished LCLint checking --- 10 code errors found, as expected +Finished checking --- 10 code warnings, as expected modtest.c: (in function g) modtest.lcl:15: Global x listed but not used @@ -33,7 +33,7 @@ modtest.c:34:10: Undocumented modification of x possible from call to g: modtest.c:34:10: Undocumented modification of y possible from call to g: g(a, &x) -Finished LCLint checking --- 13 code errors found, as expected +Finished checking --- 13 code warnings, as expected modtest.c: (in function g) modtest.lcl:15: Global x listed but not used @@ -56,4 +56,4 @@ modtest.c:29:1: Suspect object listed in modifies of f not modified: ai[6] modtest.c:29:1: Suspect object listed in modifies of f not modified: tstp->a modtest.lcl:8: Specification of f -Finished LCLint checking --- 14 code errors found, as expected +Finished checking --- 14 code warnings, as expected diff --git a/test/modtest.lcs b/test/modtest.lcs index 2b0f2a8..166a123 100644 --- a/test/modtest.lcs +++ b/test/modtest.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/moduncon.expect b/test/moduncon.expect index dfde8e6..56ac4ff 100644 --- a/test/moduncon.expect +++ b/test/moduncon.expect @@ -9,7 +9,7 @@ moduncon.c:13:16: Undetected modification possible from call to unconstrained moduncon.c:13:10: Undetected modification possible from call to unconstrained function umod: umod -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected moduncon.c: (in function f) moduncon.c:6:22: Undetected modification possible from call to unconstrained @@ -54,4 +54,4 @@ moduncon.c:4:5: Function f exported but not declared in header file moduncon.c:10:5: Function g exported but not declared in header file moduncon.c:15:1: Definition of g -Finished LCLint checking --- 22 code errors found, as expected +Finished checking --- 22 code warnings, as expected diff --git a/test/mongoincludes.expect b/test/mongoincludes.expect index a996071..e6598d1 100644 --- a/test/mongoincludes.expect +++ b/test/mongoincludes.expect @@ -53,7 +53,7 @@ minc3.h:1: Maximum include nesting depth (1, current depth 2) exceeded minc3.h:2: Maximum include nesting depth (1, current depth 2) exceeded mongoincludes.c:3: Include site -Finished LCLint checking --- 19 code errors found, as expected +Finished checking --- 19 code warnings, as expected minc4.h:1: Maximum include nesting depth (2, current depth 3) exceeded minc1.h:1: Include site @@ -91,7 +91,7 @@ minc3.h:2: Maximum include nesting depth (2, current depth 3) exceeded minc1.h:4: Include site mongoincludes.c:1: Include site -Finished LCLint checking --- 10 code errors found, as expected +Finished checking --- 10 code warnings, as expected minc3.h:1: Maximum include nesting depth (3, current depth 4) exceeded minc2.h:1: Include site @@ -111,7 +111,7 @@ minc4.h:1: Maximum include nesting depth (3, current depth 4) exceeded minc1.h:3: Include site mongoincludes.c:1: Include site -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected minc4.h:1: Maximum include nesting depth (4, current depth 5) exceeded minc3.h:1: Include site @@ -119,6 +119,6 @@ minc4.h:1: Maximum include nesting depth (4, current depth 5) exceeded minc1.h:3: Include site mongoincludes.c:1: Include site -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings diff --git a/test/moreBufferTests.expect b/test/moreBufferTests.expect index 30c4d6e..a3e9829 100644 --- a/test/moreBufferTests.expect +++ b/test/moreBufferTests.expect @@ -37,4 +37,4 @@ strncatNotReallyGood.c:4:21: Possible out-of-bounds store: derived from strncat precondition: requires maxSet() >= maxRead() + -Finished LCLint checking --- 8 code errors found, as expected +Finished checking --- 8 code warnings, as expected diff --git a/test/moreBufferTests/Makefile b/test/moreBufferTests/Makefile index e1de558..75e921e 100644 --- a/test/moreBufferTests/Makefile +++ b/test/moreBufferTests/Makefile @@ -1,7 +1,7 @@ .PHONY: check -LCLINT = lclint +SPLINT = splint check: - $(LCLINT) -exportlocal +arraybounds +arrayboundsread unrecogCall.c strrchr.c initialization.c simplifyTest.c strncatNotReallyGood.c strncatReallyGood.c -expect 8 + $(SPLINT) -exportlocal +arraybounds +arrayboundsread unrecogCall.c strrchr.c initialization.c simplifyTest.c strncatNotReallyGood.c strncatReallyGood.c -expect 8 diff --git a/test/moreBufferTests2.expect b/test/moreBufferTests2.expect index bf43e05..c7d4db0 100644 --- a/test/moreBufferTests2.expect +++ b/test/moreBufferTests2.expect @@ -6,4 +6,4 @@ unknownsize.c:9:3: Possible out-of-bounds store: needed to satisfy precondition: requires maxSet(c @ unknownsize.c:9:3) >= 9 -Finished LCLint checking --- 1 code error found +Finished checking --- 1 code warning found diff --git a/test/moreBufferTests2/Makefile b/test/moreBufferTests2/Makefile index cbb3f4b..0482a81 100644 --- a/test/moreBufferTests2/Makefile +++ b/test/moreBufferTests2/Makefile @@ -1,7 +1,7 @@ .PHONY: check -#LCLINT = lclint +#SPLINT = splint check: - $(LCLINT) -exportlocal +arraybounds +arrayboundsread unknownsize.c arrayConstExpr.c + $(SPLINT) -exportlocal +arraybounds +arrayboundsread unknownsize.c arrayConstExpr.c diff --git a/test/mut.lcs b/test/mut.lcs index 12dc348..3f1adf4 100644 --- a/test/mut.lcs +++ b/test/mut.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/mut.lh b/test/mut.lh index 8c0c037..6597d98 100644 --- a/test/mut.lh +++ b/test/mut.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" diff --git a/test/mystrncat.expect b/test/mystrncat.expect index 4bb212d..848c8dd 100644 --- a/test/mystrncat.expect +++ b/test/mystrncat.expect @@ -21,4 +21,4 @@ mystrncat.c:13:3: Possible out-of-bounds store: derived from mystrncat precondition: requires maxSet() >= maxRead() + -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected diff --git a/test/noeffect.expect b/test/noeffect.expect index 394f14c..4a14b07 100644 --- a/test/noeffect.expect +++ b/test/noeffect.expect @@ -10,4 +10,4 @@ noeffect.c:2:18: File static function exprNode_swap declared but not used header to suppress message. (-fcnuse will suppress message) noeffect.c:3: Definition of exprNode_swap -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected diff --git a/test/null.expect b/test/null.expect index 192475a..b9d90c7 100644 --- a/test/null.expect +++ b/test/null.expect @@ -27,7 +27,7 @@ null1.c:67:10: Possibly null storage z returned as non-null: z null1.c:67:12: Fresh storage z3 not released before return null1.c:27:3: Fresh storage z3 allocated -Finished LCLint checking --- 14 code errors found, as expected +Finished checking --- 14 code warnings, as expected null1.c: (in function f) null1.c:19:20: Implicitly temp storage x returned as only: x @@ -37,7 +37,7 @@ null1.c:34:5: Passed storage z not completely defined (*z is undefined): g (z) null1.c:67:12: Fresh storage z3 not released before return null1.c:27:3: Fresh storage z3 allocated -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected null2.c: (in function f) null2.c:15:10: Left operand of && is non-boolean (int *): x1 && (*x1 == 3) @@ -56,7 +56,7 @@ null2.c:35:14: Possibly null storage x3 returned as non-null: (x3) null2.c:11:21: Storage x3 may become null null2.c:39:10: Implicitly temp storage x1 returned as only: (x1) -Finished LCLint checking --- 10 code errors found, as expected +Finished checking --- 10 code warnings, as expected null3.c: (in function f3) null3.c:16:4: Dereference of possibly null pointer gnip: *gnip @@ -92,7 +92,7 @@ null3.c: (in function f2) null3.c:73:4: Dereference of possibly null pointer gnip: *gnip null3.c:55:10: Storage gnip may become null -Finished LCLint checking --- 15 code errors found, as expected +Finished checking --- 15 code warnings, as expected null3.c: (in function f3) null3.c:16:4: Dereference of possibly null pointer gnip: *gnip @@ -130,14 +130,14 @@ null3.c: (in function f2) null3.c:73:4: Dereference of possibly null pointer gnip: *gnip null3.c:55:10: Storage gnip may become null -Finished LCLint checking --- 16 code errors found, as expected +Finished checking --- 16 code warnings, as expected null4.c: (in function g) null4.c:43:3: Only storage p (type int *) not released before assignment: p = malloc(24) null4.c:3:28: Storage p becomes only -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected null5.c:5:29: Qualifier falsenull used with function returning char (should return bool) @@ -150,7 +150,7 @@ null5.c: (in function g3) null5.c:37:11: Dereference of null pointer y: *y null5.c:30:25: Storage y becomes null -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected null6.c:7:36: Function f1 declared with notnull parameter x of abstract type mnull @@ -163,7 +163,7 @@ null6.c: (in function f7) null6.c:84:10: Possibly null storage x returned as non-null: x null6.c:81:11: Storage x may become null -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected null6.c:7:36: Function f1 declared with notnull parameter x of abstract type mnull @@ -176,4 +176,4 @@ null6.c: (in function f7) null6.c:84:10: Possibly null storage x returned as non-null: x null6.c:81:11: Storage x may become null -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected diff --git a/test/null6.lcd b/test/null6.lcd index 5660fdb..006338c 100644 --- a/test/null6.lcd +++ b/test/null6.lcd @@ -1,5 +1,5 @@ -;;LCLint Dump: null6.lcd -;;LCLint 3.0.0.19 --- 5 October 2001 +;;; Splint Library null6.lcd +;;Splint 3.0.0.20 --- 5 October 2001 ;;lib:169 ;;ctTable 0 u-2 19 38 diff --git a/test/null6.lcs b/test/null6.lcs index bc88bc7..867bb7f 100644 --- a/test/null6.lcs +++ b/test/null6.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/observer.expect b/test/observer.expect index cc38d96..571cd93 100644 --- a/test/observer.expect +++ b/test/observer.expect @@ -17,7 +17,7 @@ observer.c:41:10: Observer storage *s reachable from unqualified return value observer.c:41:10: Observer storage s returned without qualification: s observer.c:40:7: Storage s becomes observer -Finished LCLint checking --- 9 code errors found, as expected +Finished checking --- 9 code warnings, as expected observer.c: (in function stx_name) observer.c:9:10: Function returns reference to parameter x: (x->name) @@ -36,7 +36,7 @@ observer.c:41:10: Observer storage *s reachable from unqualified return value observer.c:41:10: Observer storage s returned without qualification: s observer.c:40:7: Storage s becomes observer -Finished LCLint checking --- 8 code errors found, as expected +Finished checking --- 8 code warnings, as expected observer.c: (in function stx_name) observer.c:9:20: Released storage x->name reachable from parameter at return @@ -54,4 +54,4 @@ observer.c:41:10: Observer storage *s reachable from unqualified return value observer.c:41:10: Observer storage s returned without qualification: s observer.c:40:7: Storage s becomes observer -Finished LCLint checking --- 7 code errors found, as expected +Finished checking --- 7 code warnings, as expected diff --git a/test/observer.lcs b/test/observer.lcs index e495218..6a2d112 100644 --- a/test/observer.lcs +++ b/test/observer.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/oldstyle.expect b/test/oldstyle.expect index 6f1bbde..0af2ab8 100644 --- a/test/oldstyle.expect +++ b/test/oldstyle.expect @@ -7,4 +7,4 @@ oldstyle.c:15:12: Parameter 2, y, of function f3 has inconsistent type: declared char, specified char * oldstyle.lcl:4:1: Specification of y: char * -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected diff --git a/test/oldstyle.lcs b/test/oldstyle.lcs index 211b7aa..2508f08 100644 --- a/test/oldstyle.lcs +++ b/test/oldstyle.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/outglob.expect b/test/outglob.expect index 2d60d5b..d63b95d 100644 --- a/test/outglob.expect +++ b/test/outglob.expect @@ -17,4 +17,4 @@ outglob.c:41:13: Function returns with global x2 undefined outglob.c:41:13: Function returns with global x3 undefined outglob.lcl:3: Storage x3 becomes undefined -Finished LCLint checking --- 10 code errors found, as expected +Finished checking --- 10 code warnings, as expected diff --git a/test/outglob.lcs b/test/outglob.lcs index 69edbeb..2a6aa08 100644 --- a/test/outglob.lcs +++ b/test/outglob.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/outparam.expect b/test/outparam.expect index 83705a7..1b9334b 100644 --- a/test/outparam.expect +++ b/test/outparam.expect @@ -17,4 +17,4 @@ outparam.c:47:5: Arrow access from possibly null pointer t4: t4->a outparam.c:48:13: Fresh storage t4 not released before return outparam.c:46:3: Fresh storage t4 allocated -Finished LCLint checking --- 12 code errors found, as expected +Finished checking --- 12 code warnings, as expected diff --git a/test/outparam.lcs b/test/outparam.lcs index c2c9b7b..fcab577 100644 --- a/test/outparam.lcs +++ b/test/outparam.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/postnotnull.expect b/test/postnotnull.expect index 0da4ee0..e21eb81 100644 --- a/test/postnotnull.expect +++ b/test/postnotnull.expect @@ -3,4 +3,4 @@ postnotnull.c: (in function test) postnotnull.c:20:2: Only storage a.x (type char *) derived from variable declared in this scope is not released (memory leak) -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected diff --git a/test/preds.expect b/test/preds.expect index 39770b2..c5549a8 100644 --- a/test/preds.expect +++ b/test/preds.expect @@ -22,7 +22,7 @@ preds.c:30:7: Use of == with bool variables (risks inconsistency because of suppress message) preds.c:35:7: Test expression for if not bool, type char: c -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected preds.c: (in function f) preds.c:20:7: Test expression for if is assignment expression: b1 = b2 @@ -31,7 +31,7 @@ preds.c:20:7: Test expression for if is assignment expression: b1 = b2 (e.g., if ((a = b)) ...) to suppress this message. (-predassign will suppress message) -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected preds.c: (in function f) preds.c:5:8: Operand of ! is non-boolean (int *): !p @@ -66,4 +66,4 @@ bool.h:30:13: Function bool_equal declared but not used preds.c:3:5: Function f declared but not used preds.c:41:1: Definition of f -Finished LCLint checking --- 12 code errors found, as expected +Finished checking --- 12 code warnings, as expected diff --git a/test/prefixes.expect b/test/prefixes.expect index ccc63c5..ab61ff0 100644 --- a/test/prefixes.expect +++ b/test/prefixes.expect @@ -1,5 +1,5 @@ -Finished LCLint checking --- no code errors found +Finished checking --- no warnings prefixes.c:20: Parameterized macro has no prototype or specification: mf prefixes.c: (in macro mf) @@ -8,40 +8,40 @@ prefixes.c:20:37: Variable y name is not consistent with macro variable prefixes.c:20:37: Variable y declared but not used prefixes.c:20:26: Variable m_x declared but not used -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected prefixes.c:2:13: Datatype QINT name is not consistent with user-defined type namespace prefix "T" prefixes.c:3:13: Datatype tint name is not consistent with user-defined type namespace prefix "T" -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected prefixes.c:3:13: Datatype tint name is not consistent with user-defined type namespace prefix "^" -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected prefixes.c:1:13: Datatype Tin_ty name is not consistent with user-defined type namespace prefix "^*" prefixes.c:3:13: Datatype tint name is not consistent with user-defined type namespace prefix "^*" -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected prefixes.c:2:13: Datatype QINT name is not consistent with user-defined type namespace prefix "^%*" prefixes.c:3:13: Datatype tint name is not consistent with user-defined type namespace prefix "^%*" -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected prefixes.c:1:13: Datatype Tin_ty name is not consistent with user-defined type namespace prefix "^~*" prefixes.c:3:13: Datatype tint name is not consistent with user-defined type namespace prefix "^~*" -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected prefixes.c:3:13: Datatype tint name is not consistent with user-defined type namespace prefix "^" @@ -58,7 +58,7 @@ prefixes.c:11:12: Variable XqmXt name is not a user-defined type (it is a file prefixes.c:14:12: Variable Gint name is not a user-defined type (it is a external), but matches the user-defined type namespace prefix "^" -Finished LCLint checking --- 7 code errors found, as expected +Finished checking --- 7 code warnings, as expected prefixes.c:8:12: Variable V3int name is not consistent with file static namespace prefix "^^" @@ -69,7 +69,7 @@ prefixes.c:10:12: Variable Xqmxt name is not consistent with file static prefixes.c:11:12: Variable XqmXt name is not consistent with file static namespace prefix "^^" -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected prefixes.c:6:12: Variable FSint name is not consistent with file static namespace prefix "^#" @@ -82,7 +82,7 @@ prefixes.c:10:12: Variable Xqmxt name is not consistent with file static prefixes.c:11:12: Variable XqmXt name is not consistent with file static namespace prefix "^#" -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected prefixes.c:6:12: Variable FSint name is not consistent with file static namespace prefix "^?&x" @@ -95,17 +95,17 @@ prefixes.c:9:12: Variable sint name is not consistent with file static prefixes.c:11:12: Variable XqmXt name is not consistent with file static namespace prefix "^?&x" -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected prefixes.c:15:12: Variable aGb_Xint name is not consistent with global variable namespace prefix "G" -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected prefixes.c:14:12: Variable Gint name is not consistent with global variable namespace prefix "&G?_^" -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected prefixes.c:1:13: Datatype Tin_ty name is not consistent with external namespace prefix "G" @@ -118,7 +118,7 @@ prefixes.c:15:12: Variable aGb_Xint name is not consistent with external prefixes.c:18:12: Function g name is not consistent with external namespace prefix "G" -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected prefixes.c:2:13: Datatype QINT name is not consistent with user-defined type namespace prefix "T" @@ -129,7 +129,7 @@ prefixes.c:15:12: Variable aGb_Xint name is not consistent with external prefixes.c:18:12: Function g name is not consistent with external namespace prefix "G" -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected prefixes.c:20: Expanded macro mf name is not a local variable (it is a unchecked macro), but matches the local variable namespace prefix "?*" @@ -158,4 +158,4 @@ prefixes.c:15:12: Variable aGb_Xint name is not a local variable (it is a prefixes.c:18:12: Function g name is not a local variable (it is a external), but matches the local variable namespace prefix "?*" -Finished LCLint checking --- 13 code errors found, as expected +Finished checking --- 13 code warnings, as expected diff --git a/test/printflike.expect b/test/printflike.expect index 8527939..35f0e89 100644 --- a/test/printflike.expect +++ b/test/printflike.expect @@ -14,7 +14,7 @@ printflike.c:16:35: Multiple special function codes: printflike.c:17:5: Function qxprint is marked messagelike, but the argument before the elipsis has type int (should be char *) -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected printflike.c:2:5: Function mprint is marked printflike, but has no elipsis parameter @@ -27,4 +27,4 @@ printflike.c:16:35: Multiple special function codes: printflike.c:17:5: Function qxprint is marked messagelike, but the argument before the elipsis has type int (should be char *) -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected diff --git a/test/rc.expect b/test/rc.expect index feac499..1a24271 100644 --- a/test/rc.expect +++ b/test/rc.expect @@ -4,32 +4,32 @@ rc.c:3:10: Observer storage returned without qualification: "a flag\"wicked cool" rc.c:3:10: Storage becomes observer -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected rc.c: (in function f) rc.c:3:10: Return value type int does not match declared type char *: 12 -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected -rc2.lclintrc:1:18: Warning: setting +boolint redundant with current value +rc2.splintrc:1:18: Warning: setting +boolint redundant with current value rc.c: (in function f) rc.c:3:10: Observer storage returned without qualification: "a silly\"flag\"\\" rc.c:3:10: Storage becomes observer -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected -rc2.lclintrc:1:18: Warning: setting +boolint redundant with current value +rc2.splintrc:1:18: Warning: setting +boolint redundant with current value rc.c: (in function f) rc.c:3:10: Unrecognized identifier: MYSTERY -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected -rc3.lclintrc:2:1: Bad flag syntax (+ or - expected, + is assumed): +rc3.splintrc:2:1: Bad flag syntax (+ or - expected, + is assumed): internalnamelen 73 A flag is not recognized or used in an incorrect way (-badflag will suppress message) -rc3.lclintrc:5:24: Flag dump must be followed by an argument +rc3.splintrc:5:24: Flag dump must be followed by an argument rc.c: (in function f) rc.c:3:10: Unrecognized identifier: MYSTERY -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected diff --git a/test/rc1.lclintrc b/test/rc1.splintrc similarity index 53% rename from test/rc1.lclintrc rename to test/rc1.splintrc index 470619d..8457880 100644 --- a/test/rc1.lclintrc +++ b/test/rc1.splintrc @@ -1,7 +1,7 @@ # -# rc1.lclintrc +# rc1.splintrc # -DMYSTERY="a silly\"flag\"\\" --f rc2.lclintrc \ No newline at end of file +-f rc2.splintrc diff --git a/test/rc2.lclintrc b/test/rc2.splintrc similarity index 100% rename from test/rc2.lclintrc rename to test/rc2.splintrc diff --git a/test/rc3.lclintrc b/test/rc3.splintrc similarity index 100% rename from test/rc3.lclintrc rename to test/rc3.splintrc diff --git a/test/rc3.lclintrc.os2 b/test/rc3.splintrc.os2 similarity index 100% rename from test/rc3.lclintrc.os2 rename to test/rc3.splintrc.os2 diff --git a/test/refcounts.expect b/test/refcounts.expect index 4575ec7..662988a 100644 --- a/test/refcounts.expect +++ b/test/refcounts.expect @@ -20,4 +20,4 @@ refcounts.c:71:3: New reference z2 (type rp) not released before assignment: refcounts.c:72:13: New reference z2 not released before return refcounts.c:71:3: Storage z2 becomes newref -Finished LCLint checking --- 7 code errors found, as expected +Finished checking --- 7 code warnings, as expected diff --git a/test/release.expect b/test/release.expect index 026e363..59afc90 100644 --- a/test/release.expect +++ b/test/release.expect @@ -3,4 +3,4 @@ release.c: (in function f) release.c:25:12: Owned storage z not released before return release.c:22:7: Storage z becomes owned -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected diff --git a/test/repexpose.expect b/test/repexpose.expect index 73cc349..bf162d1 100644 --- a/test/repexpose.expect +++ b/test/repexpose.expect @@ -29,7 +29,7 @@ repexpose.c:51:10: Only storage im->name returned as dependent: (im->name) repexpose.c: (in function abst_setIm) repexpose.c:57:3: Undocumented modification of a->im: a->im = im -Finished LCLint checking --- 12 code errors found, as expected +Finished checking --- 12 code warnings, as expected repexpose.c: (in function abst_create) repexpose.c:8:4: Arrow access from possibly null pointer a: a->name @@ -65,7 +65,7 @@ repexpose.c:51:10: Function returns reference to parameter im: (im->name) repexpose.c: (in function abst_setIm) repexpose.c:57:3: Undocumented modification of a->im: a->im = im -Finished LCLint checking --- 15 code errors found, as expected +Finished checking --- 15 code warnings, as expected repexpose.c: (in function abst_create) repexpose.c:8:4: Arrow access from possibly null pointer a: a->name @@ -121,4 +121,4 @@ repexpose.c: (in function abst_setIm) repexpose.c:57:3: Undocumented modification of a->im: a->im = im repexpose.lh:6:16: Variable globstring declared but not defined -Finished LCLint checking --- 27 code errors found, as expected +Finished checking --- 27 code warnings, as expected diff --git a/test/repexpose.lcs b/test/repexpose.lcs index 33b120c..0f92ce3 100644 --- a/test/repexpose.lcs +++ b/test/repexpose.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/repexpose.lh b/test/repexpose.lh index 052bdbf..b448cea 100644 --- a/test/repexpose.lh +++ b/test/repexpose.lh @@ -1,4 +1,4 @@ -/* Output from LCLint 3.0.0.19 */ +/* Output from Splint 3.0.0.20 */ # include "bool.h" diff --git a/test/returned.expect b/test/returned.expect index 4e7e470..cca35fe 100644 --- a/test/returned.expect +++ b/test/returned.expect @@ -3,4 +3,4 @@ returned.c: (in function f) returned.c:6:4: Dereference of possibly null pointer s: *s returned.c:5:13: Storage s may become null -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected diff --git a/test/sharing.expect b/test/sharing.expect index e963e4c..eb82955 100644 --- a/test/sharing.expect +++ b/test/sharing.expect @@ -50,7 +50,7 @@ sharing1.c:59:13: Function returns with global globonly referencing released storage sharing1.c:57:9: Storage globonly is released -Finished LCLint checking --- 21 code errors found, as expected +Finished checking --- 21 code warnings, as expected sharing3.c: (in function string_copy) sharing3.c:17:10: Implicitly temp storage s returned as only: s @@ -60,7 +60,7 @@ sharing3.c: (in function string_free3) sharing3.c:45:2: Fresh storage t not released before return sharing3.c:42:29: Fresh storage t allocated -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected sharing4.c: (in function f) sharing4.c:18:3: Only storage globonly1 (type char *) not released before @@ -97,7 +97,7 @@ sharing4.c:42:12: Function returns with global globonly3 referencing released storage sharing4.c:21:9: Storage globonly3 is released -Finished LCLint checking --- 13 code errors found, as expected +Finished checking --- 13 code warnings, as expected sharing4.c: (in function f) sharing4.c:18:3: Only storage globonly1 (type char *) not released before @@ -132,7 +132,7 @@ sharing4.c:42:12: Function returns with global globonly3 referencing released storage sharing4.c:21:9: Storage globonly3 is released -Finished LCLint checking --- 12 code errors found, as expected +Finished checking --- 12 code warnings, as expected sharing5.c: (in function f) sharing5.c:13:4: Variable only1 used after being released @@ -151,4 +151,4 @@ sharing5.c:32:3: Fresh storage localp (type char **) not released before sharing5.c:33:2: Only storage only3 not released before return sharing5.c:4:73: Storage only3 becomes only -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected diff --git a/test/simplebufferConstraintTests.expect b/test/simplebufferConstraintTests.expect index f2d6a89..c81ec83 100644 --- a/test/simplebufferConstraintTests.expect +++ b/test/simplebufferConstraintTests.expect @@ -30,4 +30,4 @@ test7.c:8:3: Possible out-of-bounds store: needed to satisfy precondition: requires maxSet(j @ test7.c:8:3) >= 0 -Finished LCLint checking --- 7 code errors found, as expected +Finished checking --- 7 code warnings, as expected diff --git a/test/simplebufferConstraintTests/Makefile b/test/simplebufferConstraintTests/Makefile index fc93a61..bf8cd75 100644 --- a/test/simplebufferConstraintTests/Makefile +++ b/test/simplebufferConstraintTests/Makefile @@ -1,8 +1,8 @@ .PHONY: check -LCLINT = lclint -exportlocal +SPLINT = splint -exportlocal check: - $(LCLINT) +arraybounds +arrayboundsread m.c sizeof.c test3.c test7.c -expect 7 + $(SPLINT) +arraybounds +arrayboundsread m.c sizeof.c test3.c test7.c -expect 7 diff --git a/test/sizeof.expect b/test/sizeof.expect index ca3463d..1d944e9 100644 --- a/test/sizeof.expect +++ b/test/sizeof.expect @@ -6,4 +6,4 @@ sizeof.c:6:3: Possible out-of-bounds store: needed to satisfy precondition: requires maxSet(x @ sizeof.c:6:3) >= 3 -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected diff --git a/test/slovaknames.expect b/test/slovaknames.expect index f093b9d..acfec46 100644 --- a/test/slovaknames.expect +++ b/test/slovaknames.expect @@ -4,9 +4,9 @@ slovaknames.c:15:11: Left operand of == is abstract type (pivo): p == 1 An abstraction barrier is broken. If necessary, use /*@access @*/ to allow access to an abstract type. (-abstract will suppress message) -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings slovaknames.c:5:5: Variable michelobLight name violates Slovak naming convention. Slovak prefix michelob is not the name of a type. @@ -21,7 +21,7 @@ slovaknames.c:32:5: Function budweiser name is not consistent with Slovak Function or iterator name is not consistent with Slovak naming convention. (Setting either -slovakfcns or -namechecks will suppress message) -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected slovaknames.c:19:5: Function samAdams name violates Slovak naming convention. Slovak prefix sam is not the name of a type. @@ -32,7 +32,7 @@ slovaknames.c:32:5: Function budweiser name is not consistent with Slovak Function or iterator name is not consistent with Slovak naming convention. (Setting either -slovakfcns or -namechecks will suppress message) -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected slovaknames.c:4:5: Variable pivoPyet name violates Slovak naming convention. Slovak prefix pivo names an abstract type that is not accessible. @@ -57,4 +57,4 @@ slovaknames.c:19:5: Function samAdams name violates Slovak naming convention. slovaknames.c:32:5: Function budweiser name is not consistent with Slovak naming convention. Accessible types: pivo -Finished LCLint checking --- 7 code errors found, as expected +Finished checking --- 7 code warnings, as expected diff --git a/test/specclauses.expect b/test/specclauses.expect index f6b32c0..04a3972 100644 --- a/test/specclauses.expect +++ b/test/specclauses.expect @@ -13,7 +13,7 @@ specclauses.c:34:17: Only storage r.name (type char *) derived from variable specclauses.c:40:23: Field r.name used after being released specclauses.c:39:17: Storage r.name released -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected specclauses2.c:10:13: Allocates clauses includes r->year of non-dynamically allocated type int @@ -40,7 +40,7 @@ specclauses2.c: (in function freeName4) specclauses2.c:76:2: Unreleased storage r->name corresponds to storage listed in releases clause -Finished LCLint checking --- 8 code errors found, as expected +Finished checking --- 8 code warnings, as expected specclauses3.c:7:6: Special clause accesses field of non-struct or union result (int): *(result).name @@ -57,7 +57,7 @@ specclauses3.c: (in function createName4) specclauses3.c:55:10: Unallocated storage res->name corresponds to storage result->name listed in allocates clause: res -Finished LCLint checking --- 6 code errors found, as expected +Finished checking --- 6 code warnings, as expected specclauses4.c: (in function usename) specclauses4.c:13:4: Dereference of null pointer *name: **name @@ -69,7 +69,7 @@ specclauses4.c: (in function nullname2) specclauses4.c:42:2: Non-null storage *name corresponds to storage listed in ensures isnull clause -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected specclauses5.c: (in function createrecord2) specclauses5.c:31:10: Null storage r->name derivable from return value: r @@ -82,4 +82,4 @@ specclauses5.c:49:10: Observer storage r->name reachable from unqualified return value specclauses5.c:48:27: Storage r->name becomes observer -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected diff --git a/test/special.expect b/test/special.expect index 9bba758..d842651 100644 --- a/test/special.expect +++ b/test/special.expect @@ -41,7 +41,7 @@ special.c:40:10: Undocumented modification of gs possible from call to fscanf: special.c:42:10: Undocumented modification of gs possible from call to fscanf: fscanf(stdin, "hullo, welcome to %*23d %*c %s", gs) -Finished LCLint checking --- 20 code errors found, as expected +Finished checking --- 20 code warnings, as expected special.c: (in function f) special.c:17:34: Variable c used before definition @@ -90,4 +90,4 @@ special.c:40:10: Undocumented modification of gs possible from call to fscanf: special.c:42:10: Undocumented modification of gs possible from call to fscanf: fscanf(stdin, "hullo, welcome to %*23d %*c %s", gs) -Finished LCLint checking --- 22 code errors found, as expected +Finished checking --- 22 code warnings, as expected diff --git a/test/special.lcs b/test/special.lcs index 649dfaf..090ce77 100644 --- a/test/special.lcs +++ b/test/special.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/stack.expect b/test/stack.expect index c9f5661..df2f771 100644 --- a/test/stack.expect +++ b/test/stack.expect @@ -9,6 +9,6 @@ stack.c:20:14: Stack-allocated storage &x reachable from return value: &x stack.c:31:11: Stack-allocated storage sa reachable from return value: sa stack.c:35:11: Stack-allocated storage sa reachable from return value: &sa[0] -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings diff --git a/test/staticarray.expect b/test/staticarray.expect index 2a44323..8fe190c 100644 --- a/test/staticarray.expect +++ b/test/staticarray.expect @@ -9,4 +9,4 @@ staticarray.c: (in function g) staticarray.c:27:10: Implicitly temp storage outstr returned as implicitly only: outstr -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected diff --git a/test/strchr.expect b/test/strchr.expect index 5a3bf3c..0b3b813 100644 --- a/test/strchr.expect +++ b/test/strchr.expect @@ -4,4 +4,4 @@ strchr.c:6:4: Dereference of possibly null pointer c: *c strchr.c:5:7: Storage c may become null strchr.c:6:3: Suspect modification of observer c: *c = 'd' -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected diff --git a/test/strchr/.lclintrc b/test/strchr/.splintrc similarity index 100% rename from test/strchr/.lclintrc rename to test/strchr/.splintrc diff --git a/test/strchr/Makefile b/test/strchr/Makefile index b92ee0e..861f383 100644 --- a/test/strchr/Makefile +++ b/test/strchr/Makefile @@ -1,8 +1,8 @@ .PHONY: check -LCLINT = lclint -exportlocal +SPLINT = splint -exportlocal check: - $(LCLINT) +arraybounds +arrayboundsread strchr.c -expect 2 + $(SPLINT) +arraybounds +arrayboundsread strchr.c -expect 2 diff --git a/test/strings.expect b/test/strings.expect index 19b5d44..f614215 100644 --- a/test/strings.expect +++ b/test/strings.expect @@ -5,11 +5,11 @@ strings.c:24:14: Function call may modify observer: "hullo" strings.c:25:7: Observer storage passed as only param: f3 ("hullo") strings.c:25:7: Storage becomes observer -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected strings.c:21:6: Function main declared to return void, should return int -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected strings.c: (in function main) strings.c:23:14: Call to unconstrained function f1 may modify observer: "hullo" @@ -20,4 +20,4 @@ strings.c:25:7: Call to unconstrained function f3 may modify observer: "hullo" strings.c:25:7: Observer storage passed as only param: f3 ("hullo") strings.c:25:7: Storage becomes observer -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected diff --git a/test/structassign.expect b/test/structassign.expect index 1543558..14d5a00 100644 --- a/test/structassign.expect +++ b/test/structassign.expect @@ -15,4 +15,4 @@ structassign.c: (in function main) structassign.c:45:14: Only storage rc.name (type char *) derived from variable declared in this scope is not released (memory leak) -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected diff --git a/test/tainted.expect b/test/tainted.expect index c74ea92..14a6358 100644 --- a/test/tainted.expect +++ b/test/tainted.expect @@ -18,7 +18,7 @@ tainted.c:20:18: Invalid transfer from tainted t to untainted (Possibly tainted tainted.c:19:3: t becomes tainted tainted.xh:26:55: s becomes untainted -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected tainted-bad.mts:18:7: Transfer clause uses unrecognized result state peach: untainted as tainted ==> peach @@ -49,7 +49,7 @@ tainted.c:20:18: Invalid transfer from tainted t to untainted (Possibly tainted tainted.c:15:3: t becomes tainted tainted.xh:26:55: s becomes untainted -Finished LCLint checking --- 9 code errors found, as expected +Finished checking --- 9 code warnings, as expected tainted2.c: (in function test) tainted2.c:20:10: Invalid transfer from tainted stk to untainted (Possibly @@ -57,7 +57,7 @@ tainted2.c:20:10: Invalid transfer from tainted stk to untainted (Possibly tainted2.c:17:14: stk becomes tainted tainted2.c:4:2: becomes untainted -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected tainted3.c: (in function test) tainted3.c:7:19: Invalid transfer from tainted def to untainted (Possibly @@ -65,16 +65,16 @@ tainted3.c:7:19: Invalid transfer from tainted def to untainted (Possibly tainted3.c:4:36: def becomes tainted tainted3.c:1:53: def becomes untainted -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected tainted4.c: (in function test) tainted4.c:9:19: Invalid transfer from tainted def to untainted (*def): Possibly tainted storage used as untainted. tainted4.c:6:36: def becomes tainted -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings taintedmerge.c: (in function f) taintedmerge.c:11:18: Invalid transfer from tainted t to untainted (Possibly @@ -87,7 +87,7 @@ taintedmerge.c:14:18: Invalid transfer from tainted t to untainted (Possibly tainted.xh:26:55: s becomes untainted taintedmerge.c:16:10: Stack-allocated storage t reachable from return value: t -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected taintedimplicit.c: (in function dangerouscall) taintedimplicit.c:17:18: Invalid transfer from tainted [result of taintme] to @@ -96,7 +96,7 @@ taintedimplicit.c:17:18: Invalid transfer from tainted [result of taintme] to taintedimplicit.c:17:18: becomes tainted tainted.xh:26:55: s becomes untainted -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected sprintf.c: (in function sp) sprintf.c:11:18: Invalid transfer from tainted s to untainted (Possibly tainted @@ -108,4 +108,4 @@ sprintf.c:14:18: Invalid transfer from tainted s to untainted (Possibly tainted sprintf.c:13:61: s becomes tainted tainted.xh:26:55: s1 becomes untainted -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected diff --git a/test/tainted/Makefile b/test/tainted/Makefile index 2c57fd8..40bd60f 100644 --- a/test/tainted/Makefile +++ b/test/tainted/Makefile @@ -1,16 +1,16 @@ .PHONY: tainted -LCLINT = lclint +SPLINT = splint all: tainted tainted: - ${LCLINT} -mts tainted tainted.c -mustfree -exportlocal -expect 4 - ${LCLINT} tainted-bad.mts tainted.xh tainted.c -mustfree -exportlocal -expect 9 - ${LCLINT} -mts tainted tainted2.c -mustfree -exportlocal -expect 1 - ${LCLINT} -mts tainted tainted3.c -mustfree -exportlocal -expect 1 - ${LCLINT} -mts tainted tainted4.c -mustfree -exportlocal -expect 1 - ${LCLINT} -mts tainted tainted5.c -mustfree -exportlocal - ${LCLINT} -mts tainted taintedmerge.c -mustfree -exportlocal -expect 3 - ${LCLINT} -mts tainted taintedimplicit.c -mustfree -exportlocal -expect 1 - ${LCLINT} -mts tainted sprintf.c -expect 2 + ${SPLINT} -mts tainted tainted.c -mustfree -exportlocal -expect 4 + ${SPLINT} tainted-bad.mts tainted.xh tainted.c -mustfree -exportlocal -expect 9 + ${SPLINT} -mts tainted tainted2.c -mustfree -exportlocal -expect 1 + ${SPLINT} -mts tainted tainted3.c -mustfree -exportlocal -expect 1 + ${SPLINT} -mts tainted tainted4.c -mustfree -exportlocal -expect 1 + ${SPLINT} -mts tainted tainted5.c -mustfree -exportlocal + ${SPLINT} -mts tainted taintedmerge.c -mustfree -exportlocal -expect 3 + ${SPLINT} -mts tainted taintedimplicit.c -mustfree -exportlocal -expect 1 + ${SPLINT} -mts tainted sprintf.c -expect 2 diff --git a/test/tests2.2.expect b/test/tests2.2.expect index 49ce385..d461fdf 100644 --- a/test/tests2.2.expect +++ b/test/tests2.2.expect @@ -2,28 +2,28 @@ boolops.c: (in function main) boolops.c:12:3: Assignment of int to Kzam: b = 12 -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected mbool.h:1:17: Type implemented as macro: bool -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected boolenum.c: (in function main) boolenum.c:11:8: Use of == with BOOLEAN variables (risks inconsistency because of multiple true values): a == TRUE -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected break.c: (in function f) break.c:9:4: Dereference of possibly null pointer x: *x break.c:1:24: Storage x may become null -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected bstring.c:4:14: Initial value of s4[0] is type char *, expects char: "hullo" bstring.c:4:23: Initial value of s4[1] is type char *, expects char: "g'bye" -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected decl.c:3:21: Structure struct tm declared with fields { int x; }, specified with fields { int tm_sec; int tm_min; int tm_hour;, ... } @@ -31,29 +31,29 @@ decl.c:3:21: Structure struct tm declared with fields { int x; }, specified decl.c:3:17: Field tm_sec in specified corresponds to x in declaration load file ansi.lcd:637:1: Specification of tm_sec -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected enumbool.c:1:34: Member of boolean enumerated type definition does not match name set to represent TRUE or FALSE: false enumbool.c:1:34: Member of boolean enumerated type definition does not match name set to represent TRUE or FALSE: true -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings -Finished LCLint checking --- no code errors found +Finished checking --- no warnings extension.c:2:18: Parse Error: New function scope inside function. (For help on parse errors, see lclint -help parseerrors.) *** Cannot continue. -Finished LCLint checking --- no code errors found +Finished checking --- no warnings nestext.c: (in function f) nestext.c:3:26: Declaration using extern inside function scope: int test(void) -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected sizeofarray.c:1:12: Function parameter x declared as manifest array (size constant is meaningless) @@ -63,7 +63,7 @@ sizeofarray.c:5:13: Parameter to sizeof is an array-type function parameter: sizeofarray.c:10:16: Return value type size_t does not match declared type int: sizeof((a)) -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected rex.c: (in function main) rex.c:19:12: Only storage re.parent (type struct rx_hash *) derived from @@ -77,8 +77,8 @@ rex.c:19:12: Only storage *(*(*(re.children)->children)->children)->parent (type struct rx_hash *) derived from variable declared in this scope is not released (memory leak) -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected struct.c:13:6: Function main declared to return void, should return int -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected diff --git a/test/tests2.2/Makefile b/test/tests2.2/Makefile index 752b8a2..609ed42 100644 --- a/test/tests2.2/Makefile +++ b/test/tests2.2/Makefile @@ -1,50 +1,50 @@ .PHONY: boolops bool boolenum break bstring decl enumbool extension modarray nestext offestof sizeofarray rex struct -LCLINT = lclint +SPLINT = splint all: boolops bool boolenum break bstring decl enumbool extension modarray nestext offestof sizeofarray rex struct boolops: - $(LCLINT) boolops.c -expect 1 + $(SPLINT) boolops.c -expect 1 bool: - $(LCLINT) bool.lcl booldef.c -expect 1 + $(SPLINT) bool.lcl booldef.c -expect 1 boolenum: - $(LCLINT) boolenum.c -booltype BOOLEAN -expect 1 + $(SPLINT) boolenum.c -booltype BOOLEAN -expect 1 break: - $(LCLINT) break.c -expect 1 + $(SPLINT) break.c -expect 1 bstring: - $(LCLINT) bstring.c -expect 2 + $(SPLINT) bstring.c -expect 2 decl: - $(LCLINT) decl.c -expect 1 + $(SPLINT) decl.c -expect 1 enumbool: - $(LCLINT) enumbool.c -expect 2 - $(LCLINT) enumbool.c -booltrue "true" -boolfalse "false" + $(SPLINT) enumbool.c -expect 2 + $(SPLINT) enumbool.c -booltrue "true" -boolfalse "false" extension: - -$(LCLINT) extension.c - -$(LCLINT) -gnuextensions extension.c + -$(SPLINT) extension.c + -$(SPLINT) -gnuextensions extension.c modarray: - $(LCLINT) modarray.c + $(SPLINT) modarray.c nestext: - $(LCLINT) nestext.c -expect 1 + $(SPLINT) nestext.c -expect 1 offsetof: - $(LCLINT) offsetof.c + $(SPLINT) offsetof.c sizeofarray: - $(LCLINT) sizeofarray.c -expect 3 + $(SPLINT) sizeofarray.c -expect 3 rex: - $(LCLINT) rex.c -expect 4 + $(SPLINT) rex.c -expect 4 ### 3 new errors reported struct: - $(LCLINT) struct.c -expect 1 + $(SPLINT) struct.c -expect 1 diff --git a/test/tests2.2/bool.lcs b/test/tests2.2/bool.lcs index aea5d72..8fd8183 100644 --- a/test/tests2.2/bool.lcs +++ b/test/tests2.2/bool.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/tests2.4.expect b/test/tests2.4.expect index 9221f5e..5fa174d 100644 --- a/test/tests2.4.expect +++ b/test/tests2.4.expect @@ -1,10 +1,10 @@ -Finished LCLint checking --- no code errors found +Finished checking --- no warnings enumtest.c:1:9: Variable exported but not used outside enumtest: sig_func enumtest.c:2:10: Variable exported but not used outside enumtest: sig_func1 -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected duffs.c: (in function send) duffs.c:7:8: Fall through case (no preceding break) @@ -15,11 +15,11 @@ duffs.c:11:8: Fall through case (no preceding break) duffs.c:12:8: Fall through case (no preceding break) duffs.c:13:8: Fall through case (no preceding break) -Finished LCLint checking --- 7 code errors found, as expected +Finished checking --- 7 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings -Finished LCLint checking --- no code errors found +Finished checking --- no warnings bug2.c: (in function main) bug2.c:6:8: Fall through case (no preceding break) @@ -28,26 +28,26 @@ bug2.c:16:8: Fall through case (no preceding break) bug2.c:5:5: Statement after switch is not a case: printf("here 1") bug2.c:20:2: Path with no return in function declared to return int -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected bug3.c: (in function main) bug3.c:8:8: Fall through case (no preceding break) bug3.c:12:21: Variable j used before definition bug3.c:13:2: Path with no return in function declared to return int -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings -Finished LCLint checking --- no code errors found +Finished checking --- no warnings -Finished LCLint checking --- no code errors found +Finished checking --- no warnings hexconstants.c: (in function f) hexconstants.c:5:10: Return value type unsigned int does not match declared type int: m1 + m2 -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected hexconstants.c: (in function f) hexconstants.c:2:21: Variable m1 initialized to type int, expects unsigned int: @@ -59,44 +59,44 @@ hexconstants.c:5:10: Return value type unsigned int does not match declared hexconstants.c:1:5: Function f exported but not declared in header file hexconstants.c:6:1: Definition of f -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected innercomment.c:1:17: Comment starts inside comment innercomment.c:16:3: Comment starts inside comment -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings -Finished LCLint checking --- no code errors found +Finished checking --- no warnings offsetof.c: (in function f) offsetof.c:10:3: Assignment of size_t to int: m = offsetof(S,u) offsetof.c:12:26: Deep field k in offsetof is not the name of a field of struct { int m; }: offsetof(S,u.s.k) -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings -Finished LCLint checking --- no code errors found +Finished checking --- no warnings -Finished LCLint checking --- no code errors found +Finished checking --- no warnings error.c:5:9: Variable x initialized to type char, expects int: 'a' -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected ulrich.c: (in function utl_calloc) ulrich.c:14:13: Possibly null storage newblock returned as non-null: newblock ulrich.c:12:16: Storage newblock may become null -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected cpptest.c: (in function test) cpptest.c:2:11: Variable x initialized to type char, expects int: 'a' -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected longlong.c: (in function llf) longlong.c:2:11: Variable m initialized to type long long, expects int: llx @@ -104,24 +104,24 @@ longlong.c:3:3: Assignment of long long to int: m = 243LL longlong.c:6:3: Assignment of long long to long int: lx = 5234LL longlong.c:9:3: Assignment of long long to long int: lx = llx -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings -Finished LCLint checking --- no code errors found +Finished checking --- no warnings -Finished LCLint checking --- no code errors found +Finished checking --- no warnings alignof.c: (in function f) alignof.c:2:23: Variable m initialized to type size_t, expects int: alignof(x) alignof.c:3:23: Variable n initialized to type size_t, expects int: alignof((x)) -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected Spec file not found: DBL_MANT_DIG=25.lcl Command Line: Malformed option `-D' Cannot open file: DBL_MANT_DIG=25.c Cannot open file: source.c -Finished LCLint checking --- no code processed +Finished checking --- no code processed diff --git a/test/tests2.4/Makefile b/test/tests2.4/Makefile index 69094c6..535e3fb 100644 --- a/test/tests2.4/Makefile +++ b/test/tests2.4/Makefile @@ -1,82 +1,82 @@ .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 -LCLINT = lclint +SPLINT = splint all: check check: 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 emptycase: - $(LCLINT) emptycase.c + $(SPLINT) emptycase.c enumtest: - $(LCLINT) enumtest.c -expect 2 + $(SPLINT) enumtest.c -expect 2 duffs: - $(LCLINT) duffs.c -expect 7 + $(SPLINT) duffs.c -expect 7 bitfields: - $(LCLINT) bitfields.c + $(SPLINT) bitfields.c bugs: - $(LCLINT) bug1.c - $(LCLINT) bug2.c -expect 5 - $(LCLINT) bug3.c -expect 3 + $(SPLINT) bug1.c + $(SPLINT) bug2.c -expect 5 + $(SPLINT) bug3.c -expect 3 tests: - $(LCLINT) test0.c - $(LCLINT) test1.c - $(LCLINT) test2.c + $(SPLINT) test0.c + $(SPLINT) test1.c + $(SPLINT) test2.c hexconstants: - $(LCLINT) hexconstants.c -expect 1 - $(LCLINT) +checks hexconstants.c -expect 4 + $(SPLINT) hexconstants.c -expect 1 + $(SPLINT) +checks hexconstants.c -expect 4 innercomment: - $(LCLINT) innercomment.c -expect 2 +forcehints - $(LCLINT) innercomment.c -nestcomment + $(SPLINT) innercomment.c -expect 2 +forcehints + $(SPLINT) innercomment.c -nestcomment nothing: - $(LCLINT) nothing.c + $(SPLINT) nothing.c offsetof: - $(LCLINT) offsetof.c -expect 2 + $(SPLINT) offsetof.c -expect 2 komazi: - $(LCLINT) komazi.c + $(SPLINT) komazi.c print: - $(LCLINT) print.c + $(SPLINT) print.c syslog: - $(LCLINT) syslog.c -warnunixlib +unixlib + $(SPLINT) syslog.c -warnunixlib +unixlib error: - $(LCLINT) error.c -expect 1 + $(SPLINT) error.c -expect 1 ulrich: - $(LCLINT) ulrich.c -expect 1 + $(SPLINT) ulrich.c -expect 1 cpptest: - $(LCLINT) cpptest.c '-D__P(x)=x' -expect 1 + $(SPLINT) cpptest.c '-D__P(x)=x' -expect 1 longlong: - $(LCLINT) longlong.c -expect 4 + $(SPLINT) longlong.c -expect 4 subdir: - $(LCLINT) subdir/main.c subdir/main.lcl + $(SPLINT) subdir/main.c subdir/main.lcl fink: - $(LCLINT) fink.c + $(SPLINT) fink.c driverstub: - $(LCLINT) driverstub.c + $(SPLINT) driverstub.c alignof: - $(LCLINT) alignof.c -expect 2 + $(SPLINT) alignof.c -expect 2 source: - $(LCLINT) -D DBL_MANT_DIG=25 source.c + $(SPLINT) -D DBL_MANT_DIG=25 source.c diff --git a/test/tests2.4/subdir/main.lcs b/test/tests2.4/subdir/main.lcs index 3739362..1456aa1 100644 --- a/test/tests2.4/subdir/main.lcs +++ b/test/tests2.4/subdir/main.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/tests2.5.expect b/test/tests2.5.expect index 4aba2d1..2bab909 100644 --- a/test/tests2.5.expect +++ b/test/tests2.5.expect @@ -1,42 +1,42 @@ -Finished LCLint checking --- no code errors found +Finished checking --- no warnings boolt.c: (in function test) boolt.c:7:16: Function test expects arg 1 to be pan_bool_t gets int: 2 -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected uconstants.c: (in function f) uconstants.c:2:16: Variable x0 declared but not used uconstants.c:3:21: Variable x1 declared but not used -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected hoof.c: (in function main) hoof.c:12:16: Function init_arr expects arg 2 to be long int * gets int *: &j -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings -Finished LCLint checking --- no code errors found +Finished checking --- no warnings booltest.c: (in function f) booltest.c:9:12: Return value type int does not match declared type bool: i booltest.c:8:7: Test expression for if not bool, type int: i -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings booltest.c: (in function f) booltest.c:9:12: Return value type int does not match declared type bool: i -Finished LCLint checking --- 1 code error found, as expected +Finished checking --- 1 code warning, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings -Finished LCLint checking --- no code errors found +Finished checking --- no warnings immutable.c: (in function immutable_create) immutable.c:7:6: Arrow access from possibly null pointer res: res->x @@ -44,10 +44,10 @@ immutable.c:7:6: Arrow access from possibly null pointer res: res->x immutable.c:8:10: Fresh storage returned as unqualified (should be only): res immutable.c:5:54: Fresh storage res allocated -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected impabsmodule.c: (in function isTwo) impabsmodule.c:10:7: Variable var used before definition impabsmodule.c:10:12: Variable var2 used before definition -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected diff --git a/test/tests2.5/Makefile b/test/tests2.5/Makefile index ed04e39..302eb60 100644 --- a/test/tests2.5/Makefile +++ b/test/tests2.5/Makefile @@ -1,46 +1,46 @@ .PHONY: boolt testalt booltest boolbad hoof testalt uconstants ull baz -LCLINT = lclint +SPLINT = splint # ull and baz added after 2.5q all: testalt boolt uconstants badcomment hoof boolbad booltest ull baz immutable impabsmodule testalt: - ${LCLINT} -dump newlint.lcd testalt.c + ${SPLINT} -dump newlint.lcd testalt.c boolt: - ${LCLINT} -expect 1 +partial +booltype pan_bool_t +booltrue PAN_TRUE +boolfalse PAN_FALSE boolt.c + ${SPLINT} -expect 1 +partial +booltype pan_bool_t +booltrue PAN_TRUE +boolfalse PAN_FALSE boolt.c uconstants: - ${LCLINT} uconstants.c -expect 2 + ${SPLINT} uconstants.c -expect 2 badcomment: - ${LCLINT} badcomment.c -expect 3 + ${SPLINT} badcomment.c -expect 3 hoof: - ${LCLINT} hoof.c -expect 1 - ${LCLINT} hoof.c +ignorequals + ${SPLINT} hoof.c -expect 1 + ${SPLINT} hoof.c +ignorequals ignorecmd: - ${LCLINT} +ignorecommand -we + ${SPLINT} +ignorecommand -we booltest: - ${LCLINT} booltest.c -booltype bool -expect 2 - ${LCLINT} booltest.c -booltype bool +boolint - ${LCLINT} booltest.c -booltype bool -predboolint -expect 1 + ${SPLINT} booltest.c -booltype bool -expect 2 + ${SPLINT} booltest.c -booltype bool +boolint + ${SPLINT} booltest.c -booltype bool -predboolint -expect 1 boolbad: - ${LCLINT} -weak -booltype BOOLEAN boolbad.c + ${SPLINT} -weak -booltype BOOLEAN boolbad.c ull: - ${LCLINT} ull.c + ${SPLINT} ull.c baz: - ${LCLINT} baz.h bimbim.h -I. + ${SPLINT} baz.h bimbim.h -I. immutable: - ${LCLINT} immutable.c testimmutable.c -expect 2 + ${SPLINT} immutable.c testimmutable.c -expect 2 impabsmodule: - ${LCLINT} +impabstract impabsmodule.c -expect 2 + ${SPLINT} +impabstract impabsmodule.c -expect 2 diff --git a/test/tests2.5/newlint.lcd b/test/tests2.5/newlint.lcd index a2174e4..c46f8d7 100644 --- a/test/tests2.5/newlint.lcd +++ b/test/tests2.5/newlint.lcd @@ -1,5 +1,5 @@ -;;LCLint Dump: newlint.lcd -;;LCLint 3.0.0.19 --- 5 October 2001 +;;; Splint Library newlint.lcd +;;Splint 3.0.0.20 --- 5 October 2001 ;;lib:169 ;;ctTable 0 u-2 19 38 diff --git a/test/tq.lcs b/test/tq.lcs index 4e015ba..f7040ce 100644 --- a/test/tq.lcs +++ b/test/tq.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/typequals.expect b/test/typequals.expect index d9fa2d8..3985010 100644 --- a/test/typequals.expect +++ b/test/typequals.expect @@ -9,10 +9,10 @@ typequals.c: (in function f) typequals.c:6:4: Operand of * is abstract type (tam): *xtam typequals.c:7:4: Operand of * is abstract type (tai): *xtai -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected typequals.c: (in function f) typequals.c:6:4: Operand of * is abstract type (tam): *xtam typequals.c:7:4: Operand of * is abstract type (tai): *xtai -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected diff --git a/test/ud.expect b/test/ud.expect index 6630a6d..20c5141 100644 --- a/test/ud.expect +++ b/test/ud.expect @@ -10,7 +10,7 @@ ud.c:49:6: Variable i used before definition ud.c:50:6: Variable z5 used before definition ud.c:56:7: Variable z5 used before definition -Finished LCLint checking --- 9 code errors found, as expected +Finished checking --- 9 code warnings, as expected ud2.c: (in function g) ud2.c:9:6: Unallocated storage y passed as out parameter to f1: y @@ -18,4 +18,4 @@ ud2.c: (in function h) ud2.c:20:7: Passed storage &x not completely defined: f2 (&x) ud2.c:23:7: Variable y used before definition -Finished LCLint checking --- 3 code errors found, as expected +Finished checking --- 3 code warnings, as expected diff --git a/test/ud2.lcs b/test/ud2.lcs index 8a61b39..f2ee966 100644 --- a/test/ud2.lcs +++ b/test/ud2.lcs @@ -1,4 +1,4 @@ -%PASSED Output from LCLint 3.0.0.19 +%PASSED Output from Splint 3.0.0.20 %LCLimports %LCLSortTable %LCLsort bool immutable nil nil diff --git a/test/ullint.expect b/test/ullint.expect index 54f12cf..196e380 100644 --- a/test/ullint.expect +++ b/test/ullint.expect @@ -10,11 +10,11 @@ ullint.c:35:3: Assignment of unsigned char to pan_uint32_t: | (src[5] ^ 0x80) ullint.c:37:3: Assignment of unsigned char to pan_uint32_t: d = c -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected ullint.c: (in function main) ullint.c:29:11: Operands of < have incompatible types (int, size_t): i < sizeof((src)) ullint.c:35:26: Array element src[0] used before definition -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected diff --git a/test/ulstypes.expect b/test/ulstypes.expect index 5b7c753..89a6eed 100644 --- a/test/ulstypes.expect +++ b/test/ulstypes.expect @@ -11,9 +11,9 @@ ulstypes.c:15:10: Return value type unsigned int does not match declared type ulstypes.c:20:19: Variable x3 initialized to type int, expects unsigned int: -15 -Finished LCLint checking --- 8 code errors found, as expected +Finished checking --- 8 code warnings, as expected -Finished LCLint checking --- no code errors found +Finished checking --- no warnings ulstypes.c:3:23: Contradictory long and short type qualifiers ulstypes.c: (in function f) @@ -51,4 +51,4 @@ ulstypes.c:2:10: Variable exported but not used outside ulstypes: li ulstypes.c:5:10: Function exported but not used outside ulstypes: f ulstypes.c:16:1: Definition of f -Finished LCLint checking --- 28 code errors found, as expected +Finished checking --- 28 code warnings, as expected diff --git a/test/union.expect b/test/union.expect index da6edcf..648fbcc 100644 --- a/test/union.expect +++ b/test/union.expect @@ -22,4 +22,4 @@ union.c:84:2: Released storage u->st.ip reachable from parameter at return point union.c:82:9: Storage u->st.ip is released -Finished LCLint checking --- 8 code errors found, as expected +Finished checking --- 8 code warnings, as expected diff --git a/test/unreachable.expect b/test/unreachable.expect index 98f1c59..233fafa 100644 --- a/test/unreachable.expect +++ b/test/unreachable.expect @@ -8,13 +8,13 @@ unreachable.c:33:29: Unreachable code: z-- unreachable.c:34:10: Fall through case (no preceding break) unreachable.c:45:4: Unreachable code: z++ -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected unreachable.c: (in function s) unreachable.c:34:10: Fall through case (no preceding break) unreachable.c:46:2: Path with no return in function declared to return int -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected switch.c: (in function f3) switch.c:31:2: Path with no return in function declared to return int @@ -24,4 +24,4 @@ switch.c:50:2: Path with no return in function declared to return int switch.c: (in function f6) switch.c:70:2: Path with no return in function declared to return int -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected diff --git a/test/unsignedcompare.expect b/test/unsignedcompare.expect index 3a667bb..07b67aa 100644 --- a/test/unsignedcompare.expect +++ b/test/unsignedcompare.expect @@ -6,4 +6,4 @@ unsignedcompare.c:7:7: Comparison of unsigned value involving zero: res <= 0 unsignedcompare.c:12:7: Comparison of unsigned value involving zero: res < 0 unsignedcompare.c:12:18: Comparison of unsigned value involving zero: res >= 0 -Finished LCLint checking --- 4 code errors found, as expected +Finished checking --- 4 code warnings, as expected diff --git a/test/unused.expect b/test/unused.expect index 4e4a1ba..6b322a5 100644 --- a/test/unused.expect +++ b/test/unused.expect @@ -8,7 +8,7 @@ unused.c:19:12: File static function f declared but not used unused.c:16:12: Function undef declared but not defined unused.c:16:12: Function undef exported but not declared in header file -Finished LCLint checking --- 5 code errors found, as expected +Finished checking --- 5 code warnings, as expected unused.c:13:6: Name _inner is in the implementation name space (any identifier beginning with underscore) @@ -22,4 +22,4 @@ unused.c:12:11: Field silly of structure struct _inner declared but not used unused.c:7:7: Field dumb of structure struct _st declared but not used unused.c:16:12: Function undef exported but not declared in header file -Finished LCLint checking --- 8 code errors found, as expected +Finished checking --- 8 code warnings, as expected diff --git a/test/void.expect b/test/void.expect index 0366e58..a8febd8 100644 --- a/test/void.expect +++ b/test/void.expect @@ -4,4 +4,4 @@ void.c:5:3: Return value (type int) ignored: f() void.c:3:5: Function exported but not used outside void: f void.c:7:1: Definition of f -Finished LCLint checking --- 2 code errors found, as expected +Finished checking --- 2 code warnings, as expected -- 2.45.2