+++ /dev/null
- Buffer Overflow Checking
- David Larochelle
- 15 August 2001
-
-
-This is a preliminary guide to the buffer overflow checking in LCLint
-Version 3.0. This alpha version contains additional checking not
-documented in the manual for LCLint 2.5.
-
-Although this document provides a quick introduction for the new
-features of LCLint it is not intended as a substitute for the LCLint
-manual. We recommend that users unfamiliar with LCLint consult the
-LCLint user guides in addition to this document.
-
-The types of errors which LCLint reports can be controlled flags.
-Theses flags can be set on the commands line or in .lclintrc files. A
-flags by giving LCLint the +flagname option on the command line or in a
-.lclintrc file where flagname is the name of the flag. Similarly flags
-are unset with -flagname.
-
-Overview
-========
-
-LCLint detects buffer overflow errors by generating precondition and
-postcondition constraints at the expression level. We resolve
-constraints using post conditions from previous statements. We generate
-an error message for any constraints which we are unable to resolve at
-the top of a function.
-
-All checking takes place within functions. Interprocedural properties
-are checked using annotations. Annotated versions of the standard
-libraries are provided innerally.
-
-The new annotations allow programmers to explicitly state function
-preconditions and postconditions using requires and ensures clauses. We
-can use these clauses to describe assumptions about buffers that are
-passed to functions and constrain the state of buffers when functions
-return. For the analyses described here two kinds of assumptions and
-constraints are used: maxSet, and maxRead.
-
-When used in a requires clause, the maxSet annotation describes
-assumptions about the lowest and highest indices of a buffer that may be
-safely used as an lvalue (e.g., on the left-hand side of an assignment).
-For example, consider a function with an array parameter a and an
-integer parameter i that has a precondition requires maxSet(a) >= i.
-The analysis assumes that at the beginning of the function body, a[i]
-may be used as an lvalue. If a[i+1] were used before any modifications
-to the value of a or i, LCLint would generate a warning since the
-function preconditions are not sufficient to guarantee that a[i+1] can
-be used safely as an lvalue. Arrays in C start with index 0, so the
-declaration char buf[MAXSIZE] generates the constraints maxSet(buf) =
-MAXSIZE - 1 and minSet(buf) = 0. Similarly, the maxRead constraint
-indicates the maximum indices of a buffer that may be read safely. The
-value of maxRead for a given buffer is always less than or equal to the
-value of maxSet. In cases where there are elements of the buffer have
-not yet been initialized, the value of maxRead may be lower than the
-value of maxSet.
-
-Checking is controlled by the following flags. If the arraybounds flag
-is set LCLint will report potential array bounds. THIS FLAG MUST BE SET
-IN ORDER FOR BUFFER OVERFLOW ERRORS TO BE REPORTED. There are a number
-of additional options which can be used to fine tune checking.
-
-If the +arrayboundsread is set LCLint will report cases in which an
-index past the end of an array or buffer is read. The default is to
-only report cases in which data is written. Out of bounds reads are
-less dangerous than out of bounds writes but are still security
-problems.
-
-The following are used to fine tune the checking. If the
-constraintlocation flag is set LCLint will include the expression which
-causes LCLint to generate the unresolved constraint in an error message.
-We recommend this options. The orconstraint is used to perform slightly
-more accurate checking by using disjuction internally. The performance
-cost is minimal so we recommend this option.
-
-Handling spurious messages
-==========================
-
-LCLint will occasionally report spurious error messages. If you see an
-error message that you believe to be incorrect first see if you can
-correct the problem by adding additional precondition annotations. For
-function with no preconditions LCLint assumes that the function is safe
-under all conditions. Also consider rewriting the code. Code that is
-hard for LCLint to understand is often hard was humans to understand as
-well. You may want to improve the readability and clarity is the code.
-
-If you are sure that the message is spurious you can suppress the
-message. Adding the /*@i@*/ annotation to a line causes LCLint to
-suppers all errors generated by the line. Flags can also be set and
-unset within a program. /*@-flagname@*/ sets a flag to
-false. /*@+flagname@*/ sets a flag to true and /*@=flagname@*/ returns a
-flag to its previous state.
-
-For example /*@-arroundboundsread@*/ str2[i] = str[i];
-/*@=arroundboundsread@*/ would suppress error involving out of bounds
-reads for the code fragment.
-
-Frequently Asked Questions
-==========================
-
-I have a function with many buffer overflows but LCLint only reports one
-error?
-
-LCLint tries to avoid printing redundant error messages. We don't print
-two constraints if satifying one constraint would satisify another.
-
-LCLint crashes or complains about a bug?
-
-Please report the problem to lclint-bug@cs.virginia.edu
-
-Where can I find more information about LCLint?
-
-The LCLint web site http://lclint.cs.virginia.edu contains a lot of
-useful documentation, including a paper describing the LCLint extensions
-for buffer overflow checking. The lclint web site also contains
-information on lclint mailing lists.
-
-
-
-
-
-
from http://www.gnu.org/ or the Free Software Foundation, Inc., 59
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-For information on lclint: lclint-request@cs.virginia.edu
-To report a bug: lclint-bug@cs.virginia.edu
+For information on Splint: splint@cs.virginia.edu
+To report a bug: splint-bug@cs.virginia.edu
==============================================================================
GNU GENERAL PUBLIC LICENSE
University of Virginia,
Massachusetts Institute of Technology
- Version 3.0.0.20
- Alpha Release
- 30 December 2001
+ Version 3.0.1
+ 7 January 2001
Splint Documentation
====================
LARCH_PATH - path to search for splint libraries and
initializations files. If you are using the standard directories, this
- should be .:<base-directory>/splint-3.0.0.20/lib.
+ should be .:<base-directory>/splint-<version>/lib.
LCLIMPORTDIR - directory containing lcl imports files. If you are using
- the standard directories, this is <base-directory>/splint-3.0.0.20/imports.
+ the standard directories, this is <base-directory>/splint-<version>/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
*/
/*
- * This is constants.h from Mike Smith's Win32 port of lclint.
+ * This is constants.h from Mike Smith's Win32 port of splint.
* Modified by Herbert 04/19/97:
* added conditional 'OS2' to conditional 'MSDOS'
*/
** Minimum version with compatible libraries.
*/
-/*@constant float LCLINT_LIBVERSION; @*/
-# define LCLINT_LIBVERSION 2.6
+/*@constant float SPLINT_LIBVERSION; @*/
+# define SPLINT_LIBVERSION 2.6
/*
** Flex doesn't pre-process input, so remember to copy these manually
/*
** only a few combiniations of type qualifiers and base types are
-** recognized in the ANSI standard. LCLint treats these as distinct
+** recognized in the ANSI standard. Splint treats these as distinct
** types.
*/
} while (FALSE)
/*
-** llassertprint and llassertprintret are in lclintMacros.nf
+** llassertprint and llassertprintret are in splintMacros.nf
*/
extern void llmsg (/*@only@*/ cstring p_s) /*@modifies g_msgstream@*/ ;
+++ /dev/null
-/*
-** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2000.
-** See ../LICENSE for license information.
-**
-*/
-/*
-** rangeTable.h
-*/
-
-# ifndef rangeTable_H
-# define rangeTable_H
-
-typedef /*@only@*/ sRefSet o_sRefSet;
-typedef /*@exposed@*/ sRef e_sRef;
-typedef struct rangeAt_ {
- int max;
- int min;
-} * rangeAt;
-
-struct _environmentTable
-{
- int nelements
- int nspace;
- /*@reldef@*/ /*@only@*/ e_sRef * keys;
- /*@reldef@*/ /*@only@*/ o_sRefSet * values;
- /*@reldef@*/ /*@only@*/ rangeAt * rangeValues;
-
-}
-
-extern rangeAt_ getRange (key);
-extern boolean inRange (int, range);
-
-extern void setMinium (key, min);
-extern void setMaximum (key, min);
-
-struct _rangeTable
-{
- int nelements;
- int nspace;
- /*@reldef@*/ /*@only@*/ e_sRef *keys;
- /*@reldef@*/ /*@only@*/ o_sRefSet *values;
-/*@reldef@*/ /*@only@*/ rangeAt *ranges;
-
-} ;
-
-extern /*@unused@*/ /*@nullwhentrue@*/ bool rangeTable_isUndefined (rangeTable p_s);
-extern /*@unused@*/ /*@nullwhentrue@*/ bool
- rangeTable_isEmpty (/*@sef@*/ rangeTable p_s);
-extern /*@falsewhennull@*/ bool rangeTable_isDefined (rangeTable p_s);
-
-/*@constant null rangeTable rangeTable_undefined; @*/
-# define rangeTable_undefined ((rangeTable) NULL)
-# define rangeTable_isDefined(s) ((s) != rangeTable_undefined)
-# define rangeTable_isUndefined(s) ((s) == rangeTable_undefined)
-# define rangeTable_isEmpty(s) (rangeTable_size(s) == 0)
-
-extern int rangeTable_size (/*@sef@*/ rangeTable p_s);
-# define rangeTable_size(s) (rangeTable_isDefined (s) ? (s)->nelements : 0)
-
-/*@iter rangeTable_elements (sef rangeTable t, yield exposed sRef key, yield exposed sRefSet values); @*/
-# define rangeTable_elements(t, m_key, m_value) \
- { if (rangeTable_isDefined (t)) \
- { int m_ind; sRef *m_keys = &((t)->keys[0]); \
- sRefSet *m_values = &((t)->values[0]); \
- for (m_ind = 0 ; m_ind < (t)->nelements; m_ind++) \
- { sRef m_key = *(m_keys++); sRefSet m_value = *(m_values++);
-
-# define end_rangeTable_elements }}}
-
-extern rangeTable rangeTable_new (void) /*@*/ ;
-
-extern void rangeTable_clearRangees (rangeTable p_s, sRef p_sr)
- /*@modifies p_s, p_sr@*/ ;
-
-extern /*@only@*/ sRefSet rangeTable_canRange (rangeTable p_s, sRef p_sr) /*@*/ ;
-extern rangeTable rangeTable_copy (rangeTable p_s) /*@*/ ;
-
-extern /*@only@*/ cstring rangeTable_unparse (rangeTable p_s) /*@*/ ;
-extern void rangeTable_free (/*@only@*/ rangeTable p_s) ;
-
-extern rangeTable
- rangeTable_addMustRange (/*@returned@*/ rangeTable p_s, /*@exposed@*/ sRef p_sr, sRef p_al)
- /*@modifies p_s@*/ ;
-
-extern rangeTable
- rangeTable_levelUnion (/*@returned@*/ rangeTable p_t1, rangeTable p_t2, int p_level)
- /*@modifies p_t1@*/ ;
-
-extern rangeTable
- rangeTable_levelUnionNew (rangeTable p_t1, rangeTable p_t2, int p_level)
- /*@modifies nothing*/ ;
-
-extern void rangeTable_checkGlobs (rangeTable p_t) /*@modifies g_msgstream@*/ ;
-extern /*@only@*/ sRefSet rangeTable_rangeedBy (rangeTable p_s, sRef p_sr) /*@*/ ;
-extern void rangeTable_fixSrefs (rangeTable p_s);
-extern rangeTable rangeTable_levelUnionSeq (/*@returned@*/ rangeTable p_t1,
- /*@only@*/ rangeTable p_t2, int p_level);
-
-/*@constant int rangeTableBASESIZE; @*/
-# define rangeTableBASESIZE MIDBASESIZE
-
-# else
-# error "Multiple include"
-# endif
-
-
-
-
+++ /dev/null
-/*
-** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2000.
-** See ../LICENSE for license information.
-*/
-/*
-** source.h
-*/
-
-# ifndef TSOURCE_H
-# define TSOURCE_H
-
-/*@constant int STUBMAXRECORDSIZE; @*/
-# define STUBMAXRECORDSIZE 800
-
-typedef struct {
- char *name;
- /*@dependent@*/ /*@null@*/ FILE *file;
- char buffer[STUBMAXRECORDSIZE+1];
- unsigned int lineNo;
- bool echo, fromString;
- /*@owned@*/ /*@null@*/ char *stringSource;
- /*@null@*/ /*@dependent@*/ char *stringSourceTail;
-} tsource; /* renamed from "source" to avoid cc parse bug on lex.yy.c */
-
-extern void tsource_free (/*@null@*/ /*@only@*/ tsource *p_s);
-extern bool tsource_close (tsource *p_s)
- /*@modifies *p_s, fileSystem@*/ ;
-extern tsource *
- tsource_create (/*@temp@*/ char *p_name, char *p_suffix, bool p_echo) /*@*/ ;
-extern tsource *tsource_fromString (char *p_name, char *p_str) /*@*/ ;
-extern /*@dependent@*/ /*@null@*/ char *tsource_nextLine(tsource *p_s)
- /*@modifies *p_s@*/ ;
-extern bool tsource_open (tsource *p_s) /*@modifies p_s, fileSystem@*/ ;
-extern bool tsource_getPath (char *p_path, tsource *p_s)
- /*@modifies *p_s@*/ ;
-
-# ifndef NOLCL
-extern /*@observer@*/ char *tsource_fileName (tsource *p_s) /*@*/ ;
-# define tsource_fileName(pS) ((pS)->name)
-
-extern bool tsource_isOpen (/*@sef@*/ tsource *p_s) /*@*/ ;
-# define tsource_isOpen(pS) ((pS)->file != 0 || (pS)->fromString)
-
-extern unsigned int tsource_thisLineNumber(tsource *p_s) /*@*/ ;
-# define tsource_thisLineNumber(pS) ((pS)->lineNo)
-
-extern char *specFullName (char *p_specfile, /*@out@*/ char **p_inpath)
- /*@modifies *p_inpath@*/ ;
-
-# endif
-
-# else
-# error "Multiple include"
-# endif
-
-
-
-
-
# ifndef VERSION_H
# define VERSION_H
-/*@constant observer char *LCLINT_MAINTAINER; @*/
-# define LCLINT_MAINTAINER "lclint-bug@cs.virginia.edu"
+/*@constant observer char *SPLINT_MAINTAINER; @*/
+# define SPLINT_MAINTAINER "splint-bug@cs.virginia.edu"
/*@constant observer char *CPP_VERSION;@*/
# define CPP_VERSION "cygnus-2.7.2-970404"
@if test x$(BISON) = xno; then \
$(CP) mtgrammar.c.der mtgrammar.c; \
else \
- echo '* Making mygrammar.c'; \
+ echo '* Making mtgrammar.c'; \
+ echo '* Expect 11 shift/reduce conflicts.'; \
$(BISON) $(YFLAGS) -p mt mtgrammar.y; \
$(CAT) bison.head mtgrammar.tab.c bison.reset >mtgrammar.c; \
$(CP) mtgrammar.c mtgrammar.c.der; \
all: splint$(EXEEXT)
+
+up:
+ -rm cgrammar.c llgrammar.c mtgrammar.c signature.c cscanner.c
+ $(MAKE) clean
+
CLEANFILES = splint$(EXEEXT)
.c.o:
CHECKS = $(subst .c,.check,$(splint_SOURCES))
+
CLEANFILES = splint$(EXEEXT)
subdir = src
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
@if test x$(BISON) = xno; then \
$(CP) mtgrammar.c.der mtgrammar.c; \
else \
- echo '* Making mygrammar.c'; \
+ echo '* Making mtgrammar.c'; \
+ echo '* Expect 11 shift/reduce conflicts.'; \
$(BISON) $(YFLAGS) -p mt mtgrammar.y; \
$(CAT) bison.head mtgrammar.tab.c bison.reset >mtgrammar.c; \
$(CP) mtgrammar.c mtgrammar.c.der; \
all: splint$(EXEEXT)
+up:
+ -rm cgrammar.c llgrammar.c mtgrammar.c signature.c cscanner.c
+ $(MAKE) clean
+
.c.o:
@echo "Compiling "$<"..."; \
source='$<' object='$@' libtool=no \
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** Massachusetts Institute of Technology
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "lslparse.h"
# include "llgrammar.h" /* need simpleOp, MULOP and logicalOp in makeInfixTermNode */
ti->modifiable = FALSE;
ti->abstract = TRUE;
ti->basedOn = sort_bool;
- ti->export = FALSE; /* this wasn't set (detected by lclint) */
+ ti->export = FALSE; /* this wasn't set (detected by Splint) */
symtable_enterType (g_symtab, ti);
/* do "constant bool FALSE = false;" */
privateNode e = (privateNode) dmalloc (sizeof (*e));
/*
- ** bug detected by lclint enum checking
+ ** bug detected by enum checking
** e->kind = XPK_FCN;
*/
termNode n = (termNode) dmalloc (sizeof (*n));
quantifiedTermNode q = (quantifiedTermNode) dmalloc (sizeof (*q));
- n->name = NULL; /*> missing this --- detected by lclint <*/
+ n->name = NULL; /*> missing this --- detected by splint <*/
n->error_reported = FALSE;
n->wrapped = 0;
n->error_reported = FALSE;
}
else
{
- /* error should be detected by lclint: forgot to copy opform! */
+ /* error should be detected by splint: forgot to copy opform! */
return (makeNameNodeForm (opFormNode_copy (n->content.opform)));
}
}
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** aliasTable.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
/*@constant int ATINVALID; @*/
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** annotationInfo.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
annotationInfo annotationInfo_create (cstring name,
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** Based on genericTable.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "randomNumbers.h"
**
** cgrammar.y
**
-** Yacc/Bison grammar for extended ANSI C used by LCLint.
+** Yacc/Bison grammar for extended ANSI C used by Splint.
**
** original grammar by Nate Osgood ---
** hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
**
-** changes for LCLint --- handle typedef names correctly
+** changes for Splint --- handle typedef names correctly
** fix struct/union parsing bug (empty struct is accepted)
** add productions to handle macros --- require
** error correction --- main source of conflicts in grammar.
extern void swallowMacro (void);
extern void yyerror (char *);
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "cscanner.h"
# include "cgrammar.h"
#if YYDEBUG != 0
static const short yyrline[] = { 0,
- 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, 1506,
- 1511, 1514, 1517, 1518, 1521, 1522, 1523, 1524, 1525, 1526,
- 1527, 1528, 1529, 1530, 1531, 1534, 1535, 1542, 1543, 1549,
- 1550, 1551, 1552, 1555, 1556, 1557, 1558, 1561, 1562, 1566,
- 1569, 1572, 1575, 1578, 1581, 1584, 1585, 1586, 1587, 1589,
- 1590, 1592, 1594, 1600, 1604, 1606, 1608, 1610, 1614, 1615,
- 1618, 1619, 1622, 1623, 1626, 1627, 1630, 1631, 1632, 1635,
- 1648, 1653, 1654, 1658, 1659, 1662, 1667, 1670, 1671, 1672,
- 1680, 1681, 1681, 1685, 1686, 1687, 1698, 1705, 1706, 1709,
- 1710, 1713, 1714, 1715, 1716, 1717, 1719, 1720, 1721, 1722,
- 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734,
- 1737, 1738, 1741, 1742, 1743, 1744, 1747, 1748, 1749, 1752,
- 1753, 1754, 1757, 1758, 1759, 1760, 1761, 1764, 1765, 1766,
- 1769, 1770, 1773, 1774, 1778, 1779, 1782, 1783, 1786, 1787,
- 1790, 1791, 1792, 1793, 1796, 1797, 1798, 1799, 1800, 1801,
- 1802, 1803, 1804, 1805, 1806, 1807, 1810, 1811, 1814, 1817,
- 1819, 1821, 1825, 1826, 1828, 1830, 1833, 1834, 1835, 1837,
- 1838, 1839, 1840, 1841, 1842, 1843, 1846, 1847, 1850, 1853,
- 1854, 1855, 1856, 1857, 1860, 1861
+ 317, 318, 321, 322, 325, 326, 327, 328, 329, 330,
+ 331, 334, 336, 340, 340, 347, 353, 357, 358, 362,
+ 363, 365, 367, 379, 382, 392, 395, 403, 404, 406,
+ 408, 424, 427, 435, 438, 446, 448, 448, 452, 453,
+ 454, 455, 458, 461, 465, 465, 468, 468, 473, 474,
+ 477, 482, 483, 486, 491, 492, 495, 496, 497, 500,
+ 501, 502, 507, 508, 511, 513, 515, 517, 526, 528,
+ 530, 532, 548, 552, 553, 560, 561, 569, 571, 575,
+ 576, 577, 578, 579, 580, 583, 584, 585, 586, 587,
+ 588, 591, 594, 595, 602, 605, 608, 614, 622, 624,
+ 628, 631, 632, 635, 638, 644, 648, 649, 652, 655,
+ 656, 659, 660, 661, 664, 665, 666, 667, 668, 671,
+ 672, 673, 674, 675, 678, 679, 682, 688, 692, 694,
+ 698, 699, 701, 708, 718, 719, 722, 723, 724, 725,
+ 726, 727, 728, 729, 733, 734, 738, 739, 742, 744,
+ 746, 747, 748, 749, 750, 752, 756, 757, 760, 764,
+ 776, 777, 778, 779, 780, 781, 784, 785, 786, 787,
+ 788, 789, 790, 791, 792, 795, 796, 799, 800, 801,
+ 802, 803, 804, 805, 806, 807, 808, 809, 812, 813,
+ 816, 820, 821, 824, 825, 826, 827, 830, 831, 835,
+ 836, 837, 838, 841, 842, 843, 846, 847, 848, 851,
+ 852, 853, 854, 855, 858, 859, 860, 863, 864, 867,
+ 868, 872, 873, 876, 877, 882, 888, 889, 895, 901,
+ 902, 902, 904, 907, 908, 909, 910, 911, 912, 913,
+ 914, 915, 916, 917, 918, 921, 922, 925, 926, 929,
+ 934, 935, 936, 939, 953, 958, 964, 966, 972, 977,
+ 977, 981, 982, 984, 985, 988, 991, 994, 997, 998,
+ 1001, 1002, 1005, 1006, 1007, 1011, 1013, 1022, 1023, 1024,
+ 1025, 1026, 1028, 1032, 1035, 1041, 1050, 1053, 1056, 1063,
+ 1070, 1076, 1101, 1102, 1105, 1106, 1107, 1108, 1109, 1112,
+ 1113, 1114, 1115, 1118, 1119, 1120, 1121, 1122, 1123, 1124,
+ 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134,
+ 1138, 1139, 1142, 1143, 1146, 1147, 1150, 1151, 1152, 1153,
+ 1156, 1157, 1158, 1159, 1160, 1161, 1164, 1165, 1166, 1167,
+ 1170, 1171, 1172, 1173, 1176, 1177, 1178, 1179, 1180, 1181,
+ 1182, 1183, 1184, 1185, 1186, 1193, 1194, 1195, 1196, 1197,
+ 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1209,
+ 1213, 1214, 1218, 1219, 1223, 1224, 1225, 1228, 1229, 1232,
+ 1234, 1236, 1237, 1239, 1241, 1242, 1244, 1246, 1248, 1250,
+ 1251, 1252, 1255, 1256, 1258, 1260, 1261, 1264, 1267, 1268,
+ 1269, 1272, 1274, 1278, 1280, 1284, 1285, 1286, 1290, 1292,
+ 1292, 1294, 1297, 1299, 1301, 1304, 1309, 1316, 1317, 1318,
+ 1325, 1329, 1330, 1334, 1335, 1338, 1339, 1342, 1343, 1346,
+ 1347, 1348, 1349, 1352, 1353, 1356, 1357, 1360, 1361, 1362,
+ 1365, 1365, 1366, 1367, 1370, 1382, 1398, 1399, 1402, 1403,
+ 1404, 1407, 1408, 1411, 1413, 1414, 1416, 1417, 1419, 1421,
+ 1423, 1425, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438,
+ 1439, 1442, 1445, 1448, 1449, 1453, 1455, 1457, 1459, 1463,
+ 1464, 1466, 1470, 1472, 1474, 1477, 1478, 1479, 1480, 1481,
+ 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1492, 1493,
+ 1498, 1501, 1504, 1505, 1508, 1509, 1510, 1511, 1512, 1513,
+ 1514, 1515, 1516, 1517, 1518, 1521, 1522, 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,
+ 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
/*;-*-C-*-;
** Splint - annotation-assisted static program checker
-** Copyright (C) 1994-2001 University of Virginia,
+** Copyright (C) 1994-2002 University of Virginia,
** Massachusetts Institute of Technology
**
** This program is free software; you can redistribute it and/or modify it
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
%{
**
** cgrammar.y
**
-** Yacc/Bison grammar for extended ANSI C used by LCLint.
+** Yacc/Bison grammar for extended ANSI C used by Splint.
**
** original grammar by Nate Osgood ---
** hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
**
-** changes for LCLint --- handle typedef names correctly
+** changes for Splint --- handle typedef names correctly
** fix struct/union parsing bug (empty struct is accepted)
** add productions to handle macros --- require
** error correction --- main source of conflicts in grammar.
extern void swallowMacro (void);
extern void yyerror (char *);
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "cscanner.h"
# include "cgrammar.h"
%token <tok> QUNDEF QKILLED
%token <tok> QENDMACRO
-/* additional tokens introduced by lclint pre-processor. */
+/* additional tokens introduced by splint pre-processor. */
%token <tok> LLMACRO LLMACROITER LLMACROEND TENDMACRO
/* break comments: */
%type <tquallist> optGlobQuals
%type <qtyp> completeType completeTypeSpecifier optCompleteType
%type <qtyp> completeTypeSpecifierAux altType typeExpression
-/*%type <expr> lclintassertion*/
%start file
| iterationStmt
| iterStmt
| jumpStmt
-/* | lclintassertion {$$ = $1; printf ("Doing stmt lclintassertion\n"); }*/
-
-/*
-lclintassertion
- : QSETBUFFERSIZE id CCONSTANT QENDMACRO { printf(" QSETBUFFERSIZE id CCONSTANT HEllo World\n"); uentry_setBufferSize($2, $3); $$ = exprNode_createTok ($4);
- }
- | QSETSTRINGLENGTH id CCONSTANT QENDMACRO { printf(" QSETSTRINGLENGTH id CCONSTANT HEllo World\n"); uentry_setStringLength($2, $3); $$ = exprNode_createTok ($4);
- }
- | QTESTINRANGE id CCONSTANT QENDMACRO {printf(" QTESTINRANGE\n"); uentry_testInRange($2, $3); $$ = exprNode_createTok ($4);
- }
-
-/* | QSETBUFFERSIZE id id {$$ = $2; printf(" QSETBUFFERSIZE id id HEllo World\n");} */
iterBody
: iterDefStmtList { $$ = $1; }
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** Massachusetts Institute of Technology
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "llgrammar.h"
# include "checking.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
**
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "cgrammar.h"
** Microsoft VC++. It is not supported by the ANSI standard.
**
** The inner fields are added to the outer structure. This is meaningful
-** for nesting structs inside unions, but lclint does no related
+** for nesting structs inside unions, but Splint does no related
** checking.
*/
{
voptgenerror
(FLG_COMMENTERROR,
- message ("Global variable %s used special clause. (Global variables "
- "are not recognized in special clauses. If there is "
+ message ("Global variable %s used state clause. (Global variables "
+ "are not recognized in state clauses. If there is "
"sufficient interest in support for this, it may be "
"added to a future release. Send mail to "
- "lclint@cs.virginia.edu.)",
+ "splint@cs.virginia.edu.)",
s),
g_currentloc);
"are not recognized in function clauses. If there is "
"sufficient interest in support for this, it may be "
"added to a future release. Send mail to "
- "lclint@cs.virginia.edu.)",
+ "splint@cs.virginia.edu.)",
s),
g_currentloc);
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** clause.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
cstring
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
clauseStack
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/* #define DEBUGPRINT 1 */
# include <ctype.h> /* for isdigit */
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "cgrammar.h"
# include "cgrammar_tokens.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/* #define DEBUGPRINT 1 */
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "cgrammar.h"
# include "cgrammar_tokens.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
** constraintExprData.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "cgrammar.h"
# include "cgrammar_tokens.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/* #define DEBUGPRINT 1 */
# include <ctype.h> /* for isdigit */
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "cgrammar_tokens.h"
tempList = constraintList_logicalOr (tempList, t1->falseEnsuresConstraints);
constraintList_free (temp);
- /* evans - was constraintList_addList - memory leak detected by lclint */
+ /* evans - was constraintList_addList - memory leak detected by splint */
e->falseEnsuresConstraints = constraintList_addListFree (e->falseEnsuresConstraints, tempList);
}
else if (lltok_isOr_Op (tok) )
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
** constraintOutput.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "portab.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/* #define DEBUGPRINT 1 */
# include <ctype.h> /* for isdigit */
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "cgrammar.h"
# include "cgrammar_tokens.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/* #define DEBUGPRINT 1 */
# include <ctype.h> /* for isdigit */
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "cgrammar.h"
# include "cgrammar_tokens.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
* or, if not set "." will be used.
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# ifndef NOLCL
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
# define FATAL_EXIT_CODE EXIT_FAILURE
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "cpplib.h"
# include "cpperror.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
/*@+matchanyintegral@*/
# include <string.h>
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "cpplib.h"
# include "cpphash.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
You are forbidden to forbid anyone else to use, share and improve
what you give them. Help stamp out software-hoarding! */
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include <string.h>
# include "cpplib.h"
** From: "N.Komazaki" <koma@focs.sei.co.jp>
*/
- /*! why doesn't lclint report an error for this? */
+ /*! why doesn't splint report an error for this? */
nd->args.argnames = mstring_createEmpty ();
}
}
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
/* This defines "errno" properly for VMS, and gives us EACCES. */
# include <errno.h>
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "lcllib.h"
# include "cpplib.h"
/*@only@*/ /*@null@*/ char *value, int hash)
{
cstring sname = cstring_fromChars (name);
- /* evs 2000 07 10 - removed a memory leak, detected by lclint */
+ /* evs 2000 07 10 - removed a memory leak, detected by splint */
llassert (usymtab_inGlobalScope ());
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
You are forbidden to forbid anyone else to use, share and improve
what you give them. Help stamp out software-hoarding! */
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "cpplib.h"
# include "cpphash.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** cprim.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
static bool cprim_isReal (cprim c)
/*;-*-C-*-;
** Splint - annotation-assisted static program checker
-** Copyright (C) 1994-2001 University of Virginia,
+** Copyright (C) 1994-2002 University of Virginia,
** Massachusetts Institute of Technology
**
** This program is free software; you can redistribute it and/or modify it
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
/*
** Modified by Mike Smith
** Corrected missing 'line' in scanf() calls in handleSpecial().
-** Without this, I get an error when LCLint hits a '#line' directive
+** Without this, I get an error when Splint 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.
ULSuffix ({U}{L}|{L}{U})
%{
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# if defined(OS2) && defined(__IBMC__)
/* needed for isatty()... */
# include <io.h>
voptgenerror
(FLG_WARNLINTCOMMENTS,
cstring_makeLiteral
- ("Traditional lint comment /*FALLTHROUGH*/ used. "
- "This is interpreted by "
- "LCLint in the same way as most Unix lints, but it is "
+ ("Traditional lint comment /*FALLTHROUGH*/ used. "
+ "Splint interprets this in the same way as most Unix lints, but it is "
"preferable to replace it with the /*@fallthrough@*/ "
"semantic comment"),
g_currentloc);
voptgenerror
(FLG_WARNLINTCOMMENTS,
cstring_makeLiteral
- ("Traditional lint comment /*FALLTHRU*/ used. "
- "This is interpreted by "
- "LCLint in the same way as most Unix lints, but it is "
+ ("Traditional lint comment /*FALLTHRU*/ used. "
+ "Splint interprets this in the same way as most Unix lints, but it is "
"preferable to replace it with the /*@fallthrough@*/ "
"semantic comment"),
g_currentloc);
voptgenerror
(FLG_WARNLINTCOMMENTS,
cstring_makeLiteral
- ("Traditional lint comment /*NOTREACHED*/ used. "
- "This is interpreted by "
- "LCLint in the same way as most Unix lints, but it is "
+ ("Traditional lint comment /*NOTREACHED*/ used. "
+ "Splint interprets this in the same way as most Unix lints, but it is "
"preferable to replace it with the /*@notreached@*/ "
"semantic comment."),
g_currentloc);
voptgenerror
(FLG_WARNLINTCOMMENTS,
cstring_makeLiteral
- ("Traditional lint comment /*PRINTFLIKE*/ used. "
- "This is interpreted by "
- "LCLint in the same way as most Unix lints, but it is "
+ ("Traditional lint comment /*PRINTFLIKE*/ used. "
+ "Splint interprets this in the same way as most Unix lints, but it is "
"preferable to replace it with either /*@printflike@*/, "
"/*@scanflike@*/ or /*@messagelike@*/."),
g_currentloc);
voptgenerror
(FLG_WARNLINTCOMMENTS,
cstring_makeLiteral
- ("Traditional lint comment /*ARGSUSED*/ used. "
- "This is interpreted by "
- "LCLint in the same way as most Unix lints, but it is "
+ ("Traditional lint comment /*ARGSUSED*/ used. "
+ "Splint interprets this in the same way as most Unix lints, but it is "
"preferable to use /*@unused@*/ annotations on "
"the unused parameters."),
g_currentloc);
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
* - cstring_replaceAll () needed in cpplib.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "osd.h"
# include "portab.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
cstringList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
cstringSList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
**
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "randomNumbers.h"
/* ;-*-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-2002 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 splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
+** For more information: http://www.splint.org
*/
/*
** ctbase.i
/* ;-*-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-2002 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 splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
+** For more information: http://www.splint.org
*/
/*
** cttable.i
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** They should probably be separated soon.
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "structNames.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
/*@only@*/ ctypeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** cvar.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "cvar.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
declaratorInvNodeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
declaratorNodeList
+++ /dev/null
-# include "lclintMacros.nf"
-# include "llbasic.h"
-# include "gram.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** ekind.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
ekind
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** used to be cenum.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
enumNameList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** used to be cenum.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
/*@access enumNameList@*/
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** exprChecks.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "cgrammar.h"
# include "cgrammar_tokens.h"
*/
# include <ctype.h> /* for isdigit */
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "cgrammar.h"
# include "cgrammar_tokens.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
*/
# include <ctype.h> /* for isdigit */
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "cgrammar.h"
# include "cgrammar_tokens.h"
/*
** yoikes! leaving this out was a heinous bug...that would have been
- ** caught if i had lclint working first. gag!
+ ** caught if i had splint working first. gag!
*/
e->etext = cstring_undefined;
e->msets = sRefSet_new ();
e->uses = sRefSet_new ();
- /*> missing fields, detected by lclint <*/
+ /*> missing fields, detected by splint <*/
e->exitCode = XK_NEVERESCAPE;
e->isJumpPoint = FALSE;
e->canBreak = FALSE;
/*
** this sets up funny aliasing, that leads to spurious
- ** lclint errors. Hence, the i2 comments.
+ ** splint errors. Hence, the i2 comments.
*/
/* evans 2001-09-09 added ctype_isKnown so there is no swap when e1 type is unknown */
if (freshMods)
{
/*
- ** Spurious errors reported, because lclint can't tell
+ ** Spurious errors reported, because splint can't tell
** mods must be fresh if freshMods is true.
*/
e->isJumpPoint = FALSE;
e->exitCode = XK_NEVERESCAPE;
- /*> missing fields, detected by lclint <*/
+ /*> missing fields, detected by splint <*/
e->canBreak = FALSE;
e->mustBreak = FALSE;
e->etext = cstring_undefined;
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
/*@only@*/ exprNodeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "exprNodeSList.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
fcnNodeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** fileIdList.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "fileIdList.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** fileLib.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "portab.h"
if (strrchr (s, '.') == (char *) 0)
{
- /* <<< was mstring_concatFree1 --- bug detected by lclint >>> */
+ /* <<< was mstring_concatFree1 --- bug detected by splint >>> */
return (cstring_concat (s, suffix));
}
else
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
* - Added conditional stuff (#define and #include) for IBM's compiler.
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "osd.h"
# include "llmain.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
* instead of fileloc_unparseFilename().
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "fileIdList.h"
# include "osd.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** filelocList.c (from slist_template.c)
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "filelocList.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** filelocStack.c (from slist_template.c)
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "filelocStack.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** flagMarker.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
flagMarker flagMarker_createLocalSet (flagcode code, ynm set, fileloc loc)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** invariant: flagMarker's are listed in order
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
static int flagMarkerList_lastBeforeLoc (flagMarkerList p_s, fileloc p_loc) /*@*/ ;
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** flagSpec.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
static /*@only@*/ flagSpecItem flagSpecItem_create (/*@only@*/ cstring fname)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** flags.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "portab.h"
{ FK_SYNCOMMENTS, "syncomments", "interpretation of annotation comments" } ,
{ FK_COMPLETE, "complete", "completely defined, used, or specified system" } ,
{ FK_CONTROL, "controlflow", "suspicious control structures" } ,
- { FK_DEBUG, "debug", "flags for debugging lclint" } ,
+ { FK_DEBUG, "debug", "flags for debugging splint" } ,
{ FK_DECL, "declarations", "consistency of declarations" } ,
{ FK_DEF, "definition", "undefined storage errors" } ,
{ FK_DIRECT, "directories", "set directores" } ,
("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"));
+ "see splint -help accessmodule"));
}
return SKIP_FLAG;
(cstring_makeLiteral
("staticmods flag is obsolete. You probably "
"want impcheckmodstatics. For more information, "
- "see lclint -help impcheckmodstatics"));
+ "see splint -help impcheckmodstatics"));
}
return SKIP_FLAG;
("stdio flag is obsolete. You may "
"want strictlib or one of the gloabls "
"checking flags. For more information, "
- "see lclint -help strictlib or lclint -help flags globals"));
+ "see splint -help strictlib or splint -help flags globals"));
}
return SKIP_FLAG;
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** functionClause.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
static /*@only@*/ /*@notnull@*/ /*@special@*/ functionClause /*@i32 need special? @*/
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
functionClauseList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** functionConstraint.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
static /*@only@*/ /*@notnull@*/ /*@special@*/ functionConstraint /*@i32 need special? @*/
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** general.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# undef malloc
# undef realloc
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** We sacrific type checking here for code reuse.
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "randomNumbers.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** globSet.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
globSet
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** globals.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
fileloc g_currentloc;
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** globalsClause.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
extern globalsClause
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** Either guards is obsolete and should be removed soon.
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
guardSet guardSet_new ()
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
**
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
/*@constant null hbucket hbucket_undefined; @*/
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** idDecl.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
/*@only@*/ idDecl
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
idDeclList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ importNodeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** Massachusetts Institute of Technology
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "osd.h"
# include "llgrammar.h" /* need simpleOp, MULOP and logicalOp in makeInfixTermNode */
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ initDeclNodeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** Joe Wild, Technical Languages and Environments, DECspec project
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "osd.h"
# include "portab.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "intSet.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ interfaceNodeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** This contains definitions used in processing C builtin types.
**
** WARNING: there is a different file ctype.c for handling types
-** in the C checking of lclint. This is only for handling
+** in the C checking of splint. This is only for handling
** C builtin types in LCL files.
**
** AUTHORS:
**
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
typedef struct
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** Processor for Larch Shared Language Init Files
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "gram.h"
# include "lclscan.h"
^7383 23$#DEFAULT_BOOLTYPE#PRAGMA_EXPAND
^7385 5@i6@0@0#PRAGMA_LEN_EXPAND
^7386 5$#MAX_PRAGMA_LEN
-^7387 16$#LCLINT_LIBVERSION
+^7387 16$#SPLINT_LIBVERSION
^7388 23$#BEFORE_COMMENT_MARKER#AFTER_COMMENT_MARKER
*8 (Union tag)
^7390 9625@9626#$!225
^7554 15670$$$@0#lcllib_isSkipHeader
^7555 10993$$$@0#cppReader_parseExpression
*1 (Constant)
-^7556 23$#LCLINT_MAINTAINER#CPP_VERSION
+^7556 23$#SPLINT_MAINTAINER#CPP_VERSION
^7558 63$#MAXPATHLEN
*2 (Enum member)
^7559 10522$#OSD_FILEFOUND#OSD_FILENOTFOUND#OSD_PATHTOOLONG
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
**
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "osd.h"
char buf[BUFLEN];
/*
- ** Check version. Should be >= LCLINT_LIBVERSION
+ ** Check version. Should be >= SPLINT_LIBVERSION
*/
if (reader_readLine (f, buf, BUFLEN) == NULL
{
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.",
+ "the library with this version of splint.",
name));
}
else
}
else
{
- if ((LCLINT_LIBVERSION - version) >= FLT_EPSILON)
+ if ((SPLINT_LIBVERSION - version) >= FLT_EPSILON)
{
cstring vname;
char *nl = strchr (buf, '\n');
vname = cstring_fromChars (buf + 9);
- loadllmsg (message ("Load library %s is in obsolete LCLint library "
+ loadllmsg (message ("Load library %s is in obsolete Splint library "
"format (version %s). Attempting "
"to continue anyway, but results may be incorrect. Rebuild "
- "the library with this version of lclint.",
+ "the library with this version of splint.",
name, vname));
}
else
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** yet implemented in this version).
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@-redecl@*/ /* from llgrammar.y */
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "gram.h"
# include "lclscan.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** CREATION DATE: 90.08.10
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "lcltokentable.h"
# include "lclsyntable.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** This table stores predefined tokens for LCL.
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "lcltokentable.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ letDeclNodeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** The lh.c module controls formatting policy.
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "osd.h"
# include "lh.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** error reporting procedures
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include <string.h>
# include <errno.h>
# include "llbasic.h"
printBugReport (void)
{
fprintf (stderr, " *** Please report bug to %s ***\n",
- LCLINT_MAINTAINER);
+ SPLINT_MAINTAINER);
llflush ();
/* don't exit (EXIT_FAILURE); */
}
llfatalerror
(message ("%q: %s (For help on parse errors, "
- "see lclint -help parseerrors.)",
+ "see splint -help parseerrors.)",
fileloc_unparse (g_currentloc), msg));
}
}
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "lclscan.h"
# include "checking.h"
/*;-*-C-*-;
** Splint - annotation-assisted static program checker
-** Copyright (C) 1994-2001 University of Virginia,
+** Copyright (C) 1994-2002 University of Virginia,
** Massachusetts Institute of Technology
**
** This program is free software; you can redistribute it and/or modify it
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
*/
%{
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "lclscan.h"
# include "checking.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
# include <process.h>
# endif
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "osd.h"
}
/*
-** Disable MSVC++ warning about return value. Methinks humbly lclint control
+** Disable MSVC++ warning about return value. Methinks humbly splint control
** comments are a mite more legible.
*/
readhomerc = readOptionsFile (homename, &passThroughArgs, FALSE);
/*
- ** Try ~/.lclintrc also for historical accuracy
+ ** Try ~/.splintrc also for historical accuracy
*/
altname = message ("%s%h%s", home, CONNECTCHAR,
llmsglit ("Parse Errors");
llmsglit ("------------");
llmsglit ("");
- llmsglit ("LCLint will sometimes encounter a parse error for code that "
+ llmsglit ("Splint will sometimes encounter a parse error for code that "
"can be parsed with a local compiler. There are a few likely "
"causes for this and a number of techniques that can be used "
"to work around the problem.");
"header files.");
llmsglit ("");
llmsglit ("Otherwise, you may need to either manually define the problematic "
- "type (e.g., add -Dmlink_t=int to your .lclintrc file) or force "
- "lclint to process the header file that defines it. This is done "
+ "type (e.g., add -Dmlink_t=int to your .splintrc file) or force "
+ "splint to process the header file that defines it. This is done "
"by setting -skipansiheaders or -skipposixheaders before "
"the file that defines the type is #include'd.");
- llmsglit ("(See lclint -help "
- "skipansiheaders and lclint -help skipposixheaders for a list of "
+ llmsglit ("(See splint -help "
+ "skipansiheaders and splint -help skipposixheaders for a list of "
"standard headers.) For example, if <sys/local.h> uses a type "
"defined by posix header <sys/types.h> but not defined by the "
"posix library, we might do: ");
llmsglit ("Flag Categories");
llmsglit ("---------------");
listAllCategories ();
- llmsglit ("\nTo see the flags in a flag category, do\n lclint -help flags <category>");
- llmsglit ("To see a list of all flags in alphabetical order, do\n lclint -help flags alpha");
- llmsglit ("To see a full description of all flags, do\n lclint -help flags full");
+ llmsglit ("\nTo see the flags in a flag category, do\n splint -help flags <category>");
+ llmsglit ("To see a list of all flags in alphabetical order, do\n splint -help flags alpha");
+ llmsglit ("To see a full description of all flags, do\n splint -help flags full");
}
void
printMaintainer (void)
{
- llmsg (message ("Maintainer: %s", cstring_makeLiteralTemp (LCLINT_MAINTAINER)));
+ llmsg (message ("Maintainer: %s", cstring_makeLiteralTemp (SPLINT_MAINTAINER)));
llmsglit (LCL_COMPILE);
}
llmsglit ("");
llmsglit (" lclint-interest@virginia.edu");
llmsglit ("");
- llmsglit (" Informal discussions on the use and development of lclint.");
+ llmsglit (" Informal discussions on the use and development of Splint.");
llmsglit (" To subscribe, send a message to majordomo@virginia.edu with body: ");
llmsglit (" subscribe lclint-interest");
}
cstring_toCharsSafe (loc));
cstring_free (loc);
printCodePoint ();
- fprintf (stderr, "*** Please report bug to %s\n", LCLINT_MAINTAINER);
+ fprintf (stderr, "*** Please report bug to %s\n", SPLINT_MAINTAINER);
exit (LLGIVEUP);
}
default:
cstring_toCharsSafe (fileloc_unparse (g_currentloc)));
/*@=mustfree@*/
printCodePoint ();
- fprintf (stderr, "*** Please report bug to %s ***\n", LCLINT_MAINTAINER);
+ fprintf (stderr, "*** Please report bug to %s ***\n", SPLINT_MAINTAINER);
exit (LLGIVEUP);
}
}
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** lltok.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "cgrammar.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/* #define DEBUGPRINT 1 */
# include <ctype.h> /* for isdigit */
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "cgrammar.h"
# include "cgrammar_tokens.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ lslOpList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "checking.h" /* for lslOp_equal */
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** Processor for Larch Shared Language Init Files
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "signature.h"
# include "signature2.h"
/* Can only have one extension char. Release old one. */
lsetCharClass (firstChar, CHC_EXTENSION);
- /* this is a (bogus) type bug! caught by lclint */
+ /* this is a (bogus) type bug! caught by splint */
/* lsetCharClass (currentExtensionChar, SINGLECHAR); */
lsetCharClass ((char) currentExtensionChar, SINGLECHAR);
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** Massachusetts Institute of Technology
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "lclscan.h"
# include "signature.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** {n} Who at Where -- yy.mm.dd -- what
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
/*@+ignorequals@*/
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ lsymbolList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
lsymbolSet lsymbolSet_new ()
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** ltoken.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "llgrammar.h"
# include "scanline.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@notnull@*/ /*@only@*/ ltokenList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
**
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "llmain.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** Massachusetts Institute of Technology
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@constant int MAPPING_SIZE; @*/
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** message.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
/* patch for linux? solaris? */
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** messageLog.c (from slist_template.c)
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
/*@only@*/ messageLog
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** metaStateConstraint.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
metaStateConstraint
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** metaStateConstraintList.c (from slist_template.c)
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "metaStateConstraintList.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** metaStateExpression.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
metaStateExpression
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** metaStateInfo.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
/*@notnull@*/ metaStateInfo
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** metaStateSpecifier.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
metaStateSpecifier
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** Based on genericTable.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "randomNumbers.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** modifiesClause.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
extern modifiesClause
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mtAnnotationDecl.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
extern mtAnnotationDecl mtAnnotationDecl_create (mttok id, mtContextNode c, mttok value)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
mtAnnotationList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mtAnnotationsNode.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
extern mtAnnotationsNode mtAnnotationsNode_create (mtAnnotationList annots)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mtContextNode.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
static bool mtContextNode_matchesType (mtContextNode, ctype) /*@*/ ;
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mtDeclarationNode.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
extern mtDeclarationNode mtDeclarationNode_create (mttok name, mtDeclarationPieces pieces) /*@*/
mvals = mtValuesNode_getValues (mtv);
}
- /*@-usedef@*/ /*@i34 lclint should figure this out... */
+ /*@-usedef@*/ /*@i34 splint should figure this out... */
nvalues = cstringList_size (mvals);
/*@=usedef@*/
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mtDeclarationPiece.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
static mtDeclarationPiece
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mtDeclarationPieces.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
extern mtDeclarationPieces mtDeclarationPieces_create (void) /*@*/
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mtDefaultsDecl.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
extern mtDefaultsDecl
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
mtDefaultsDeclList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mtDefaultsNode.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
extern mtDefaultsNode mtDefaultsNode_create (mttok t, mtDefaultsDeclList decls)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mtLoseReference.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
extern mtLoseReference mtLoseReference_create (mttok fromname, mtTransferAction action)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
mtLoseReferenceList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mtMergeClause.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
extern mtMergeClause
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
mtMergeClauseList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mtMergeItem.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
extern mtMergeItem mtMergeItem_createValue (mttok value)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mtMergeNode.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
extern mtMergeNode mtMergeNode_create (mtMergeClauseList mlist)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mtTransferAction.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
extern mtTransferAction mtTransferAction_createValue (mttok value)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mtTransferClause.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
extern mtTransferClause mtTransferClause_create (mttok fromname, mttok toname, mtTransferAction action)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
mtTransferClauseList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mtValuesNode.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
extern mtValuesNode mtValuesNode_create (cstringList values)
# include "bison.reset"
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# ifndef S_SPLINT_S
#if YYDEBUG != 0
static const short yyrline[] = { 0,
- 152, 153, 156, 158, 162, 166, 167, 171, 172, 173,
- 174, 175, 176, 177, 178, 179, 180, 183, 187, 188,
- 191, 192, 193, 194, 195, 196, 203, 204, 207, 208,
- 211, 212, 216, 219, 220, 224, 225, 226, 229, 230,
- 231, 232, 235, 236, 239, 240, 243, 244, 245, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 267,
- 270, 273, 274, 278, 281, 284, 286, 290, 293, 294,
- 298, 302, 305, 306, 309, 313, 314, 317, 320, 323,
- 326, 329, 330, 333, 336, 337, 340, 344, 345, 348,
- 349, 352
+ 157, 158, 161, 163, 167, 171, 172, 176, 177, 178,
+ 179, 180, 181, 182, 183, 184, 185, 188, 192, 193,
+ 196, 197, 198, 199, 200, 201, 208, 209, 212, 213,
+ 216, 217, 221, 224, 225, 229, 230, 231, 234, 235,
+ 236, 237, 240, 241, 244, 245, 248, 249, 250, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 272,
+ 275, 278, 279, 283, 286, 289, 291, 295, 298, 299,
+ 303, 307, 310, 311, 314, 318, 319, 322, 325, 328,
+ 331, 334, 335, 338, 341, 342, 345, 349, 350, 353,
+ 354, 357
};
#endif
# include "bison.reset"
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# ifndef S_SPLINT_S
#if YYDEBUG != 0
static const short yyrline[] = { 0,
- 152, 153, 156, 158, 162, 166, 167, 171, 172, 173,
- 174, 175, 176, 177, 178, 179, 180, 183, 187, 188,
- 191, 192, 193, 194, 195, 196, 203, 204, 207, 208,
- 211, 212, 216, 219, 220, 224, 225, 226, 229, 230,
- 231, 232, 235, 236, 239, 240, 243, 244, 245, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 267,
- 270, 273, 274, 278, 281, 284, 286, 290, 293, 294,
- 298, 302, 305, 306, 309, 313, 314, 317, 320, 323,
- 326, 329, 330, 333, 336, 337, 340, 344, 345, 348,
- 349, 352
+ 157, 158, 161, 163, 167, 171, 172, 176, 177, 178,
+ 179, 180, 181, 182, 183, 184, 185, 188, 192, 193,
+ 196, 197, 198, 199, 200, 201, 208, 209, 212, 213,
+ 216, 217, 221, 224, 225, 229, 230, 231, 234, 235,
+ 236, 237, 240, 241, 244, 245, 248, 249, 250, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 272,
+ 275, 278, 279, 283, 286, 289, 291, 295, 298, 299,
+ 303, 307, 310, 311, 314, 318, 319, 322, 325, 328,
+ 331, 334, 335, 338, 341, 342, 345, 349, 350, 353,
+ 354, 357
};
#endif
/*;-*-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-2002 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 splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
+** For more information: http://www.splint.org
*/
/*
** mtgrammar.y
%{
# include "bison.reset"
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# ifndef S_SPLINT_S
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** Controls reading of .mts files.
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "mtgrammar.h"
# include "mtscanner.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** generator tools one day...
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "mtgrammar.h"
# include "mtscanner.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** mttok.c - based on lltok.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "mtgrammar.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** multiVal.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
/*@only@*/ multiVal multiVal_unknown ()
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** nameChecks.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "nameChecks.h"
static ob_mstring cppNames[NCPPNAMES] =
{
"and", "and_eq", "asm",
- "bitand", "bitor", "bool", /* gasp: "bool", is special for lclint */
+ "bitand", "bitor", "bool", /* gasp: "bool", is special for splint */
"catch", "class", "compl", "const_class",
"delete", "dynamic_cast", "false", "friend",
"inline", "mutable", "namespace", "new",
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
/*@end@*/
/*@=allmacros*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "osd.h"
# include "portab.h"
return cstring_makeLiteral (".");
else
{
- /*@i324 ! lclint didn't report an errors for: return ++path_p; */
+ /*@i324 ! splint didn't report an errors for: return ++path_p; */
return cstring_fromCharsNew (++path_p);
}
}
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ pairNodeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ paramNodeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ programNodeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** qtypes are mutable
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
/*@notnull@*/ qtype qtype_create (ctype c)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** representation of type qualifiers
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
static qual qual_createPlainAux (int i)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** qualList.c (from slist_template.c)
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
qualList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ quantifierNodeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
+++ /dev/null
-/*
-** Splint - annotation-assisted static program checker
-** Copyright (C) 1994-2000 University of Virginia,
-** Massachusetts Institute of Technology
-**
-** 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.
-**
-** 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
-*/
-/*
-** rangeTable.c
-*/
-
-# include "lclintMacros.nf"
-# include "basic.h"
-
-/*@constant int ATINVALID; @*/
-# define ATINVALID -1
-
-static sRefSet
- rangeTable_canRangeAux (rangeTable p_s, sRef p_sr, int p_lim) /*@*/ ;
-static sRefSet
- rangeTable_aliasedByLimit (rangeTable p_s, sRef p_sr, int p_lim) /*@*/ ;
-static sRefSet
- rangeTable_aliasedByAux (rangeTable p_s, sRef p_sr, int p_lim) /*@*/ ;
-
-rangeTable
-rangeTable_new ()
-{
- return (rangeTable_undefined);
-}
-
-static /*@only@*/ /*@notnull@*/ rangeTable
-rangeTable_newEmpty (void)
-{
- rangeTable s = (rangeTable) dmalloc (sizeof (*s));
-
- s->nelements = 0;
- s->nspace = rangeTableBASESIZE;
- s->keys = (sRef *) dmalloc (sizeof (*s->keys) * rangeTableBASESIZE);
- s->values = (sRefSet *) dmalloc (sizeof (*s->values) * rangeTableBASESIZE);
- s->ranges = (sRefSet *) dmalloc (sizeof (*s->ranges) * rangeTableBASESIZE);
- return (s);
-}
-
-static void
-rangeTable_grow (/*@notnull@*/ rangeTable s)
-{
- int i;
- o_sRefSet *oldvalues = s->values;
- sRef *oldkeys = s->keys;
- RangeAt *oldranges = s->ranges;
-
- s->nspace += rangeTableBASESIZE;
-
- s->values = (sRefSet *) dmalloc (sizeof (*s->values)
- * (s->nelements + s->nspace));
- s->keys = (sRef *) dmalloc (sizeof (*s->keys) * (s->nelements + rangeTableBASESIZE));
-
- s->ranges = (sRef *) dmalloc (sizeof (*s->ranges) * (s->nelements + rangeTableBASESIZE));
-
-
- if (s->keys == (sRef *) 0 || s->values == (sRefSet *)0 || s->ranges = (range_At*) 0 )
- {
- llfatalerror (cstring_makeLiteral ("rangeTable_grow: out of memory!"));
- }
-
- for (i = 0; i < s->nelements; i++)
- {
- s->values[i] = oldvalues[i];
- s->keys[i] = oldkeys[i];
- s->ranges[i] = oldranges[i];
- }
-
- sfree (oldvalues);
- sfree (oldkeys);
-}
-
-static int rangeTable_lookupRefs (/*@notnull@*/ rangeTable s, sRef sr)
-{
- int i;
-
-
- for (i = 0; i < rangeTable_size (s); i++)
- {
- if (sRef_same (sr, s->keys[i]))
- {
- return i;
- }
- }
-
- return ATINVALID;
-}
-
-/*
-** sr rangees al (and anything al rangees!)
-*/
-
-rangeTable
-rangeTable_addMustRange (/*@returned@*/ rangeTable s,
- /*@exposed@*/ sRef sr,
- sRef al)
-{
- int ind;
- sRefSet ss;
-
- llassert (NORANGE (sr, al));
-
- if (rangeTable_isUndefined (s))
- {
- s = rangeTable_newEmpty ();
- ind = ATINVALID;
- }
- else
- {
- ind = rangeTable_lookupRefs (s, sr);
- }
-
- ss = rangeTable_canRange (s, al);
-
-
- if (ind == ATINVALID)
- {
- if (s->nspace <= 0) {
- rangeTable_grow (s);
- }
-
- s->nspace--;
- s->keys[s->nelements] = sr;
- s->values[s->nelements] = sRefSet_single (al);
- ind = s->nelements;
- s->nelements++;
- }
- else
- {
- s->values[ind] = sRefSet_insert (s->values[ind], al);
- }
-
- s->values[ind] = sRefSet_unionExcept (s->values[ind], ss, s->keys[ind]);
-
- sRefSet_free (ss);
- return s;
-}
-
-static rangeTable
- rangeTable_addSet (/*@returned@*/ rangeTable s,
- /*@exposed@*/ sRef key, /*@only@*/ sRefSet value)
-{
- if (!sRefSet_isEmpty (value))
- {
- if (rangeTable_isUndefined (s))
- {
- s = rangeTable_newEmpty ();
- }
- else
- {
- if (s->nspace <= 0)
- {
- rangeTable_grow (s);
- }
- }
-
- s->nspace--;
- s->keys[s->nelements] = key;
- s->values[s->nelements] = value;
- s->nelements++;
- }
- else
- {
- sRefSet_free (value);
- }
-
- return s;
-}
-
-/*
-** When rangees are cleared:
-**
-** o remove all entries for sr
-** o replace all rangees for things which range sr with sr's rangees
-**
-** Clear rangees for sr; if sr is a direct param reference, clear its rangees too.
-*/
-
-static void rangeTable_clearRangeesAux (/*@notnull@*/ rangeTable p_s, sRef p_sr)
- /*@modifies p_s@*/ ;
-
-void rangeTable_clearRangees (rangeTable s, sRef sr)
-{
- if (rangeTable_isUndefined (s))
- {
- return;
- }
- else
- {
- sRef rb = sRef_getRootBase (sr);
-
-
- if (!sRef_isCvar (sr) && sRef_isLocalVar (rb))
- {
- int ind = rangeTable_lookupRefs (s, rb);
-
- if (ind != ATINVALID)
- {
- sRefSet al = s->values[ind];
-
-
- sRefSet_realElements (al, el)
- {
-
- if (sRef_isParam (el))
- {
- if (sRef_sameName (el, rb))
- {
- sRef fb = sRef_fixBase (sr, el);
-
- rangeTable_clearRangeesAux (s, fb);
- }
- }
- } end_sRefSet_realElements ;
- }
- }
-
- rangeTable_clearRangeesAux (s, sr);
- }
-}
-
-static
-void rangeTable_clearRangeesAux (/*@notnull@*/ rangeTable s, sRef sr)
-{
- int i;
-
- for (i = 0; i < s->nelements; i++)
- {
- sRef key = s->keys[i];
-
- if (sRef_includedBy (key, sr))
- {
- sRefSet_clear (s->values[i]);
- }
- else
- {
- (void) sRefSet_deleteBase (s->values[i], sr);
- }
- }
-}
-
-/*
-** returns set of all sRefs that must range sr (but are different from sr)
-*/
-
-static /*@only@*/ sRefSet rangeTable_rangeedByAux (rangeTable s, sRef sr, int lim)
-{
- static bool hadWarning = FALSE;
- sRefSet res = sRefSet_undefined;
- int i;
-
- llassert (!sRef_isConj (sr));
-
-
- if (rangeTable_isUndefined (s) || lim >= RANGESEARCHLIMIT)
- {
- if (lim >= RANGESEARCHLIMIT && !hadWarning)
- {
- 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 Splint.",
- sRef_unparse (sr),
- RANGESEARCHLIMIT));
-
- hadWarning = TRUE;
- }
-
- return sRefSet_undefined;
- }
- else
- {
- sRefSet abl;
-
- if (sRef_isPointer (sr))
- {
- abl = rangeTable_rangeedByLimit (s, sRef_getBase (sr), lim);
- res = sRefSet_addIndirection (abl);
- }
- else if (sRef_isAddress (sr))
- {
- abl = rangeTable_rangeedByLimit (s, sRef_getBase (sr), lim);
- res = sRefSet_removeIndirection (abl);
- }
- else if (sRef_isField (sr))
- {
- abl = rangeTable_rangeedByLimit (s, sRef_getBase (sr), lim);
- res = sRefSet_accessField (abl, sRef_getField (sr));
- }
- else if (sRef_isArrayFetch (sr))
- {
- abl = rangeTable_rangeedByLimit (s, sRef_getBase (sr), lim);
-
- if (sRef_isIndexKnown (sr))
- {
- int idx = sRef_getIndex (sr);
-
- res = sRefSet_fetchKnown (abl, idx);
- }
- else
- {
- res = sRefSet_fetchUnknown (abl);
- }
- }
- else
- {
- abl = sRefSet_undefined;
- }
-
- sRefSet_free (abl);
- }
-
- for (i = 0; i < s->nelements; i++)
- {
- sRef elem = s->keys[i];
-
- if (!sRef_same (sr, elem)) /* was sameName */
- {
-
- sRefSet_realElements (s->values[i], current)
- {
-
- if (sRef_similar (sr, current))
- {
- res = sRefSet_insert (res, sRef_fixOuterRef (elem));
- /*@innerbreak@*/ break;
- }
- } end_sRefSet_realElements;
- }
- }
-
- return res;
-}
-
-static /*@only@*/ sRefSet rangeTable_rangeedByLimit (rangeTable s, sRef sr, int lim)
-{
- sRefSet res;
-
-
- if (sRef_isConj (sr))
- {
- res = sRefSet_unionFree (rangeTable_rangeedByLimit (s, sRef_getConjA (sr), lim),
- rangeTable_rangeedByLimit (s, sRef_getConjB (sr), lim));
- }
- else
- {
- res = rangeTable_rangeedByAux (s, sr, lim + 1);
- }
-
- return res;
-}
-
-/*@only@*/ sRefSet rangeTable_rangeedBy (rangeTable s, sRef sr)
-{
- if (sRef_isConj (sr))
- {
- return (sRefSet_unionFree (rangeTable_rangeedBy (s, sRef_getConjA (sr)),
- rangeTable_rangeedBy (s, sRef_getConjB (sr))));
- }
-
- return (rangeTable_rangeedByAux (s, sr, 0));
-}
-
-/*@only@*/ sRefSet rangeTable_canRange (rangeTable s, sRef sr)
-{
- sRefSet res;
-
-
- if (sRef_isConj (sr))
- {
- res = sRefSet_unionFree (rangeTable_canRange (s, sRef_getConjA (sr)),
- rangeTable_canRange (s, sRef_getConjB (sr)));
- }
- else
- {
- res = rangeTable_canRangeAux (s, sr, 0);
- }
-
- return res;
-}
-
-/*
-** need to limit the depth of rangeing searches
-*/
-
-static /*@only@*/ sRefSet rangeTable_canRangeLimit (rangeTable s, sRef sr, int lim)
-{
- sRefSet res;
-
- if (sRef_isConj (sr))
- {
- sRefSet a = rangeTable_canRangeLimit (s, sRef_getConjA (sr), lim);
- sRefSet b = rangeTable_canRangeLimit (s, sRef_getConjB (sr), lim);
-
- res = sRefSet_unionFree (a, b);
- }
- else
- {
- res = rangeTable_canRangeAux (s, sr, lim + 1);
- }
-
- return res;
-}
-
-static /*@only@*/ sRefSet
- rangeTable_canRangeAux (rangeTable s, sRef sr, int lim)
-{
- static bool hadWarning = FALSE;
- llassert (!sRef_isConj (sr));
-
-
- if (rangeTable_isUndefined (s) || lim >= RANGESEARCHLIMIT)
- {
- if (lim >= RANGESEARCHLIMIT && !hadWarning)
- {
- 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 Splint.",
- sRef_unparse (sr),
- RANGESEARCHLIMIT));
-
- hadWarning = TRUE;
- }
-
- return sRefSet_undefined;
- }
- else
- {
- int ind = rangeTable_lookupRefs (s, sr);
-
- if (sRef_isPointer (sr) || sRef_isAddress (sr) || sRef_isField (sr)
- || sRef_isArrayFetch (sr))
- {
- sRef base = sRef_getBase (sr);
- sRefSet tmp = rangeTable_canRangeLimit (s, base, lim);
- sRefSet ret;
-
- if (sRef_isPointer (sr))
- {
- ret = sRefSet_addIndirection (tmp);
- }
- else if (sRef_isAddress (sr))
- {
- ret = sRefSet_removeIndirection (tmp);
- }
- else if (sRef_isField (sr))
- {
- ret = sRefSet_accessField (tmp, sRef_getField (sr));
- }
- else if (sRef_isArrayFetch (sr))
- {
- if (sRef_isIndexKnown (sr))
- {
- ret = sRefSet_fetchKnown (tmp, sRef_getIndex (sr));
- }
- else
- {
- ret = sRefSet_fetchUnknown (tmp);
- }
- }
- else
- {
- BADBRANCH;
- }
-
- if (ind != ATINVALID)
- {
- ret = sRefSet_union (ret, s->values[ind]);
- }
-
- sRefSet_free (tmp);
- return ret;
- }
-
- if (ind == ATINVALID) return sRefSet_undefined;
-
- return sRefSet_newCopy (s->values[ind]);
- }
-}
-
-rangeTable rangeTable_copy (rangeTable s)
-{
- if (rangeTable_isEmpty (s))
- {
- return rangeTable_undefined;
- }
- else
- {
- rangeTable t = (rangeTable) dmalloc (sizeof (*s));
- int i;
-
- t->nelements = s->nelements;
- t->nspace = 0;
- t->keys = (sRef *) dmalloc (sizeof (*s->keys) * s->nelements);
- t->values = (sRefSet *) dmalloc (sizeof (*s->values) * t->nelements);
-
- for (i = 0; i < s->nelements; i++)
- {
- t->keys[i] = s->keys[i];
- t->values[i] = sRefSet_newCopy (s->values[i]);
- }
-
- return t;
- }
-}
-
-static void
-rangeTable_levelPrune (rangeTable s, int lexlevel)
-{
-
-
- if (rangeTable_isEmpty (s))
- {
- return;
- }
- else
- {
- int i;
- int backcount = s->nelements - 1;
-
- for (i = 0; i <= backcount; i++)
- {
- sRef key = s->keys[i];
-
- if (sRef_lexLevel (key) > lexlevel)
- {
- int j;
- for (j = backcount; j > i; j--)
- {
- backcount--;
- s->nelements--;
- s->nspace++;
-
- if (sRef_lexLevel (s->keys[j]) <= lexlevel)
- {
- s->keys[i] = s->keys[j];
- s->values[i] = s->values[j];
- sRefSet_levelPrune (s->values[i], lexlevel);
- /*@innerbreak@*/ break;
- }
- }
- if (backcount == i)
- s->nelements--;
- }
- else
- {
- sRefSet_levelPrune (s->values[i], lexlevel);
- }
- }
- }
-}
-
-/*
-** levelUnionSeq
-**
-** like level union, but know that t2 was executed after t1. So if
-** t1 has x -> { a, b } and t2 has x -> { a }, then result has x -> { a }.
-**
-** NOTE: t2 is "only".
-*/
-
-rangeTable rangeTable_levelUnionSeq (/*@returned@*/ rangeTable t1,
- /*@only@*/ rangeTable t2, int level)
-{
- if (rangeTable_isUndefined (t2))
- {
- return t1;
- }
-
- if (rangeTable_isUndefined (t1))
- {
- t1 = rangeTable_newEmpty ();
- }
- else
- {
- rangeTable_levelPrune (t1, level);
- }
-
- rangeTable_elements (t2, key, value)
- {
- if (sRef_lexLevel (key) <= level)
- {
- int ind = rangeTable_lookupRefs (t1, key);
-
- sRefSet_levelPrune (value, level);
-
- if (ind == ATINVALID)
- {
- /* okay, t2 is killed */
- /*@-exposetrans@*/ /*@-dependenttrans@*/
- t1 = rangeTable_addSet (t1, key, value);
- /*@=exposetrans@*/ /*@=dependenttrans@*/
- }
- else
- {
- sRefSet_free (t1->values[ind]);
-
- /*@-dependenttrans@*/ /* okay, t2 is killed */
- t1->values[ind] = value;
- /*@=dependenttrans@*/
- }
- }
- else
- {
- /*@-exposetrans@*/ /*@-dependenttrans@*/
- sRefSet_free (value);
- /*@=exposetrans@*/ /*@=dependenttrans@*/
- }
-
- } end_rangeTable_elements;
-
- sfree (t2->keys);
- sfree (t2->values);
- sfree (t2);
-
- return t1;
-}
-
-rangeTable
-rangeTable_levelUnion (/*@returned@*/ rangeTable t1, rangeTable t2, int level)
-{
- if (rangeTable_isUndefined (t1))
- {
- if (rangeTable_isUndefined (t2))
- {
- return t1;
- }
- else
- {
- t1 = rangeTable_newEmpty ();
- }
- }
- else
- {
- rangeTable_levelPrune (t1, level);
- }
-
- rangeTable_elements (t2, key, cvalue)
- {
- sRefSet value = sRefSet_newCopy (cvalue);
-
- if (sRef_lexLevel (key) <= level)
- {
- sRefSet_levelPrune (value, level);
-
- if (sRefSet_size (value) > 0)
- {
- int ind = rangeTable_lookupRefs (t1, key);
-
- if (ind == ATINVALID)
- {
- t1 = rangeTable_addSet (t1, key, value);
- }
- else
- {
- t1->values[ind] = sRefSet_union (t1->values[ind], value);
- sRefSet_free (value);
- }
- }
- else
- {
- sRefSet_free (value);
- }
- }
- else
- {
- sRefSet_free (value);
- }
- } end_rangeTable_elements;
-
- return t1;
-}
-
-rangeTable rangeTable_levelUnionNew (rangeTable t1, rangeTable t2, int level)
-{
- rangeTable ret = rangeTable_levelUnion (rangeTable_copy (t1), t2, level);
-
- return ret;
-}
-
-/*@only@*/ cstring
-rangeTable_unparse (rangeTable s)
-{
- cstring st = cstring_undefined;
-
- if (rangeTable_isUndefined (s)) return (cstring_makeLiteral ("<NULL>"));
-
- rangeTable_elements (s, key, value)
- {
- st = message ("%q\t%q -> %q\n", st, sRef_unparse (key),
- sRefSet_unparse (value));
- } end_rangeTable_elements;
-
- return st;
-}
-
-/*
-** bogus!
-*/
-
-void
-rangeTable_fixSrefs (rangeTable s)
-{
- int i;
-
- if (rangeTable_isUndefined (s)) return;
-
- for (i = 0; i < s->nelements; i++)
- {
- sRef old = s->keys[i];
-
- if (sRef_isLocalVar (old))
- {
- s->keys[i] = uentry_getSref (sRef_getUentry (old));
- }
-
- sRefSet_fixSrefs (s->values[i]);
- }
-}
-
-void
-rangeTable_free (/*@only@*/ rangeTable s)
-{
- int i;
-
- if (rangeTable_isUndefined (s)) return;
-
- for (i = 0; i < s->nelements; i++)
- {
- sRefSet_free (s->values[i]);
- }
-
- sfree (s->values);
- sfree (s->keys);
- sfree (s);
-}
-
-void
-rangeTable_checkGlobs (rangeTable t)
-{
- rangeTable_elements (t, key, value)
- {
- sRef root = sRef_getRootBase (key);
-
- if (sRef_isRangeCheckedGlobal (root))
- {
- sRefSet_realElements (value, sr)
- {
- root = sRef_getRootBase (sr);
-
- if (((sRef_isRangeCheckedGlobal (root)
- && !(sRef_similar (root, key)))
- || sRef_isAnyParam (root))
- && !sRef_isExposed (root))
- {
- if (sRef_isRangeCheckedGlobal (key))
- {
- if (!(sRef_isShared (key)
- && sRef_isShared (root)))
- {
- voptgenerror
- (FLG_GLOBRANGE,
- message
- ("Function returns with %q variable %q rangeing %q %q",
- cstring_makeLiteral (sRef_isRealGlobal (key)
- ? "global" : "file static"),
- sRef_unparse (key),
- cstring_makeLiteral (sRef_isAnyParam (root)
- ? "parameter" : "global"),
- sRef_unparse (sr)),
- g_currentloc);
- }
- }
-
- }
- } end_sRefSet_realElements;
- }
- else if (sRef_isAnyParam (key) || sRef_isAnyParam (root))
- {
- sRefSet_realElements (value, sr)
- {
- root = sRef_getRootBase (sr);
-
- if (sRef_isRangeCheckedGlobal (root)
- && !sRef_isExposed (root)
- && !sRef_isDead (key)
- && !sRef_isShared (root))
- {
- voptgenerror
- (FLG_GLOBRANGE,
- message ("Function returns with parameter %q rangeing %q %q",
- sRef_unparse (key),
- cstring_makeLiteral (sRef_isRealGlobal (root)
- ? "global" : "file static"),
- sRef_unparse (sr)),
- g_currentloc);
- }
- } end_sRefSet_realElements;
- }
- else
- {
- ;
- }
- } end_rangeTable_elements;
-}
-
-
-
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** reader.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
int reader_getInt (char **s)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ replaceNodeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
**
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "exprChecks.h"
# include "transferChecks.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** sRefList.c (from slist_template.c)
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
sRefList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
sRefSet
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
static /*@notnull@*/ /*@only@*/ sRefSetList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "sRefTable.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** yet implemented in this version).
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "signature.h"
# include "signature2.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** and determine its kind.
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "signature.h"
# include "signature2.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
**
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "shift.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "intSet.h"
# include <stdio.h>
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "lslparse.h"
# include "signature.h"
llfatalbug
(cstring_makeLiteral
("There has been a problem in the parser with LSL signatures. 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."));
}
/*;-*-C-*-;
** Splint - annotation-assisted static program checker
-** Copyright (C) 1994-2001 University of Virginia,
+** Copyright (C) 1994-2002 University of Virginia,
** Massachusetts Institute of Technology
**
** This program is free software; you can redistribute it and/or modify it
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
%{
# include <stdio.h>
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "lslparse.h"
# include "signature.h"
llfatalbug
(cstring_makeLiteral
("There has been a problem in the parser with LSL signatures. 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."));
}
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** Massachusetts Institute of Technology
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "llgrammar.h"
# include "lclscan.h"
}
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 Splint.",
+ llcontbug (message ("Invalid sort in sort_dump: sort %d; sortname: %s. "
+ "This may result from using .lcs files produced by an old version of Splint. "
+ "Remove the .lcs files, and rerun Splint.",
i, lsymbol_toString (s->name)));
fprintf (f, "sort _error_ ");
}
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ sortList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
sortSet sortSet_new ()
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ sortSetList
+++ /dev/null
-/*
-** Splint - annotation-assisted static program checker
-** Copyright (C) 1994-2000 University of Virginia,
-** Massachusetts Institute of Technology
-**
-** 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.
-**
-** 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
-*/
-/*
-** source.c
-**
-** Interface to source file abstraction
-**
-** NOTE: This module is almost identical to the one for LCL. The
-** only difference is that a couple of source lines have been
-** commented out.
-**
-** This module has too many dependencies to be in the common
-** source area. Any of the solutions that would allow this
-** module to be common had its own set of compromises. It
-** seemed best and most straightforward to just keep separte
-** copies for LSL and LCL. We should examine this again if we
-** ever reorganize the module structure.
-**
-** AUTHORS:
-**
-** Steve Garland,
-** Massachusetts Institute of Technology
-** Joe Wild, Technical Languages and Environments, DECspec project
-*/
-
-# include "lclintMacros.nf"
-# include "llbasic.h"
-# include "osd.h"
-# include "portab.h"
-
-extern bool
-inputStream_close (inputStream s)
-{
- if (s->file != NULL)
- {
- check (fileTable_closeFile (context_fileTable (),s->file) == 0);
- s->file = NULL;
- return TRUE;
- }
-
- return FALSE;
-}
-
-extern void
-inputStream_free (/*@null@*/ /*@only@*/ inputStream s)
-{
- if (s != NULL)
- {
- sfree (s->name);
- sfree (s->stringSource);
- sfree (s->curLine);
- sfree (s);
- }
-}
-
-extern /*@only@*/ inputStream
- inputStream_create (char *name, char *suffix, bool echo)
-{
- char *ps;
- inputStream s = (inputStream) dmalloc (sizeof (*s));
-
- s->name = (char *) dmalloc (strlen (name) + strlen (suffix) + 1);
- s->file = 0;
- strcpy (s->name, name);
-
- ps = strrchr (s->name, CONNECTCHAR);
-
- if (ps == (char *) 0)
- {
- ps = s->name;
- }
-
- if (strchr (ps, '.') == NULL)
- {
- strcat (s->name, suffix);
- }
-
- s->lineNo = 0;
- s->charNo = 0;
- s->curLine = NULL;
- s->echo = echo;
- s->fromString = FALSE;
- s->stringSource = NULL;
- s->stringSourceTail = NULL;
-
- return s;
-}
-
-extern /*@only@*/ inputStream
-inputStream_fromString (char *name, char *str)
-{
- inputStream s = (inputStream) dmalloc (sizeof (*s));
-
- s->name = mstring_copy (name);
- s->stringSource = mstring_copy (str);
- s->stringSourceTail = s->stringSource;
- s->file = 0;
- s->echo = FALSE;
- s->fromString = TRUE;
- s->lineNo = 0;
- s->charNo = 0;
- s->curLine = NULL;
-
- return s;
-}
-
-extern int inputStream_nextChar (inputStream s)
-{
- int res = inputStream_peekChar (s);
-
- if (res != EOF)
- {
- if (res == '\n')
- {
- s->curLine = NULL;
- s->charNo = 0;
- }
- else
- {
- s->charNo++;
- }
- }
-
- DPRINTF (("Next char: %c [%d]", res, res));
- return res;
-}
-
-extern int inputStream_peekNChar (inputStream s, int n)
- /* Doesn't work across lines! */
-{
- llassert (s->curLine != NULL);
- llassert (s->charNo + n < strlen (s->curLine));
- return ((int) s->curLine [s->charNo + n]);
-}
-
-extern int inputStream_peekChar (inputStream s)
-{
- if (s->curLine == NULL)
- {
- s->curLine = NULL;
- s->curLine = inputStream_nextLine (s);
- s->charNo = 0;
- }
-
- if (s->curLine == NULL)
- {
- return EOF;
- }
-
- llassert (s->charNo <= strlen (s->curLine));
-
- if (s->curLine[s->charNo] == '\0')
- {
- return '\n';
- }
-
- return ((int) s->curLine [s->charNo]);
-}
-
-extern /*@dependent@*/ /*@null@*/
-char *inputStream_nextLine (inputStream s)
-{
- char *currentLine;
- int len;
-
- llassert (s->curLine == NULL);
- s->charNo = 0;
-
- if (s->fromString)
- {
- if (s->stringSourceTail == NULL || (strlen (s->stringSourceTail) == 0))
- {
- currentLine = 0;
- }
- else
- {
- char *c = strchr (s->stringSourceTail, '\n');
-
-
- /* in case line is terminated not by newline */
- if (c == 0)
- {
- c = strchr (s->stringSourceTail, '\0');
- }
-
- len = c - s->stringSourceTail + 1;
-
- if (len > STUBMAXRECORDSIZE - 2)
- {
- len = (STUBMAXRECORDSIZE - 2);
- }
-
- currentLine = &(s->buffer)[0];
- strncpy (currentLine, s->stringSourceTail, size_fromInt (len));
- currentLine[len] = '\0';
- s->stringSourceTail += len;
- }
-
- }
- else
- {
- llassert (s->file != NULL);
- currentLine = fgets (&(s->buffer)[0], STUBMAXRECORDSIZE, s->file);
- }
- if (currentLine == 0)
- {
- strcpy (s->buffer, "*** End of File ***");
- }
- else
- {
- s->lineNo++;
- len = strlen (currentLine) - 1;
- if (s->buffer[len] == '\n')
- {
- s->buffer[len] = '\0';
- }
- else
- {
- if (len >= STUBMAXRECORDSIZE - 2)
- {
- lldiagmsg (message ("Input line too long: %s",
- cstring_fromChars (currentLine)));
- }
- }
- }
-
- /* if (s->echo) slo_echoLine (currentLine); only needed in LCL */
- return currentLine;
-}
-
-extern bool
-inputStream_open (inputStream s)
-{
- if (s->fromString)
- {
- /* not an error: tail is dependent */
- s->stringSourceTail = s->stringSource;
- return TRUE;
- }
-
- DPRINTF (("Open: %s", s->name));
- s->file = fileTable_openFile (context_fileTable (), s->name, "r");
- return (s->file != 0 || s->fromString);
-}
-
-/*
-** requires
-** path != NULL \and
-** s != NULL \and
-** *s.name == filename (*s.name) || filetype (*s.name)
-** *s.name consists of a file name and type only ("<filename>.<type>)
-** No path name is included
-**
-** ensures
-** if filefound (*path, *s) then
-** result = true \and *s.name = filespec_where_file_found (*path, *s)
-** else
-** result = false
-*/
-
-extern bool inputStream_getPath (char *path, inputStream s)
-{
- char *returnPath;
- filestatus status; /* return status of osd_getEnvPath.*/
- bool rVal; /* return value of this procedure. */
-
- /* Check if requires met. */
- if (path == NULL || s == NULL || s->name == NULL)
- {
- llbugexitlit ("inputStream_getPath: invalid parameter");
- }
-
- status = osd_getPath (path, s->name, &returnPath);
-
- if (status == OSD_FILEFOUND)
- { /* Should be majority of cases. */
- rVal = TRUE;
-
- sfree (s->name);
- s->name = returnPath;
- }
- else if (status == OSD_FILENOTFOUND)
- {
- rVal = FALSE;
- }
- else if (status == OSD_PATHTOOLONG)
- {
- rVal = FALSE;
- /* Directory and filename are too long. Report error. */
- llbuglit ("soure_getPath: Filename plus directory from search path too long");
- }
- else
- {
- rVal = FALSE;
- llbuglit ("inputStream_getPath: invalid return status");
- }
- return rVal;
-}
-
-# ifndef NOLCL
-char *specFullName (char *specfile, /*@out@*/ char **inpath)
-{
- /* extract the path and the specname associated with the given file */
- char *specname = (char *) dmalloc (sizeof (*specname)
- * (strlen (specfile) + 9));
- char *ospecname = specname;
- char *path = (char *) dmalloc (sizeof (*path) * (strlen (specfile)));
- size_t size;
- long int i, j;
-
- /* initialized path to empty string or may have accidental garbage */
- *path = '\0';
-
- /*@-mayaliasunique@*/
- strcpy (specname, specfile);
- /*@=mayaliasunique@*/
-
- /* trim off pathnames in specfile */
- size = strlen (specname);
-
- for (i = size_toInt (size) - 1; i >= 0; i--)
- {
- if (specname[i] == CONNECTCHAR)
- {
- /* strcpy (specname, (char *)specname+i+1); */
- for (j = 0; j <= i; j++) /* include '/' */
- {
- path[j] = specname[j];
- }
-
- path[i + 1] = '\0';
- specname += i + 1;
- break;
- }
- }
-
- /*
- ** also remove .lcl file extension, assume it's the last extension
- ** of the file name
- */
-
- size = strlen (specname);
-
- for (i = size_toInt (size) - 1; i >= 0; i--)
- {
- if (specname[i] == '.')
- {
- specname[i] = '\0';
- break;
- }
- }
-
- *inpath = path;
-
- /*
- ** If specname no longer points to the original char,
- ** we need to allocate a new pointer and copy the string.
- */
-
- if (specname != ospecname) {
- char *rspecname = (char *) dmalloc (sizeof (*rspecname) * (strlen (specname) + 1));
- strcpy (rspecname, specname); /* evs 2000-05-16: Bug: was ospecname! */
- sfree (ospecname);
- return rspecname;
- }
-
- return specname;
-}
-# endif
-
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ stDeclNodeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** stateClause.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "cgrammar.h"
# include "cgrammar_tokens.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** stateClauseList.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
static /*@notnull@*/ stateClauseList stateClauseList_new (void)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** A stateCombinationTable is a mapping from keys to value tables.
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
void stateInfo_free (/*@only@*/ stateInfo a)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** stateValue.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
extern
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ storeRefNodeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** Hacks to fit tags into the same namespace.
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "structNames.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** 20 January 1991
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "gram.h"
# include "lclscan.h"
}
else
{
- /* evans 2001-05-27: detected by lclint after fixing external alias bug. */
+ /* evans 2001-05-27: detected by splint after fixing external alias bug. */
if (op->name != NULL)
{
ltoken_free (op->name->content.opid);
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** J.P. Wild
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "tokentable.h"
# include "syntable.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
termNodeList termNodeList_new ()
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** tokentable.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "osd.h"
# include "tokentable.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
/*@only@*/ traitRefNodeList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** transferChecks.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "transferChecks.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** typeIdSet.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
/*@constant int TISTABLEBASESIZE;@*/
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
typeNameNodeList typeNameNodeList_new ()
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** uentry.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "structNames.h"
# include "nameChecks.h"
{
case KINVALID:
case KELIPSMARKER:
- /* bug detected by lclint:
+ /* bug detected by splint:
** uentry.c:753,14: Return value type bool does not match declared type int: TRUE
*/
return 0;
paramno++;
/*
- ** Forgot this! detected by lclint:
+ ** Forgot this! detected by splint:
** uentry.c:1257,15: Suspected infinite loop
*/
}
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** uentryList.c (from slist_template.c)
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
/*@only@*/ /*@notnull@*/ uentryList
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
usymIdSet
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** weird C syntax.
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "structNames.h"
# include "exprChecks.h"
{
llfatalerror
(cstring_makeLiteral
- ("Library is in obsolete format. Use lclint +whichlib "
+ ("Library is in obsolete format. Use splint +whichlib "
"to see which library is being loaded."));
}
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
**
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
# include "gram.h"
# include "lclscan.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** Based on genericTable.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
# include "randomNumbers.h"
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
varDeclarationNodeList varDeclarationNodeList_new ()
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** varKinds.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
alkind alkind_fromInt (int n)
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** where T has T_equal (or change this) and T_unparse
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "llbasic.h"
varNodeList varNodeList_new ()
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** warnClause.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
static warnClause warnClause_createAux (/*@only@*/ fileloc loc,
** the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
** MA 02111-1307, USA.
**
-** For information on lclint: lclint-request@cs.virginia.edu
-** To report a bug: lclint-bug@cs.virginia.edu
+** For information on splint: splint@cs.virginia.edu
+** To report a bug: splint-bug@cs.virginia.edu
** For more information: http://www.splint.org
*/
/*
** ynm.c
*/
-# include "lclintMacros.nf"
+# include "splintMacros.nf"
# include "basic.h"
ynm ynm_fromCodeChar (char c)
lintcomments.c: (in function f)
-lintcomments.c:7:51: Traditional lint comment /*FALLTHROUGH*/ used. This is
- interpreted by LCLint in the same way as most Unix lints, but it is
- preferable to replace it with the /*@fallthrough@*/ semantic comment
-lintcomments.c:8:33: Traditional lint comment /*FALLTHROUGH*/ used. This is
- interpreted by LCLint in the same way as most Unix lints, but it is
- preferable to replace it with the /*@fallthrough@*/ semantic comment
-lintcomments.c:9:30: Traditional lint comment /*FALLTHRU*/ used. This is
- interpreted by LCLint in the same way as most Unix lints, but it is
- preferable to replace it with the /*@fallthrough@*/ semantic comment
+lintcomments.c:7:51: Traditional lint comment /*FALLTHROUGH*/ used. Splint
+ interprets this in the same way as most Unix lints, but it is preferable to
+ replace it with the /*@fallthrough@*/ semantic comment
+lintcomments.c:8:33: Traditional lint comment /*FALLTHROUGH*/ used. Splint
+ interprets this in the same way as most Unix lints, but it is preferable to
+ replace it with the /*@fallthrough@*/ semantic comment
+lintcomments.c:9:30: Traditional lint comment /*FALLTHRU*/ used. Splint
+ interprets this in the same way as most Unix lints, but it is preferable to
+ replace it with the /*@fallthrough@*/ semantic comment
lintcomments.c:11:13: Fall through case (no preceding break)
-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.
+lintcomments.c:23:21: Traditional lint comment /*NOTREACHED*/ used. Splint
+ interprets this in the same way as most Unix lints, but it is preferable to
+ replace it with the /*@notreached@*/ semantic comment.
Finished checking --- 5 code warnings, as expected
parameter
printflike.c:8:5: Function sprint is marked scanflike, but has no elipsis
parameter
-printflike.c:13:15: Traditional lint comment /*PRINTFLIKE*/ used. This is
- interpreted by LCLint in the same way as most Unix lints, but it is
- preferable to replace it with either /*@printflike@*/, /*@scanflike@*/ or
+printflike.c:13:15: Traditional lint comment /*PRINTFLIKE*/ used. Splint
+ interprets this in the same way as most Unix lints, but it is preferable to
+ replace it with either /*@printflike@*/, /*@scanflike@*/ or
/*@messagelike@*/.
printflike.c:16:35: Multiple special function codes:
printflike, messagelike (first code is ignored)
Finished checking --- no warnings
extension.c:2:18: Parse Error: New function scope inside function. (For help on
- parse errors, see lclint -help parseerrors.)
+ parse errors, see splint -help parseerrors.)
*** Cannot continue.
Finished checking --- no warnings