]> andersk Git - splint.git/commitdiff
Added files to generate a binary package by doing make bindist
authordrl7x <drl7x>
Mon, 14 Jan 2002 19:56:39 +0000 (19:56 +0000)
committerdrl7x <drl7x>
Mon, 14 Jan 2002 19:56:39 +0000 (19:56 +0000)
14 files changed:
Makefile.am
Makefile.binary.am [new file with mode: 0644]
Makefile.in
configure
configure.ac
configure.binary.ac [new file with mode: 0644]
doc/Makefile.in
fixBinaryDist.sh [new file with mode: 0755]
src/Makefile.am
src/Makefile.in
test/Makefile
test/Makefile.am
test/Makefile.in
test/help.expect

index 4dac42f5b7746c81f747442d5d4adb89915ce6ed..9112557611f7fcb95a81e747f9cff4a0ecd5ffbe 100644 (file)
 
 AUTOMAKE_OPTIONS = 1.5 foreign
 
-SUBDIRS = src lib imports test doc
+binaryfixscript = ./fixBinaryDist.sh
+SUBDIRS =   lib imports test doc src
 
+binaryBuiltFiles = Makefile.binary.am configure.binary.ac
+#include these in case we're trying to build on a systems
+#without the bleeding edge versions of automake and autoconf
+binaryDerivedFiles = Makefile.binary.in configure.binary
+
+EXTRA_DIST = $(binaryfixscript) $(binaryBuiltFiles) $(binaryDerivedFiles) preBuilt/Makefile.am preBuilt/Makefile.in
+
+bindist:
+       $(MAKE)
+       $(CP) src/splint preBuilt/splint
+       $(MAKE) -e dist dh_script=$(binaryfixscript) SUBDIRS="preBuilt lib imports  doc"
+
+dist-hook:
+       cd $(distdir);  pwd; $(dh_script)
diff --git a/Makefile.binary.am b/Makefile.binary.am
new file mode 100644 (file)
index 0000000..731b7ba
--- /dev/null
@@ -0,0 +1,29 @@
+## Process this file with automake to create Makefile.in. -*-Makefile-*-
+##
+## Makefile for Splint 3.0
+## For more information: http://www.splint.org
+##
+## Copyright (C) 2001-2 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 spint: info@splint.org
+## To report a bug: splint-bug@splint.org
+## 
+
+AUTOMAKE_OPTIONS = 1.5 foreign
+
+SUBDIRS =  preBuilt lib imports  doc
index f2ceb6e09fd2117960276435efb1610d60bb3ef9..5e2a43dc2fc6dc950d5ce5016ddc037d82d83fa5 100644 (file)
@@ -87,7 +87,15 @@ install_sh = @install_sh@
 
 AUTOMAKE_OPTIONS = 1.5 foreign
 
-SUBDIRS = src lib imports test doc
+binaryfixscript = ./fixBinaryDist.sh
+SUBDIRS = lib imports test doc src
+
+binaryBuiltFiles = Makefile.binary.am configure.binary.ac
+#include these in case we're trying to build on a systems
+#without the bleeding edge versions of automake and autoconf
+binaryDerivedFiles = Makefile.binary.in configure.binary
+
+EXTRA_DIST = $(binaryfixscript) $(binaryBuiltFiles) $(binaryDerivedFiles) preBuilt/Makefile.am preBuilt/Makefile.in
 subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
@@ -99,10 +107,10 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
        uninstall-info-recursive all-recursive install-data-recursive \
        install-exec-recursive installdirs-recursive install-recursive \
        uninstall-recursive check-recursive installcheck-recursive
-DIST_COMMON = README ./stamp-h.in Makefile.am Makefile.in acinclude.m4 \
-       aclocal.m4 config.hin config/config.guess config/config.sub \
-       config/depcomp config/install-sh config/missing \
-       config/mkinstalldirs configure configure.ac
+DIST_COMMON = README ./stamp-h.in ChangeLog Makefile.am Makefile.in \
+       acinclude.m4 aclocal.m4 config.hin config/config.guess \
+       config/config.sub config/depcomp config/install-sh \
+       config/missing config/mkinstalldirs configure configure.ac
 DIST_SUBDIRS = $(SUBDIRS)
 all: config.h
        $(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -253,7 +261,7 @@ GZIP_ENV = --best
 distdir: $(DISTFILES)
        -chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
        mkdir $(distdir)
-       $(mkinstalldirs) $(distdir)/config
+       $(mkinstalldirs) $(distdir)/config $(distdir)/preBuilt
        @for file in $(DISTFILES); do \
          if test -f $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
@@ -282,6 +290,9 @@ distdir: $(DISTFILES)
              || exit 1; \
          fi; \
        done
+       $(MAKE) $(AM_MAKEFLAGS) \
+         top_distdir="${top_distdir}" distdir="$(distdir)" \
+         dist-hook
        -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
          ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
          ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
@@ -407,6 +418,14 @@ uninstall-info: uninstall-info-recursive
        uninstall uninstall-am uninstall-info-am \
        uninstall-info-recursive uninstall-recursive
 
+
+bindist:
+       $(MAKE)
+       $(CP) src/splint preBuilt/splint
+       $(MAKE) -e dist dh_script=$(binaryfixscript) SUBDIRS="preBuilt lib imports  doc"
+
+dist-hook:
+       cd $(distdir);  pwd; $(dh_script)
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
index ea4f3bffe585f96fd54a7392b87116efef5e9e7f..3b83f8466c9e61c0fac3c4c42c4aa6bc0b996de6 100755 (executable)
--- a/configure
+++ b/configure
@@ -3173,7 +3173,7 @@ cat >>confdefs.h <<EOF
 #define TARGET_OS "${target_os}"
 EOF
 
-ac_config_files="$ac_config_files Makefile imports/Makefile lib/Makefile src/Makefile test/Makefile doc/Makefile"
+ac_config_files="$ac_config_files Makefile imports/Makefile lib/Makefile src/Makefile test/Makefile doc/Makefile preBuilt/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -3500,9 +3500,10 @@ do
   "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
   "test/Makefile" ) CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
   "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+  "preBuilt/Makefile" ) CONFIG_FILES="$CONFIG_FILES preBuilt/Makefile" ;;
   "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
   "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.hin" ;;
-  *) { { echo "$as_me:3505: error: invalid argument: $ac_config_target" >&5
+  *) { { echo "$as_me:3506: error: invalid argument: $ac_config_target" >&5
 echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
    { (exit 1); exit 1; }; };;
   esac
@@ -3752,7 +3753,7 @@ done; }
   esac
 
   if test x"$ac_file" != x-; then
-    { echo "$as_me:3755: creating $ac_file" >&5
+    { echo "$as_me:3756: creating $ac_file" >&5
 echo "$as_me: creating $ac_file" >&6;}
     rm -f "$ac_file"
   fi
@@ -3770,7 +3771,7 @@ echo "$as_me: creating $ac_file" >&6;}
       -) echo $tmp/stdin ;;
       [\\/$]*)
          # Absolute (can't be DOS-style, as IFS=:)
-         test -f "$f" || { { echo "$as_me:3773: error: cannot find input file: $f" >&5
+         test -f "$f" || { { echo "$as_me:3774: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          echo $f;;
@@ -3783,7 +3784,7 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
            echo $srcdir/$f
          else
            # /dev/null tree
-           { { echo "$as_me:3786: error: cannot find input file: $f" >&5
+           { { echo "$as_me:3787: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          fi;;
@@ -3844,7 +3845,7 @@ for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
   * )   ac_file_in=$ac_file.in ;;
   esac
 
-  test x"$ac_file" != x- && { echo "$as_me:3847: creating $ac_file" >&5
+  test x"$ac_file" != x- && { echo "$as_me:3848: creating $ac_file" >&5
 echo "$as_me: creating $ac_file" >&6;}
 
   # First look for the input files in the build tree, otherwise in the
@@ -3855,7 +3856,7 @@ echo "$as_me: creating $ac_file" >&6;}
       -) echo $tmp/stdin ;;
       [\\/$]*)
          # Absolute (can't be DOS-style, as IFS=:)
-         test -f "$f" || { { echo "$as_me:3858: error: cannot find input file: $f" >&5
+         test -f "$f" || { { echo "$as_me:3859: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          echo $f;;
@@ -3868,7 +3869,7 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
            echo $srcdir/$f
          else
            # /dev/null tree
-           { { echo "$as_me:3871: error: cannot find input file: $f" >&5
+           { { echo "$as_me:3872: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          fi;;
@@ -3985,7 +3986,7 @@ cat >>$CONFIG_STATUS <<\EOF
   rm -f $tmp/in
   if test x"$ac_file" != x-; then
     if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
-      { echo "$as_me:3988: $ac_file is unchanged" >&5
+      { echo "$as_me:3989: $ac_file is unchanged" >&5
 echo "$as_me: $ac_file is unchanged" >&6;}
     else
       ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
index 43855754664a740be9764634833480d71cb8a0a9..a30ab982dbc30602a4c2544d0f789b2af3d0642b 100644 (file)
@@ -201,8 +201,8 @@ dnl                  test/tests2.2/Makefile
 dnl                  test/db1/Makefile])
 
 AC_CONFIG_FILES([Makefile imports/Makefile lib/Makefile src/Makefile
-                 test/Makefile doc/Makefile])
-AC_OUTPUT
+                 test/Makefile doc/Makefile preBuilt/Makefile])
+AC_OUTPUT 
 
 
 
diff --git a/configure.binary.ac b/configure.binary.ac
new file mode 100644 (file)
index 0000000..42a6546
--- /dev/null
@@ -0,0 +1,214 @@
+dnl Process with autoconf to create a configure script  -*- Autoconf -*-
+AC_PREREQ(2.50)
+AC_INIT([Splint], [3.0.1.2], [splint-bug@splint.org], [splint])
+
+dnl This MUST precede any other macro
+AC_CONFIG_AUX_DIR([config])
+
+dnl Set up the source directory
+#AC_CONFIG_SRCDIR([src/lclinit.c])
+
+dnl Deduce host
+AC_CANONICAL_SYSTEM
+
+dnl Set up automake & the configuration header
+AM_INIT_AUTOMAKE(AC_PACKAGE_TARNAME, AC_PACKAGE_VERSION, AC_PACKAGE_BUGREPORT)
+AM_CONFIG_HEADER([config.h:config.hin])
+
+dnl Prepare for Splint processing of config.h
+AH_TOP([/*@-constmacros@*/])
+AH_BOTTOM([/*@=constmacros@*/])
+
+dnl Checks for programs.
+#drl 12-19-2001 commented out so Splint won't depend on C++
+#AC_PROG_CXX
+AC_PROG_CC
+AC_PROG_CPP
+dnl This produces a warning.  See http://mail.gnu.org/pipermail/bug-automake/2001-August/000213.html
+AM_PROG_LEX
+AC_PROG_INSTALL
+AC_PROG_MAKE_SET
+AC_PROG_LN_S
+AC_CHECK_PROG(BISON, bison, bison, no)
+AC_CHECK_PROG(GREP, grep, grep, grep-is-missing)
+AC_CHECK_PROG(DIFF, diff, diff, diff-is-missing)
+AC_CHECK_PROG(CAT, cat, cat, cat-is-missing)
+AC_CHECK_PROG(RM, rm, rm, rm-is-missing)
+AC_CHECK_PROG(MV, mv, mv, mv-is-missing)
+AC_CHECK_PROG(CP, cp, cp, cp-is-missing)
+
+dnl Checks for header files.
+dnl Currently all disable, as the source files don't care about the results
+dnl AC_HEADER_DIRENT
+dnl AC_HEADER_STDC
+dnl AC_CHECK_HEADERS([alloca.h errno.h fcntl.h float.h limits.h locale.h malloc.h stddef.h stdlib.h string.h strings.h sys/time.h unistd.h])
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+dnl Currently all disable, as the source files don't care about the results
+dnl AC_C_CONST
+dnl AC_TYPE_UID_T
+dnl AC_TYPE_MODE_T
+dnl AC_TYPE_OFF_T
+dnl AC_TYPE_PID_T
+dnl AC_TYPE_SIZE_T
+dnl AC_STRUCT_ST_BLOCKS
+dnl AC_CHECK_MEMBERS([struct stat.st_rdev])
+dnl AC_DECL_SYS_SIGLIST
+dnl AC_HEADER_TIME
+dnl AC_STRUCT_TM
+dnl AC_CHECK_TYPES([ptrdiff_t])
+
+dnl Checks for library functions.
+dnl Currently all disable, as the source files don't care about the results
+dnl AC_FUNC_ALLOCA
+dnl AC_FUNC_CHOWN
+dnl AC_FUNC_GETPGRP
+dnl AC_PROG_GCC_TRADITIONAL
+dnl AC_FUNC_LSTAT
+dnl AC_FUNC_MALLOC
+dnl AC_FUNC_MEMCMP
+dnl AC_FUNC_MKTIME
+dnl AC_FUNC_MMAP
+dnl AC_FUNC_SETVBUF_REVERSED
+dnl AC_TYPE_SIGNAL
+dnl AC_FUNC_STAT
+dnl AC_FUNC_STRCOLL
+dnl AC_FUNC_STRERROR_R
+dnl AC_FUNC_VFORK
+dnl AC_FUNC_VPRINTF
+dnl AC_FUNC_WAIT3
+dnl AC_CHECK_FUNCS([alarm atexit btowc bzero dup2 endgrent endpwent fchdir floor ftruncate getcwd getgroups gethostname gettimeofday isascii iswprint lchown localeconv mblen mbrlen mbrtowc memchr memmove memset mkdir mkfifo modf munmap pathconf pow putenv realpath regcomp rint rmdir rpmatch select setenv socket sqrt strcasecmp strchr strcspn strdup strerror strftime strncasecmp strpbrk strrchr strspn strstr strtod strtol strtoul strtoull tzset uname utime vprintf])
+
+dnl This was provided by Nelson Beebe for dealing with problems on IBM
+dnl AIX 4.3 with defining mode_t.
+
+dnl Checks for _ALL_SOURCE (IBM RS/6000 c89 needs this)
+AC_MSG_CHECKING(whether we need _ALL_SOURCE to expose mode_t)
+all=no
+AC_TRY_COMPILE([
+#include <stdio.h>
+mode_t x;
+], , , all=maybe)
+if test $all = maybe ; then
+AC_TRY_COMPILE([
+#define _ALL_SOURCE
+#include <stdio.h>
+mode_t x;
+], , AC_DEFINE(_ALL_SOURCE) all=yes)
+fi
+if test $all = maybe ; then all=no ; fi
+AC_MSG_RESULT($all)
+
+LCLOBJ='$(lcl_OBJECTS)'
+AC_ARG_WITH([lcl],
+            AC_HELP_STRING([--without-lcl],
+                           [don't include support for LCL files]),
+            ac_cv_use_lcl=$withval, 
+            AC_CACHE_CHECK([whether to include support for LCL files],
+                           ac_cv_use_lcl, ac_cv_use_lcl=yes))
+if test x$ac_cv_use_lcl != xyes; then
+  LCLOBJ=
+  AC_DEFINE(NOLCL, 1, [Define to disable support LCL files])
+fi
+AC_SUBST(LCLOBJ)
+
+# Make sure we have an actual value for $prefix
+myprefix=$prefix
+test x$myprefix = xNONE && myprefix=$ac_default_prefix
+
+# cpplib.h defines 2 include dirs; one is $includedir, the other is gcc's
+# include dir.  Not the most portable setup, but let's do our best.
+if test x$ac_cv_c_compiler_gnu = xyes; then
+  dnl Make sure to override NLS; this assumes gcc prints only
+  dnl   Reading specs from blah
+  dnl   gcc version blah
+
+# This breaks on gcc-3.0 on redhat fixing drl 11-15-2001
+#  GCC_INCLUDE_DIR=`LANGUAGE= LANG= $CC -v 2>&1 | sed -e '/^gcc/ d' -e 's/.* \(.*\)specs/\1include/'`
+GCC_INCLUDE_DIR=/usr/include
+# was /usr/lib/gcc-lib/i386-linux/2.7.2.1/include
+#  GCC_INCLUDE_DIR=`LANGUAGE= LANG= $CC -v 2>&1 | sed -n -e '/^gcc/ d' -e 's/.* \(.*\)specs/\1include/p'`
+  AC_DEFINE_UNQUOTED(GCC_INCLUDE_DIR, "$GCC_INCLUDE_DIR",
+                     [system include directory])
+fi
+AC_DEFINE_UNQUOTED(GCC_INCLUDE_DIR2, "$myprefix/include",
+                   [alternate include directory])
+
+# These used to be in local_constants.h
+AC_DEFINE_UNQUOTED(SYSTEM_LIBDIR, "$myprefix/include",
+                   [The system's main include directory])
+AC_DEFINE_UNQUOTED(DEFAULT_LARCHPATH,
+                   ".$PATH_SEPARATOR$myprefix/share/splint/lib$PATH_SEPARATOR`pwd`/lib$PATH_SEPARATOR",
+                   [The directory where Splint's library files live])
+AC_DEFINE_UNQUOTED(DEFAULT_LCLIMPORTDIR, ".$PATH_SEPARATOR$myprefix/share/splint/imports$PATH_SEPARATOR`pwd`/imports",
+                   [Splint's imports directory])
+
+# These used to be in herald.h
+LCL_PARSE_VERSION="AC_PACKAGE_NAME AC_PACKAGE_VERSION"
+AC_DEFINE_UNQUOTED(SPLINT_VERSION,
+                   "$LCL_PARSE_VERSION --- `date +"%d %b %Y"`",
+                   [Splint's version number and configure/build date])
+AC_DEFINE_UNQUOTED(LCL_PARSE_VERSION, "$LCL_PARSE_VERSION",
+                   [Splint's version number])
+AC_DEFINE_UNQUOTED(LCL_COMPILE,
+                   "Compiled using $CC $CFLAGS on `uname -a` by `whoami`",
+                   [String describing who compiled this binary and how])
+
+dnl TODO: Use result AC_CANONICAL_SYSTEM to figure out what to define 
+
+AC_DEFINE(UNIX, 1, [Define if you're on a Unixy system])
+
+#just define some Header constants for now...
+
+UNAME=`uname`
+AC_DEFINE_UNQUOTED(UNAME, "${UNAME}")
+
+AC_DEFINE_UNQUOTED(BUILD, "${build}")
+AC_DEFINE_UNQUOTED(HOST, "${host}")
+AC_DEFINE_UNQUOTED(TARGET, "${target}")
+
+AC_DEFINE_UNQUOTED(BUILD_ALIAS, "${build_alias}")
+AC_DEFINE_UNQUOTED(HOST_ALIAS, "${host_alias}")
+AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${TARGET_ALIAS}")
+
+AC_DEFINE_UNQUOTED(BUILD_CPU, "${build_cpu}")
+AC_DEFINE_UNQUOTED(HOST_CPU, "$host_cpu")
+AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}")
+
+AC_DEFINE_UNQUOTED(BUILD_VENDOR, "${build_vendor}")
+AC_DEFINE_UNQUOTED(HOST_VENDOR, "${host_vendor}")
+AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}")
+
+AC_DEFINE_UNQUOTED(BUILD_OS, "${build_os}")
+AC_DEFINE_UNQUOTED(HOST_OS, "${host_os}")
+AC_DEFINE_UNQUOTED(TARGET_OS,"${target_os}")
+
+
+
+dnl AC_CONFIG_FILES([
+dnl                  test/ensuresclauses/Makefile
+dnl                  test/conditions/Makefile
+dnl                  test/db2/Makefile
+dnl                  test/warnuse/Makefile
+dnl                  test/tainted/Makefile
+dnl                  test/fileio/Makefile
+dnl                  test/tests2.4/Makefile
+dnl                  test/db3/Makefile
+dnl                  test/metastate/Makefile
+dnl                  test/mergestate/Makefile
+dnl                  test/tests2.5/Makefile
+dnl                  test/tests2.2/Makefile
+dnl                  test/db1/Makefile])
+
+AC_CONFIG_FILES([Makefile imports/Makefile lib/Makefile 
+                 doc/Makefile preBuilt/Makefile])
+AC_OUTPUT 
+
+
+
+
+
+
+
+
+
index 366dcb7afd380b573b967675bdc858bf35c66ae6..a0ba9864d41415b66d90879b25216c9e773a8fef 100644 (file)
@@ -87,8 +87,8 @@ install_sh = @install_sh@
 
 AUTOMAKE_OPTIONS = 1.5 foreign
 
-splintlibdir = $(pkgdatadir)/man
 
+#this is just a hack to get make dist to work.
 EXTRA_DIST = splint.1
 subdir = doc
 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
@@ -207,7 +207,6 @@ uninstall-am: uninstall-info-am
 
 
 all:
-       @echo "Nothing to make in doc"
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/fixBinaryDist.sh b/fixBinaryDist.sh
new file mode 100755 (executable)
index 0000000..eebc770
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+#This script is intended to be called in make dist
+#THis is intended to be run in the distribution directory...
+
+pwd
+#echo doing bash
+#bash
+
+#Need to do this so modifications to the destination directory won't effect
+#the real directory 
+rm Makefile.am
+rm configure.ac 
+cp  Makefile.binary.am Makefile.am
+cp  configure.binary.ac configure.ac
+cp configure.binary configure
+cp Makefile.binary.in Makefile.in
+
+#run these if possible...
+autoconf
+automake
+mkdir src
+ln -s ../preBuilt/splint src/splint
index 83774066c96b5bd51d7086d3246e40de865ae34a..6bedab64a6c5017b46f97a8fc53f18d6657a7802 100644 (file)
@@ -236,7 +236,7 @@ IFILES =  ctbase.i  cttable.i  exprDataQuite.i
 ## Non-built files we need to distribute
 EXTRA_DIST =  $(BISON_SRC) bison.head bison.reset $(HEADERSRC)  \
             flags.def cscanner.l flex.head flex.reset $(IFILES) \
- Headers/256_random_numbers.nf  Headers/splintMacros.nf        Headers/reservedNames.nf
+ Headers/256_random_numbers.nf  Headers/splintMacros.nf        Headers/reservedNames.nf Makefile.binary.am   Makefile.binary.in
 
 
 #Files that are used on systems that do not have bison or yacc
index aa115aba441523fe095c89d3990e15061fc8f47d..4535f426b4ddbf3bf6666524f56418c8a98772c5 100644 (file)
@@ -320,7 +320,7 @@ IFILES = ctbase.i  cttable.i  exprDataQuite.i
 
 EXTRA_DIST = $(BISON_SRC) bison.head bison.reset $(HEADERSRC)  \
             flags.def cscanner.l flex.head flex.reset $(IFILES) \
- Headers/256_random_numbers.nf  Headers/splintMacros.nf        Headers/reservedNames.nf
+ Headers/256_random_numbers.nf  Headers/splintMacros.nf        Headers/reservedNames.nf Makefile.binary.am   Makefile.binary.in
 
 
 #Files that are used on systems that do not have bison or yacc
index 2d98ccfc860fb521c0dd46efc769d48d35954bcb..fe8b0b36b9c57b4f0075431c3f32c6ed20bb000f 100644 (file)
@@ -910,9 +910,13 @@ help:
        -@$(SPLINTP) -asdf
        -@$(SPLINTP) +boolint +boolint 
        -@$(SPLINTP) -help flags alpha
-       -@$(SPLINTP) -help flags all
-       -@$(SPLINTP) -help flags full   | $(GREP) -v "    Path argument.  Default: " | $(GREP) -v "  lclimportdir <directory> "
-       -@$(SPLINTP) -help flags manual  | $(GREP) -v "    Path argument.  Default: " | $(GREP) -v "  lclimportdir <directory> "
+
+#commenting these out for the release because they will almost always fail
+#since the default will only fit one system
+#Don't want to panic the user... 
+#      -@$(SPLINTP) -help flags all     | $(GREP) -v "^larchpath <path> "     | $(GREP) -v "^lclimportdir <directory> " | $(GREP) -v "  Path argument.  Default: " |  $(GREP) -v "  Directory argument.  Default: " | $(GREP) -v "  lclimportdir <directory> "
+#      -@$(SPLINTP) -help flags full    | $(GREP) -v "^larchpath <path> "     | $(GREP) -v "^lclimportdir <directory> " | $(GREP) -v "  Path argument.  Default: " |  $(GREP) -v "  Directory argument.  Default: " | $(GREP) -v "  lclimportdir <directory> "
+#      -@$(SPLINTP) -help flags manual     | $(GREP) -v "^larchpath <path> "   | $(GREP) -v "^lclimportdir <directory> " | $(GREP) -v "  Path argument.  Default: " |  $(GREP) -v "  Directory argument.  Default: " | $(GREP) -v "  lclimportdir <directory> "
 
 #larch and lclimportdir have different hardcoded default paths so don't include the path in the output..
 
index a0ccc84bb42130ff1e01e1aad6f245c5cb32f91a..9e17fc4848e48510b4d4afc6eecfc657e41ecea6 100644 (file)
@@ -82,9 +82,14 @@ help:
        -@$(SPLINTP) -asdf
        -@$(SPLINTP) +boolint +boolint 
        -@$(SPLINTP) -help flags alpha
-       -@$(SPLINTP) -help flags all
-       -@$(SPLINTP) -help flags full   | $(GREP) -v "    Path argument.  Default: " | $(GREP) -v "  lclimportdir <directory> "
-       -@$(SPLINTP) -help flags manual  | $(GREP) -v "    Path argument.  Default: " | $(GREP) -v "  lclimportdir <directory> "
+
+
+#commenting these out for the release because they will almost always fail
+#since the default will only fit one system
+#Don't want to panic the user... 
+#      -@$(SPLINTP) -help flags all     | $(GREP) -v "^larchpath <path> "     | $(GREP) -v "^lclimportdir <directory> " | $(GREP) -v "  Path argument.  Default: " |  $(GREP) -v "  Directory argument.  Default: " | $(GREP) -v "  lclimportdir <directory> "
+#      -@$(SPLINTP) -help flags full    | $(GREP) -v "^larchpath <path> "     | $(GREP) -v "^lclimportdir <directory> " | $(GREP) -v "  Path argument.  Default: " |  $(GREP) -v "  Directory argument.  Default: " | $(GREP) -v "  lclimportdir <directory> "
+#      -@$(SPLINTP) -help flags manual     | $(GREP) -v "^larchpath <path> "   | $(GREP) -v "^lclimportdir <directory> " | $(GREP) -v "  Path argument.  Default: " |  $(GREP) -v "  Directory argument.  Default: " | $(GREP) -v "  lclimportdir <directory> "
 
 #larch and lclimportdir have different hardcoded default paths so don't include the path in the output..
 
index dc692e446eee84502ed070344f0de733cc37b5d8..2431dbca475feb9a3f74c71ad2bdc0c2975de399 100644 (file)
@@ -910,9 +910,13 @@ help:
        -@$(SPLINTP) -asdf
        -@$(SPLINTP) +boolint +boolint 
        -@$(SPLINTP) -help flags alpha
-       -@$(SPLINTP) -help flags all
-       -@$(SPLINTP) -help flags full   | $(GREP) -v "    Path argument.  Default: " | $(GREP) -v "  lclimportdir <directory> "
-       -@$(SPLINTP) -help flags manual  | $(GREP) -v "    Path argument.  Default: " | $(GREP) -v "  lclimportdir <directory> "
+
+#commenting these out for the release because they will almost always fail
+#since the default will only fit one system
+#Don't want to panic the user... 
+#      -@$(SPLINTP) -help flags all     | $(GREP) -v "^larchpath <path> "     | $(GREP) -v "^lclimportdir <directory> " | $(GREP) -v "  Path argument.  Default: " |  $(GREP) -v "  Directory argument.  Default: " | $(GREP) -v "  lclimportdir <directory> "
+#      -@$(SPLINTP) -help flags full    | $(GREP) -v "^larchpath <path> "     | $(GREP) -v "^lclimportdir <directory> " | $(GREP) -v "  Path argument.  Default: " |  $(GREP) -v "  Directory argument.  Default: " | $(GREP) -v "  lclimportdir <directory> "
+#      -@$(SPLINTP) -help flags manual     | $(GREP) -v "^larchpath <path> "   | $(GREP) -v "^lclimportdir <directory> " | $(GREP) -v "  Path argument.  Default: " |  $(GREP) -v "  Directory argument.  Default: " | $(GREP) -v "  lclimportdir <directory> "
 
 #larch and lclimportdir have different hardcoded default paths so don't include the path in the output..
 
index b151e51908373ce153fb02f52b94376ff4bba701..06d63fd8fbbd29314721a13f4cb251e86c030b16 100644 (file)
@@ -513,5505 +513,3 @@ Finished checking --- no code processed
    whileloopexec               
    zerobool                    
 
-
-null --- misuses of null pointer
-nullderef --- possible dereferencce of null pointer
-nullpass --- possibly null pointer passed as formal with no null annotation
-nullret --- possibly null pointer returned as result with no null annotation
-nullstate --- possibly null pointer reachable from a reference with no null
-annotation
-nullassign --- inconsistent assignment or initialization involving null pointer
-usedef --- use before definition
-mustdefine --- out storage not defined before return or scope exit
-uniondef --- at least one field of a union must be defined
-compdef --- parameter, return value or global completely defined
-fullinitblock --- initializer sets all fields
-initallelements --- initializer defines all array elements
-initsize --- initializer defines extra array elements
-impouts --- pointer parameters to unspecified functions may be implicit out
-parameters
-incondefs --- function, variable or constant redefined with inconsistent type
-matchfields --- struct or enum type redefined with inconsistent fields or
-members
-fcnderef --- dereferencce of a function type
-realcompare --- dangerous comparison between reals (dangerous because of
-inexact floating point representations)
-unsignedcompare --- comparison using <, <=, >= between an unsigned integral and
-zero constant
-ptrarith --- arithmetic involving pointer and integer
-nullptrarith --- arithmetic involving possibly null pointer and integer
-ptrcompare --- comparison between pointer and number
-strictops --- primitive operation does not type check strictly
-bitwisesigned --- a bitwise logical operator does not have unsigned operands
-shiftnegative --- a shift right operand may be negative
-shiftimplementation --- a shift left operand may be negative
-sizeoftype --- sizeof operator has a type argument
-sizeofformalarray --- sizeof operator has an array formal parameter argument
-fixedformalarray --- formal parameter of type array is declared with size
-incompletetype --- formal parameter has an incomplete type
-formalarray --- formal parameter is an array
-booltype --- set name of boolean type (default bool)
-boolfalse --- set name of boolean false (default FALSE)
-booltrue --- set name of boolean true (default TRUE)
-likelybool --- type name is probably a boolean type but does not match default
-boolean type name, "bool", and alternate name is not set
-boolcompare --- comparison between bools (dangerous because of multiple TRUE
-values)
-boolops --- primitive operation (!, && or ||) does not has a boolean argument
-ptrnegate --- allow ! to be used on pointer operand
-predassign --- condition test (if, while or for) is an assignment
-predbool --- type of condition test (if, while or for) not bool (sets
-predboolint, predboolptr and predboolothers)
-predboolint --- type of condition test (if, while or for) is an integral type
-predboolptr --- type of condition test (if, while or for) is a pointer
-predboolothers --- type of condition test (if, while or for) not bool, int or
-pointer
-abstract --- data abstraction barriers
-impabstract --- assume user type definitions are abstract (unless
-/*@concrete@*/ is used)
-accessmodule --- allow access to abstract types in definition module
-accessfile --- allow access to abstract types by file name convention
-accessczech --- allow access to abstract types by czech naming convention
-accessslovak --- allow access to abstract types by slovak naming convention
-accessczechoslovak --- allow access to abstract types by czechoslovak naming
-convention
-accessall --- set accessmodule, accessfile and accessczech
-mutrep --- representation of mutable type has sharing semantics
-mustfreefresh --- freshly allocated storage not released before return or scope
-exit
-mustfreeonly --- only storage not released before return or scope exit
-mustfree --- fresh or only storage not released before return or scope exit
-(sets mustfreefresh and mustfreeonly)
-usereleased --- storage used after release
-strictusereleased --- element used after it may have been released
-compdestroy --- all only references derivable from void pointer out only
-parameter are released
-strictdestroy --- report complete destruction errors for array elements that
-may have been released
-deparrays --- array elements are dependent storage
-branchstate --- storage has inconsistent states of alternate paths through a
-branch
-strictbranchstate --- storage through array fetch has inconsistent states of
-alternate paths through a branch
-memchecks --- sets all dynamic memory checking flags (memimplicit, mustfree,
-mustdefine, mustnotalias, null, memtrans)
-compmempass --- actual parameter matches alias kind of formal parameter
-completely 
-stackref --- external reference to stack-allocated storage is created
-memtrans --- memory transfer errors (sets all *trans flags)
-dependenttrans --- dependent transfer errors
-newreftrans --- new reference transfer to reference counted reference
-onlytrans --- only storage transferred to non-only reference (memory leak)
-onlyunqglobaltrans --- only storage transferred to an unqualified global or
-static reference (memory leak)
-ownedtrans --- owned storage transferred to non-owned reference (memory leak)
-freshtrans --- fresh storage transferred to non-only reference (memory leak)
-sharedtrans --- shared storage transferred to non-shared reference
-temptrans --- temp storage transferred to non-temporary reference
-kepttrans --- kept storage transferred to non-temporary reference
-keeptrans --- keep storage transferred inconsistently
-immediatetrans --- an immediate address (result of &) is transferred
-inconsistently
-refcounttrans --- reference counted storage is transferred in an inconsistent
-way
-statictrans --- static storage is transferred in an inconsistent way
-unqualifiedtrans --- unqualified storage is transferred in an inconsistent way
-staticinittrans --- static storage is used as an initial value in an
-inconsistent way
-unqualifiedinittrans --- unqualified storage is used as an initial value in an
-inconsistent way
-readonlytrans --- report memory transfer errors for initializations to
-read-only string literals
-passunknown --- passing a value as an un-annotated parameter clears its
-annotation
-readonlystrings --- string literals are read-only (error if one is modified or
-released)
-memimp --- memory errors for unqualified storage
-paramimptemp --- assume unannotated parameter is temp
-allimponly --- sets globimponly, retimponly, structimponly, specglobimponly,
-specretimponly and specstructimponly
-codeimponly --- sets globimponly, retimponly and structimponly
-specimponly --- sets specglobimponly, specretimponly and specstructimponly
-globimponly --- assume unannotated global storage is only
-retimponly --- assume unannotated returned storage is only
-structimponly --- assume unannotated structure field is only
-specglobimponly --- assume unannotated global storage is only
-specretimponly --- assume unannotated returned storage is only
-specstructimponly --- assume unannotated structure field is only
-aliasunique --- unique parameter is aliased
-mayaliasunique --- unique parameter may be aliased
-mustnotalias --- temp storage aliased at return point or scope exit
-retalias --- function returns alias to parameter or global
-globalias --- function returns with global aliasing external state (sets
-checkstrictglobalias, checkedglobalias, checkmodglobalias and
-uncheckedglobalias)
-checkstrictglobalias --- function returns with a checkstrict global aliasing
-external state
-checkedglobalias --- function returns with a checked global aliasing external
-state
-checkmodglobalias --- function returns with a checkmod global aliasing external
-state
-uncheckedglobalias --- function returns with an unchecked global aliasing
-external state
-exposetrans --- exposure transfer errors
-observertrans --- observer transfer errors
-repexpose --- abstract representation is exposed (sets assignexpose, retexpose,
-and castexpose)
-retexpose --- abstract representation is exposed (return values only)
-assignexpose --- abstract representation is exposed (assignments only)
-castexpose --- abstract representation is exposed through a cast
-redundantsharequal --- declaration uses observer qualifier that is always true
-misplacedsharequal --- declaration of unsharable storage uses sharing
-annotation
-mods --- unspecified modification of caller-visible state
-mustmod --- specified modification is not detected
-modobserver --- possible modification of observer storage
-modobserveruncon --- possible modification of observer storage through
-unconstrained call
-modinternalstrict --- possible modification of internal storage through
-function call
-modfilesys --- report undocumented file system modifications (applies to
-unspecified functions if modnomods is set)
-modunspec --- modification in unspecified functions (sets modnomods,
-modglobunspec and modstrictglobsunspec)
-modnomods --- modification in a function with no modifies clause
-moduncon --- possible modification through a call to an unconstrained function
-modunconnomods --- possible modification through a call to an unconstrained
-function in a function with no modifies clause
-globsimpmodsnothing --- functions declared with a globals list but no modifies
-clause are assumed to modify nothing
-modsimpnoglobs --- functions declared with a modifies clause but no globals
-list are assumed to use no globals
-globstate --- returns with global in inconsistent state (null or undefined)
-globs --- undocumented use of a checked global variable
-globuse --- global listed for a function not used
-internalglobs --- use of internalState
-internalglobsnoglobs --- use of internalState (in function with no globals
-list)
-warnmissingglobs --- global variable used in modifies clause is not listed in
-globals list
-warnmissingglobsnoglobs --- global variable used in modifies clause in a
-function with no globals list
-globnoglobs --- use of checked global in a function with no globals list or
-specification
-allglobs --- report use and modification errors for globals not annotated with
-unchecked
-checkstrictglobs --- report use and modification errors for checkedstrict
-globals
-impcheckedspecglobs --- assume checked qualifier for unqualified global
-declarations in .lcl files
-impcheckmodspecglobs --- assume checkmod qualifier for unqualified global
-declarations in .lcl files
-impcheckedstrictspecglobs --- assume checkmod qualifier for unqualified global
-declarations in .lcl files
-impcheckedglobs --- assume checked qualifier for unqualified global
-declarations
-impcheckmodglobs --- assume checkmod qualifier for unqualified global
-declarations
-impcheckedstrictglobs --- assume checkedstrict qualifier for unqualified global
-declarations
-impcheckedstatics --- assume checked qualifier for unqualified file static
-declarations
-impcheckmodstatics --- assume checkmod qualifier for unqualified file static
-declarations
-impcheckmodinternals --- assume checkmod qualifier for unqualified local static
-declarations (for internal state modifications)
-impcheckedstrictstatics --- assume checkedstrict qualifier for unqualified file
-static declarations
-modglobs --- undocumented modification of a checked global variable
-modglobsnomods --- undocumented modification of a checked global variable in a
-function declared with no modifies clause
-modstrictglobsnomods --- undocumented modification of a strict checked global
-variable in a function declared with no modifies clause
-modglobsunchecked --- undocumented modification of an unchecked checked global
-variable
-noret --- path with no return detected in non-void function
-emptyreturn --- empty return in function declared to return value
-alwaysexits --- loop predicate always exits
-loopexec --- assume all loops execute at least once (sets forloopexec,
-whileloopexec and iterloopexec)
-forloopexec --- assume all for loops execute at least once
-whileloopexec --- assume all while loops execute at least once
-iterloopexec --- assume all iterator loops execute at least once
-obviousloopexec --- assume loop that can be determined to always execute always
-does
-evalorder --- code has unspecified or implementation-dependent behavior because
-of order of evaluation
-evalorderuncon --- code involving call to unspecified function has undefined or
-implementation-dependent behavior
-infloops --- likely infinite loop is detected
-infloopsuncon --- likely infinite loop is detected (may result from
-unconstrained function)
-casebreak --- non-empty case in a switch without preceding break
-misscase --- switch on enum type missing case for some value
-firstcase --- first statement in switch is not a case
-duplicatecases --- duplicate cases in switch
-deepbreak --- break inside nested while or for or switch
-looploopbreak --- break inside nested while or for
-switchloopbreak --- break in loop inside switch
-loopswitchbreak --- break in switch inside loop
-switchswitchbreak --- break in switch inside switch
-looploopcontinue --- continue inside nested loop
-whileempty --- a while statement has no body
-whileblock --- the body of a while statement is not a block
-forempty --- a for statement has no body
-forblock --- the body of a for statement is not a block
-ifempty --- an if statement has no body
-ifblock --- the body of an if statement is not a block
-allempty --- an if, while or for statement has no body (sets ifempty,
-whileempty and forempty
-allblock --- the body of an if, while or for statement is not a block (sets
-ifblock, whileblock and forblock)
-elseifcomplete --- if ... else if chains must have final else
-unreachable --- unreachable code detected
-noeffect --- statement with no effect
-noeffectuncon --- statement with no effect (except possibly through call to
-unconstrained function)
-retval --- return value ignored (sets retvalint, retvalbool and retvalother)
-retvalother --- return value of type other than bool or int ignored
-retvalbool --- return value of manifest type bool ignored
-retvalint --- return value of type int ignored
-nullterminated --- misuse of nullterminated allocation
-bounds --- memory bounds checking (sets boundsread and boundswrite)
-boundsread --- possible out of bounds read
-boundswrite --- possible buffer overflow from an out of bounds write
-fcnpost --- display function post conditions
-redundantconstraints --- display seemingly redundant constraints
-checkpost --- unable to verify predicate in ensures clause
-implictconstraint --- generate implicit constraints for functions
-orconstraint --- use limited OR expressions to resolve constraints
-nullterminated --- misuse of nullterminated allocation
-showconstraintparens --- display parentheses around constraint terms
-showconstraintlocation --- display location for every constraint generated
-mts --- load meta state declaration and corresponding xh file
-statetransfer --- storage has been transfered with invalid state
-statemerge --- control paths merge with storage in incompatible states
-macroredef --- macro redefined
-macrounrecog --- unrecognized identifier in macro
-macroconstdecl --- non-parameterized macro without prototype or specification
-macrostmt --- macro definition is syntactically not equivalent to function
-macroempty --- macro definition for is empty
-macroparams --- macro parameter not used exactly once
-macroreturn --- return statement in macro body
-macroassign --- assignment to a macro parameter
-macroparens --- macro parameter used without parentheses (in potentially
-dangerous context)
-macrodecl --- macro without prototype or specification (sets macrofcndecl and
-macroconstdecl)
-macrofcndecl --- parameterized macro without prototype or specification
-sefparams --- a parameter with side-effects is passed as a sef parameter
-sefuncon --- a parameter with unconstrained side-effects is passed as a sef
-parameter
-constmacros --- check all macros without parameter lists as constants
-fcnmacros --- check all macros with parameter lists as functions
-allmacros --- sets fcnmacros and constmacros
-libmacros --- check all macros with declarations in library as functions
-specmacros --- check all macros corresponding to specified functions or
-constants
-macromatchname --- macro definition does not match iter or constant declaration
-nextlinemacros --- the line after a constant or iter declaration must be a
-macro definition
-iterbalance --- iter is not balanced with end_<iter>
-iteryield --- iter yield parameter is inappropriate
-hasyield --- iter declaration has no yield parameters
-namechecks --- controls name checking without changing other settings
-czech --- czech naming convention (sets accessczech, czechfunctions, czechvars,
-czechconstants, czechenums, and czechmacros)
-czechfcns --- czech naming convention violated in a function or iterator
-declaration
-czechvars --- czech naming convention violated in a variable declaration
-czechmacros --- czech naming convention violated in an expanded macro name
-czechconsts --- czech naming convention violated in a constant declaration
-czechtypes --- czech naming convention violated in a user-defined type
-definition
-slovak --- slovak naming convention violated
-slovakfcns --- slovak naming convention violated in a function or iterator
-declaration
-slovakmacros --- slovak naming convention violated in an expanded macro name
-slovakvars --- slovak naming convention violated in a variable declaration
-slovakconsts --- slovak naming convention violated in a constant declaration
-slovaktypes --- slovak naming convention violated in a use-defined type
-definition
-czechoslovak --- czech or slovak naming convention violated
-czechoslovakfcns --- czechoslovak naming convention violated in a function or
-iterator declaration
-czechoslovakmacros --- czechoslovak naming convention violated in an expanded
-macro name
-czechoslovakvars --- czechoslovak naming convention violated in a variable
-declaration
-czechoslovakconsts --- czechoslovak naming convention violated in a constant
-declaration
-czechoslovaktypes --- czechoslovak naming convention violated in a user-defined
-type definition
-macrovarprefix --- set namespace prefix for variables declared in a macro body
-macrovarprefixexclude --- the macrovarprefix may not be used for non-macro
-variables
-tagprefix --- set namespace prefix for struct, union and enum tags
-tagprefixexclude --- the tagprefix may not be used for non-tag identifiers
-enumprefix --- set namespace prefix for enum members
-enumprefixexclude --- the enumprefix may not be used for non-enum member
-identifiers
-filestaticprefix --- set namespace prefix for file static declarations
-filestaticprefixexclude --- the filestaticprefix may not be used for
-identifiers that are not file static
-globalprefix --- set namespace prefix for global variables
-globalprefixexclude --- the globalprefix may not be used for non-global
-identifiers
-typeprefix --- set namespace prefix for user-defined types
-typeprefixexclude --- the typeprefix may not be used for identifiers that are
-not type names
-externalprefix --- set namespace prefix for external identifiers
-externalprefixexclude --- the externalprefix may not be used for non-external
-identifiers
-localprefix --- set namespace prefix for local variables
-localprefixexclude --- the localprefix may not be used for non-local
-identifiers
-uncheckedmacroprefix --- set namespace prefix for unchecked macros
-uncheckedmacroprefixexclude --- the uncheckmacroprefix may not be used for
-identifiers that are not unchecked macros
-constprefix --- set namespace prefix for constants
-constprefixexclude --- the constprefix may not be used for non-constant
-identifiers
-iterprefix --- set namespace prefix for iterators
-iterprefixexclude --- the iterprefix may not be used for non-iter identifiers
-protoparamprefix --- set namespace prefix for parameters in function prototype
-declarations
-isoreserved --- external name conflicts with name reserved for system or
-standard library
-cppnames --- external or internal name is a C++ keyword or reserved word
-isoreservedinternal --- internal name conflicts with name reserved for system
-or standard library
-distinctexternalnames --- external name is not distinguishable from another
-external name using the number of significant characters
-externalnamelen --- set the number of significant characters in an external
-name
-externalnamecaseinsensitive --- alphabetic comparisons for external names are
-case-insensitive
-distinctinternalnames --- internal name is not distinguishable from another
-internal name using the number of significant characters
-internalnamelen --- set the number of significant characters in an internal
-name
-internalnamecaseinsensitive --- set whether case is significant an internal
-names (-internalnamecaseinsensitive means case is significant)
-internalnamelookalike --- lookalike characters match in internal names
-protoparamname --- a parameter in a function prototype has a name
-protoparammatch --- the name of a parameter in a function prototype and
-corresponding declaration must match (after removing the protoparamprefix
-protoparamprefixexclude --- the protoparamprefix may not be used for
-non-declaraction parameter identifiers
-topuse --- declaration at top level not used
-exportlocal --- a declaration is exported but not used outside this module
-exportheader --- a declaration is exported but does not appear in a header file
-exportheadervar --- a variable declaration is exported but does not appear in a
-header file
-fielduse --- field of structure type not used
-enummemuse --- member of an enum type not used
-constuse --- constant declared but not used
-fcnuse --- function declared but not used
-paramuse --- function parameter not used 
-typeuse --- type declared but not used
-varuse --- variable declared but not used
-unusedspecial --- unused declaration in special file (corresponding to .l or .y
-file)
-declundef --- function or variable declared but never defined
-specundef --- function or variable specified but never defined
-specundecl --- function or variable specified but never declared in a source
-file
-newdecl --- report new global declarations in source files
-needspec --- information in specifications is not also included in syntactic
-comments
-nolib --- do not load standard library
-isolib --- use normal standard library
-strictlib --- interpret standard library strictly
-unixlib --- use UNIX (sort-of) standard library
-unixstrictlib --- use strict version of UNIX (sort-of) library
-posixlib --- use POSIX standard library
-posixstrictlib --- use strict POSIX standard library
-whichlib --- show standard library filename
-warnposixheaders --- a POSIX header is included, but the POSIX library is not
-used
-warnunixlib --- warn when the unix library is used
-usevarargs --- non-standard <varargs.h> included
-dump --- save state for merging (default suffix .lcd)
-load --- load state from dump file (default suffix .lcd)
-singleinclude --- optimize header inclusion to eliminate redundant includes
-neverinclude --- optimize header inclusion to not include any header files
-skipsysheaders --- do not include header files in system directories (set by
--sysdirs)
-gnuextensions --- support some gnu (gcc) language extensions
-noparams --- function declaration has no parameter list
-oldstyle --- old style function definition
-maintype --- type of main does not match expected type
-exitarg --- argument to exit has implementation defined behavior
-shadow --- declaration reuses name visible in outer scope
-incondefslib --- function, variable or constant defined in a library is
-redefined with inconsistent type
-overload --- library function overloaded
-nestedextern --- an extern declaration is inside a function scope
-redecl --- function or variable redeclared
-redef --- function or variable redefined
-imptype --- variable declaration has unknown (implicitly int) type
-tmpdir --- set directory for writing temp files
-larchpath --- set path for searching for library files (overrides LARCH_PATH
-environment variable)
-lclimportdir --- set directory to search for LCL import files (overrides
-LCLIMPORTDIR)
-sysdirs --- set directories for system files (default /usr/include). Separate
-directories with path separator (colons in Unix, semi-colons in Windows). Flag
-settings propagate to files in a system directory. If -sysdirerrors is set, no
-errors are reported for files in system directories.
-skipansiheaders --- prevent inclusion of header files in a system directory
-with names that match standard ANSI headers. The symbolic information in the
-standard library is used instead.  Flag in effect only if a library including
-the ANSI library is loaded.  The ANSI headers are:
-assert, ctype, errno, float, limits, locale, math, setjmp, signal, stdarg,
-stddef, stdio, stdlib, strings, string, time, and wchar.
-skipposixheaders --- prevent inclusion of header files in a system directory
-with names that match standard POSIX headers. The symbolic information in the
-posix library is used instead.  The POSIX headers are:
-dirent, fcntl, grp, pwd, termios, sys/stat, sys/times, sys/types, sys/utsname,
-sys/wait, unistd, and utime.
-sysdirerrors --- report errors in files in system directories (set by -sysdirs)
-sysdirexpandmacros --- expand macros in system directories regardless of other
-settings, except for macros corresponding to names defined in a load library
-I<directory> --- add to C include path
-S<directory> --- add to spec path
-exportany --- variable, function or type exported but not specified
-exportfcn --- function exported but not specified
-exportmacro --- expanded macro exported but not specified
-exporttype --- type definition exported but not specified
-exportvar --- variable exported but not specified
-exportconst --- constant exported but not specified
-exportiter --- constant exported but not specified
-linelen --- set length of messages (number of chars)
-indentspaces --- set number of spaces to indent sub-messages
-showcolumn --- show column number where error is found
-parenfileformat --- show column number where error is found
-showfunc --- show name of function containing error
-showallconjs --- show all possible types
-impconj --- make all alternate types implicit (useful for making system
-libraries
-expect --- expect <int> code errors
-lclexpect --- expect <int> spec errors
-partial --- check as partial system (-specundef, -declundef, -exportlocal,
-don't check macros in headers without corresponding .c files)
-lh --- generate .lh files
-lcs --- generate .lcs files
-warnflags --- warn when command line sets flag in abnormal way
-warnrc --- warn when there are problems with reading the initialization files
-badflag --- warn about bad command line flags
-fileextensions --- warn when command line file does not have a recognized
-extension
-help --- -help <flags> will describe flags
-f --- read an options file (default ~/.splintrc not loaded)
-i --- set LCL initilization file
-nof --- do not read options file
-commentchar --- set marker character for syntactic comments (default is '@')
-controlnestdepth --- set maximum nesting depth of compound statements,
-iteration control structures, and selection control structures (ANSI89 minimum
-is 15; ISO99 is 63)
-stringliterallen --- set maximum length of string literals (ANSI89 minimum is
-509; ISO99 is 4095)
-numstructfields --- set maximum number of fields in a struct or union (ANSI89
-minimum is 127; ISO99 is 1023)
-numenummembers --- set maximum number of members of an enum (ANSI89 minimum is
-127; ISO99 is 1023)
-includenest --- set maximum number of nested #include files (ANSI89 minimum is
-8; ISO99 is 63)
-ansi89limits --- check for violations of standard limits (controlnestdepth,
-stringliterallen, includenest, numstructfields, numenummembers) based on ANSI89
-standard
-iso99limits --- check for violations of standard limits (controlnestdepth,
-stringliterallen, includenest, numstructfields, numenummembers) based on ISO99
-standard
-D<initializer> --- passed to pre-processor
-U<initializer> --- passed to pre-processor
-unrecogdirective --- unrecognized pre-processor directive
-supcounts --- The number of errors detected does not match number in
-/*@i<n>@*/.
-limit --- limit <int> consecutive repeated errors
-syntax --- syntax error in parsing
-trytorecover --- try to recover from parse error
-preproc --- preprocessing error
-type --- type mismatch
-stringliteraltoolong --- string literal too long for character array
-stringliteralnoroom --- string literal leaves no room for null terminator
-stringliteralsmaller --- string literal is smaller than the char array it is
-assigned to
-enummembers --- enum members must be int values
-formattype --- type-mismatch in parameter corresponding to format code in a
-printf or scanf-like function
-formatconst --- format parameter is not a string constant (hence variable
-arguments cannot be typechecked)
-formatcode --- invalid format code in format string for printf or scanf-like
-function
-forwarddecl --- forward declarations of pointers to abstract representation
-match abstract type
-voidabstract --- void * matches pointers to abstract types, casting ok
-(dangerous)
-castfcnptr --- a pointer to a function is cast to a pointer to void (or vice
-versa)
-charindex --- char can be used to index arrays
-enumindex --- enum can be used to index arrays
-boolint --- bool and int are equivalent
-charint --- char and int are equivalent
-enumint --- enum and int are equivalent
-floatdouble --- float and double are equivalent
-ignorequals --- ignore type qualifiers (long, short, unsigned)
-duplicatequals --- report duplicate type qualifiers (e.g., unsigned unsigned)
-ignoresigns --- ignore signs in type comparisons (unsigned matches signed)
-numliteral --- int literals can be reals
-charintliteral --- character constants (e.g., 'a') can be used as ints
-relaxquals --- report qualifier mismatches only if dangerous
-relaxtypes --- allow all numeric types to match
-charunsignedchar --- allow char and unsigned char types to match
-matchanyintegral --- allow any intergral type to match an arbitrary integral
-type (e.g., dev_t)
-longunsignedintegral --- allow long unsigned type to match an arbitrary
-integral type (e.g., dev_t)
-longintegral --- allow long type to match an arbitrary integral type (e.g.,
-dev_t)
-longunsignedunsignedintegral --- allow long unsigned type to match an arbitrary
-unsigned integral type (e.g., size_t)
-longsignedintegral --- allow long type to match an arbitrary signed integral
-type (e.g., ssize_t)
-zeroptr --- tread 0 as a pointer
-zerobool --- treat 0 as a boolean
-repeatunrecog --- do not suppress repeated unrecognized identifier messages
-(instead of only reporting the first error)
-sysunrecog --- report unrecognized identifiers with system (__) prefix
-unrecog --- unrecognized identifier
-annotationerror --- annotation is used in inconsistent location
-commenterror --- inconsistent syntactic comment
-warnuse --- warn when declaration marked with warn is used
-bufferoverflow --- possible buffer overflow vulnerability
-bufferoverflowhigh --- likely buffer overflow vulnerability
-implementationoptional --- declarator is implementation optional (ISO99 does
-not require an implementation to provide it)
-legacy --- legacy declaration in Unix Standard
-multithreaded --- function is not reentrant
-portability --- function may have undefined behavior
-superuser --- function is restricted to superusers
-toctou --- possible time of check, time of use vulnerability
-unixstandard --- function is not required in Standard UNIX Specification
-its4mostrisky --- most risky security vulnerabilities (from its4 database)
-its4veryrisky --- very risky security vulnerabilities (from its4 database)
-its4risky --- risky security vulnerabilities (from its4 database)
-its4moderate --- moderately risky security vulnerabilities (from its4 database)
-its4low --- risky security vulnerabilities (from its4 database)
-nocomments --- ignore all stylized comments
-noaccess --- ignore access comments
-unrecogcomments --- stylized comment is unrecognized
-unrecogflagcomments --- stylized flag comment uses an unrecognized flag
-tmpcomments --- interpret t comments (ignore errors in lines marked with
-/*@t<n>@*/
-lintcomments --- interpret traditional lint comments (/*FALLTHROUGH*/,
-/*NOTREACHED*/)
-warnlintcomments --- warn when a traditional lint comment is used
-continuecomment --- line continuation marker (\) in comment before */ on same
-line
-slashslashcomment --- use of // comment
-nestcomment --- comment begins inside comment
-quiet --- suppress herald and error count
-usestderr --- send error messages to standard error (instead of standard out)
-showsummary --- show summary of all errors reported and suppressed
-showscan --- show file names are they are processed
-stats --- display lines processed and time
-timedist --- display time distribution
-showalluses --- show sorted list of uses of all globals
-hints --- provide a hint the first time a particular warning appears
-forcehints --- provide a hint for every warnings
-bugslimit --- set maximum number of bugs detected before giving up
-debugfcnconstraint --- debug function constraints
-grammar --- debug parsing
-keep --- do not delete temporary files
-nopp --- do not pre-process input files
-showsourceloc --- display the source code location where a warning is produced
-
-
-D<initializer>
-   passed to pre-processor
-   Category: preproc
-   Default Setting: -
-   Set globally only
-   
-I<directory>
-   add to C include path
-   Categories: directories, headers
-   Default Setting: -
-   Set globally only
-   
-S<directory>
-   add to spec path
-   Categories: directories, specifications
-   Default Setting: -
-   Set globally only
-   
-U<initializer>
-   passed to pre-processor
-   Category: preproc
-   Default Setting: -
-   Set globally only
-   
-abstract
-   data abstraction barriers
-   Category: abstract
-   Default Setting: +
-   Set locally
-      An abstraction barrier is broken. If necessary, use /*@access <type>@*/
-      to allow access to an abstract type.
-      
-accessall
-   set accessmodule, accessfile and accessczech
-   Categories: abstract, names
-   Default Setting: -
-   Set locally
-      Sets accessmodule, accessfile and accessczech
-      
-accessczech
-   allow access to abstract types by czech naming convention
-   Categories: abstract, names
-   Default Setting: +
-   Set locally
-      The representation of an abstract type named <t> is accessible in the
-      definition of a function or constant named <t>_<name>
-      
-accessczechoslovak
-   allow access to abstract types by czechoslovak naming convention
-   Categories: abstract, names
-   Default Setting: -
-   Set locally
-      The representation of an abstract type named <t> is accessible in the
-      definition of a function or constant named <t>_<name> or <t><Name>
-      
-accessfile
-   allow access to abstract types by file name convention
-   Categories: abstract, names
-   Default Setting: +
-   Set locally
-      The representation of an abstract type named <t> is accessible anywhere
-      in a file named <t>.<x>.
-      
-accessmodule
-   allow access to abstract types in definition module
-   Categories: abstract, names
-   Default Setting: +
-   Set locally
-      The representation of an abstract type defined in <M>.<x> is accessible
-      anywhere in a file named <M>.<y>.
-      
-accessslovak
-   allow access to abstract types by slovak naming convention
-   Categories: abstract, names
-   Default Setting: -
-   Set locally
-      The representation of an abstract type named <t> is accessible in the
-      definition of a function or constant named <t><Name>
-      
-aliasunique
-   unique parameter is aliased
-   Categories: aliasing, memory
-   Mode Settings: -+++
-   Set locally
-      A unique or only parameter is aliased by some other parameter or visible
-      global.
-      
-allblock
-   the body of an if, while or for statement is not a block (sets ifblock,
-   whileblock and forblock)
-   Category: controlflow
-   Default Setting: -
-   Set locally
-      Body is a single statement, not a compound block.
-      
-allempty
-   an if, while or for statement has no body (sets ifempty, whileempty and
-   forempty
-   Category: controlflow
-   Default Setting: -
-   Set locally
-   
-allglobs
-   report use and modification errors for globals not annotated with unchecked
-   Categories: globals, implicit
-   Mode Settings: --++
-   Set locally
-   
-allimponly
-   sets globimponly, retimponly, structimponly, specglobimponly, specretimponly
-   and specstructimponly
-   Categories: memory, implicit
-   Default Setting: -
-   Set locally
-   
-allmacros
-   sets fcnmacros and constmacros
-   Category: macros
-   Default Setting: -
-   Set locally
-      All macros (not preceded by /*@notfunction@*/) are checked as functions
-      or constants depending on whether or not they have parameter lists.
-      
-alwaysexits
-   loop predicate always exits
-   Category: controlflow
-   Default Setting: +
-   Set locally
-   
-annotationerror
-   annotation is used in inconsistent location
-   Categories: declarations, 
-   Default Setting: +
-   Set locally
-      A declaration uses an invalid annotation.
-      
-ansi89limits
-   check for violations of standard limits (controlnestdepth, stringliterallen,
-   includenest, numstructfields, numenummembers) based on ANSI89 standard
-   Categories: limits, ansi
-   Default Setting: -
-   Set locally
-   
-assignexpose
-   abstract representation is exposed (assignments only)
-   Categories: exposure, abstract
-   Mode Settings: --++
-   Set locally
-      Storage internal to the representation of an abstract type is assigned to
-      an external pointer. This means clients may have access to a pointer into
-      the abstract representation. If the external pointer is a parameter, the
-      exposed qualifier can be used to allow the assignment, however, this is
-      considered dangerous programming practice.
-      
-badflag
-   warn about bad command line flags
-   Category: help
-   Default Setting: +
-   Set locally
-      A flag is not recognized or used in an incorrect way
-      
-bitwisesigned
-   a bitwise logical operator does not have unsigned operands
-   Categories: operations, 
-   Mode Settings: ---+
-   Set locally
-      An operand to a bitwise operator is not an unsigned values.  This may
-      have unexpected results depending on the signed representations.
-      
-boolcompare
-   comparison between bools (dangerous because of multiple TRUE values)
-   Categories: booleans, operations
-   Mode Settings: -+++
-   Set locally
-      Two bool values are compared directly using a C primitive. This may
-      produce unexpected results since all non-zero values are considered TRUE,
-      so different TRUE values may not be equal. The file bool.h (included in
-      splint/lib) provides bool_equal for safe bool comparisons.
-      
-boolfalse
-   set name of boolean false (default FALSE)
-   Category: booleans
-   Default Setting: -
-   Set locally
-   String argument.  Default: FALSE
-   
-boolint
-   bool and int are equivalent
-   Categories: typeequivalence, booleans
-   Mode Settings: +---
-   Set locally
-      To make bool and int types equivalent, use +boolint.
-      
-boolops
-   primitive operation (!, && or ||) does not has a boolean argument
-   Categories: booleans, operations
-   Mode Settings: -+++
-   Set locally
-      The operand of a boolean operator is not a boolean. Use +ptrnegate to
-      allow ! to be used on pointers.
-      
-booltrue
-   set name of boolean true (default TRUE)
-   Category: booleans
-   Default Setting: -
-   Set locally
-   String argument.  Default: TRUE
-   
-booltype
-   set name of boolean type (default bool)
-   Category: booleans
-   Default Setting: -
-   Set locally
-   String argument.  Default: lltX_bool
-   
-bounds
-   memory bounds checking (sets boundsread and boundswrite)
-   Categories: memorybounds, memory
-   Default Setting: -
-   Set locally
-      Memory read or write may be out of bounds of allocated storage.
-      
-boundsread
-   possible out of bounds read
-   Categories: memorybounds, memory
-   Mode Settings: ----
-   Set locally
-      A memory read references memory beyond the allocated storage.
-      
-boundswrite
-   possible buffer overflow from an out of bounds write
-   Categories: memorybounds, memory
-   Mode Settings: ----
-   Set locally
-      A memory write may write to an address beyond the allocated buffer.
-      
-branchstate
-   storage has inconsistent states of alternate paths through a branch
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      The state of a variable is different depending on which branch is taken.
-      This means no annotation can sensibly be applied to the storage.
-      
-bufferoverflow
-   possible buffer overflow vulnerability
-   Categories: warnuse, security
-   Mode Settings: -+++
-   Set locally
-      Use of function that may lead to buffer overflow.
-      
-bufferoverflowhigh
-   likely buffer overflow vulnerability
-   Categories: warnuse, security
-   Mode Settings: ++++
-   Set locally
-      Use of function that may lead to buffer overflow.
-      
-bugslimit
-   set maximum number of bugs detected before giving up
-   Category: debug
-   Default Setting: -
-   Set locally
-   Numeric Argument.  Default: 3
-   
-casebreak
-   non-empty case in a switch without preceding break
-   Category: controlflow
-   Mode Settings: -+++
-   Set locally
-      Execution falls through from the previous case.
-      
-castexpose
-   abstract representation is exposed through a cast
-   Categories: exposure, abstract
-   Mode Settings: --++
-   Set locally
-      Storage internal to the representation of an abstract type is exposed
-      through a type cast. This means clients may have access to a pointer into
-      the abstract representation.
-      
-castfcnptr
-   a pointer to a function is cast to a pointer to void (or vice versa)
-   Categories: typeequivalence, pointers
-   Default Setting: +
-   Set locally
-      A pointer to a function is cast to (or used as) a pointer to void (or
-      vice versa).
-      
-charindex
-   char can be used to index arrays
-   Categories: typeequivalence, arrays
-   Mode Settings: +---
-   Set locally
-      To allow char types to index arrays, use +charindex.
-      
-charint
-   char and int are equivalent
-   Category: typeequivalence
-   Mode Settings: +---
-   Set locally
-      To make char and int types equivalent, use +charint.
-      
-charintliteral
-   character constants (e.g., 'a') can be used as ints
-   Categories: typeequivalence, numbers
-   Mode Settings: +---
-   Set locally
-      A character constant is used as an int. Use +charintliteral to allow
-      character constants to be used as ints.  (This is safe since the actual
-      type of a char constant is int.)
-      
-charunsignedchar
-   allow char and unsigned char types to match
-   Category: typeequivalence
-   Mode Settings: +---
-   Set locally
-      To allow char and unsigned char types to match use +charunsignedchar.
-      
-checkedglobalias
-   function returns with a checked global aliasing external state
-   Categories: aliasing, globals
-   Mode Settings: -+++
-   Set locally
-      A global variable aliases externally-visible state when the function
-      returns.
-      
-checkmodglobalias
-   function returns with a checkmod global aliasing external state
-   Categories: aliasing, globals
-   Mode Settings: -+++
-   Set locally
-      A global variable aliases externally-visible state when the function
-      returns.
-      
-checkpost
-   unable to verify predicate in ensures clause
-   Categories: memorybounds, memory
-   Mode Settings: ----
-   Set locally
-      The function implementation may not satisfy a post condition given in an
-      ensures clause.
-      
-checkstrictglobalias
-   function returns with a checkstrict global aliasing external state
-   Categories: aliasing, globals
-   Mode Settings: -+++
-   Set locally
-      A global variable aliases externally-visible state when the function
-      returns.
-      
-checkstrictglobs
-   report use and modification errors for checkedstrict globals
-   Categories: globals, unconstrained
-   Mode Settings: ++++
-   Set locally
-   
-codeimponly
-   sets globimponly, retimponly and structimponly
-   Categories: memory, implicit
-   Default Setting: -
-   Set locally
-   
-commentchar
-   set marker character for syntactic comments (default is '@')
-   Categories: initializations, comments
-   Default Setting: -
-   Set locally
-   Character Argument.  Default: @
-      Set the marker character for syntactic comments. Comments beginning with
-      /*<char> are interpreted by Splint, where <char> is the comment marker
-      character.
-      
-commenterror
-   inconsistent syntactic comment
-   Categories: declarations, 
-   Default Setting: +
-   Set locally
-      A syntactic comment is used inconsistently.
-      
-compdef
-   parameter, return value or global completely defined
-   Categories: memory, definition
-   Mode Settings: -+++
-   Set locally
-      Storage derivable from a parameter, return value or global is not
-      defined. Use /*@out@*/ to denote passed or returned storage which need
-      not be defined.
-      
-compdestroy
-   all only references derivable from void pointer out only parameter are
-   released
-   Categories: memory, leaks
-   Mode Settings: -+++
-   Set locally
-      A storage leak due to incomplete deallocation of a structure or deep
-      pointer is suspected. Unshared storage that is reachable from a reference
-      that is being deallocated has not yet been deallocated. Splint assumes
-      when an object is passed as an out only void pointer that the outer
-      object will be deallocated, but the inner objects will not.
-      
-compmempass
-   actual parameter matches alias kind of formal parameter completely 
-   Categories: memory, definition
-   Mode Settings: -+++
-   Set locally
-      Storage derivable from a parameter does not match the alias kind expected
-      for the formal parameter.
-      
-constmacros
-   check all macros without parameter lists as constants
-   Category: macros
-   Default Setting: -
-   Set locally
-      Every non-parameterized macro (not preceded by /*@notfunction@*/) is
-      checked as a constant.
-      
-constprefix
-   set namespace prefix for constants
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      A constant does not start with the constantprefix
-      
-constprefixexclude
-   the constprefix may not be used for non-constant identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not a constant starts with the constantprefix.
-      
-constuse
-   constant declared but not used
-   Category: alluse
-   Mode Settings: -+++
-   Set locally
-      A constant is declared but not used. Use unused in the constant
-      declaration to suppress message.
-      
-continuecomment
-   line continuation marker (\) in comment before */ on same line
-   Categories: comments, 
-   Default Setting: -
-   Set locally
-      A line continuation marker (\) appears inside a comment on the same line
-      as the comment close. Preprocessors should handle this correctly, but it
-      causes problems for some preprocessors.
-      
-controlnestdepth
-   set maximum nesting depth of compound statements, iteration control
-   structures, and selection control structures (ANSI89 minimum is 15;
-   ISO99 is 63)
-   Categories: limits, ansi
-   Mode Settings: ---+
-   Set locally
-   Numeric Argument.  Default: 63
-      Maximum number of control levels exceeded.
-      
-cppnames
-   external or internal name is a C++ keyword or reserved word
-   Categories: names, ansi
-   Mode Settings: --++
-   Set locally
-      External name is a C++ keyword or reserved word. This could lead to
-      problems if the code is compiled with a C++ compiler.
-      
-czech
-   czech naming convention (sets accessczech, czechfunctions, czechvars,
-   czechconstants, czechenums, and czechmacros)
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Name is not consistent with Czech naming convention.
-      
-czechconsts
-   czech naming convention violated in a constant declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Constant name is not consistent with Czech naming convention.
-      
-czechfcns
-   czech naming convention violated in a function or iterator declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Function or iterator name is not consistent with Czech naming convention.
-      
-czechmacros
-   czech naming convention violated in an expanded macro name
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Expanded macro name is not consistent with Czech naming convention.
-      
-czechoslovak
-   czech or slovak naming convention violated
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Name is not consistent with either Czech or Slovak naming convention.
-      
-czechoslovakconsts
-   czechoslovak naming convention violated in a constant declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Constant name is not consistent with Czechoslovak naming convention.
-      
-czechoslovakfcns
-   czechoslovak naming convention violated in a function or iterator
-   declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Function name is not consistent with Czechoslovak naming convention.
-      
-czechoslovakmacros
-   czechoslovak naming convention violated in an expanded macro name
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Expanded macro name is not consistent with Czechoslovak naming
-      convention.
-      
-czechoslovaktypes
-   czechoslovak naming convention violated in a user-defined type definition
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Type name is not consistent with Czechoslovak naming convention.
-      Czechoslovak type names may not include uppercase letters or the
-      underscore character.
-      
-czechoslovakvars
-   czechoslovak naming convention violated in a variable declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Variable name is not consistent with Czechoslovak naming convention.
-      
-czechtypes
-   czech naming convention violated in a user-defined type definition
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Type name is not consistent with Czech naming convention. Czech type
-      names must not use the underscore character.
-      
-czechvars
-   czech naming convention violated in a variable declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Variable name is not consistent with Czech naming convention.
-      
-debugfcnconstraint
-   debug function constraints
-   Categories: debug, memorybounds
-   Mode Settings: ----
-   Set locally
-      Perform buffer overflow checking even if the errors would be surpressed.
-      
-declundef
-   function or variable declared but never defined
-   Category: complete
-   Mode Settings: --++
-   Set locally
-      A function or variable is declared, but not defined in any source code
-      file.
-      
-deepbreak
-   break inside nested while or for or switch
-   Category: controlflow
-   Default Setting: -
-   Set locally
-      A break statement appears inside the body of a nested while, for or
-      switch statement. Sets looploopbreak, loopswitchbreak, switchloopbreak,
-      switchswitchbreak, and looploopcontinue.
-      
-deparrays
-   array elements are dependent storage
-   Categories: memory, arrays
-   Mode Settings: --++
-   Set locally
-      When an element is fetched from an array, Splint analysis is not able to
-      determine if the same element is reused. If +deparrays, Splint will mark
-      local storage assigned from array fetches as dependent.
-      
-dependenttrans
-   dependent transfer errors
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Dependent storage is transferred to a non-dependent reference.
-      
-distinctexternalnames
-   external name is not distinguishable from another external name using the
-   number of significant characters
-   Categories: names, ansi
-   Default Setting: -
-   Set locally
-      An external name is not distinguishable from another external name using
-      the number of significant characters. According to ANSI Standard (3.1),
-      an implementation may only consider the first 6 characters significant,
-      and ignore alphabetical case distinctions (ISO C99 requires 31). The
-      +externalnamelen <n> flag may be used to change the number of significant
-      characters, and -externalnamecaseinsensitive to make alphabetical case
-      significant in external names.
-      
-distinctinternalnames
-   internal name is not distinguishable from another internal name using the
-   number of significant characters
-   Categories: names, ansi
-   Default Setting: -
-   Set locally
-      An internal name is not distinguishable from another internal name using
-      the number of significant characters. According to ANSI89 Standard (3.1),
-      an implementation may only consider the first 31 characters significant
-      (ISO C99 specified 63). The +internalnamelen <n> flag changes the number
-      of significant characters, -internalnamecaseinsensitive to makes
-      alphabetical case significant, and +internalnamelookalike to make
-      similar-looking characters non-distinct.
-      
-dump
-   save state for merging (default suffix .lcd)
-   Categories: libraries, files
-   Default Setting: -
-   Set globally only
-   Filename argument.  No default.
-   
-duplicatecases
-   duplicate cases in switch
-   Category: controlflow
-   Default Setting: +
-   Set locally
-      Duplicate cases in switch.
-      
-duplicatequals
-   report duplicate type qualifiers (e.g., unsigned unsigned)
-   Categories: typeequivalence, 
-   Default Setting: +
-   Set locally
-      Duplicate type qualifiers not supported by ISO standard.
-      
-elseifcomplete
-   if ... else if chains must have final else
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      There is no final else following an else if construct.
-      
-emptyreturn: <invalid flag>
-
-enumindex
-   enum can be used to index arrays
-   Categories: typeequivalence, arrays
-   Mode Settings: ----
-   Set locally
-      To allow enum types to index arrays, use +enumindex.
-      
-enumint
-   enum and int are equivalent
-   Category: typeequivalence
-   Mode Settings: ++--
-   Set locally
-      To make enum and int types equivalent, use +enumint.
-      
-enummembers
-   enum members must be int values
-   Mode Settings: ----
-   Set locally
-      Type of initial values for enum members must be int.
-      
-enummemuse
-   member of an enum type not used
-   Category: alluse
-   Mode Settings: -+++
-   Set locally
-      A member of an enum type is never used.
-      
-enumprefix
-   set namespace prefix for enum members
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      An enum member does not start with the enumprefix.
-      
-enumprefixexclude
-   the enumprefix may not be used for non-enum member identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not an enum member starts with the enumprefix.
-      
-evalorder
-   code has unspecified or implementation-dependent behavior because of order
-   of evaluation
-   Categories: undefined, ansi
-   Mode Settings: -+++
-   Set locally
-      Code has unspecified behavior. Order of evaluation of function parameters
-      or subexpressions is not defined, so if a value is used and modified in
-      different places not separated by a sequence point constraining
-      evaluation order, then the result of the expression is unspecified.
-      
-evalorderuncon
-   code involving call to unspecified function has undefined or
-   implementation-dependent behavior
-   Categories: undefined, ansi
-   Mode Settings: ---+
-   Set locally
-      Code involving a call to function with no modifies or globals clause may
-      have undefined or implementation-dependent behavior (Splint assumes the
-      unconstrained call may modify any reachable state or use any global). Add
-      a specification for the function.
-      
-exitarg
-   argument to exit has implementation defined behavior
-   Categories: systemfunctions, undefined
-   Mode Settings: -+++
-   Set locally
-      The argument to exit should be 0, EXIT_SUCCESS or EXIT_FAILURE
-      
-expect
-   expect <int> code errors
-   Categories: <No Category>, errors
-   Default Setting: -
-   Set globally only
-   Numeric Argument.  Default: 0
-   
-exportany
-   variable, function or type exported but not specified
-   Categories: export, specifications
-   Default Setting: -
-   Set locally
-      A variable, function or type is exported, but not specified.
-      
-exportconst
-   constant exported but not specified
-   Categories: export, specifications
-   Mode Settings: ---+
-   Set locally
-      A constant is exported, but not specified.
-      
-exportfcn
-   function exported but not specified
-   Categories: export, specifications
-   Mode Settings: ---+
-   Set locally
-      A function is exported, but not specified.
-      
-exportheader
-   a declaration is exported but does not appear in a header file
-   Categories: alluse, export
-   Mode Settings: --++
-   Set locally
-      A declaration is exported, but does not appear in a header file.
-      
-exportheadervar
-   a variable declaration is exported but does not appear in a header file
-   Categories: alluse, export
-   Mode Settings: --++
-   Set locally
-      A variable declaration is exported, but does not appear in a header file.
-      (Used with exportheader.)
-      
-exportiter
-   constant exported but not specified
-   Categories: export, specifications
-   Mode Settings: ---+
-   Set locally
-      A constant is exported, but not specified.
-      
-exportlocal
-   a declaration is exported but not used outside this module
-   Categories: alluse, export
-   Mode Settings: -+++
-   Set locally
-      A declaration is exported, but not used outside this module. Declaration
-      can use static qualifier.
-      
-exportmacro
-   expanded macro exported but not specified
-   Categories: export, specifications
-   Mode Settings: ---+
-   Set locally
-      A macro is exported, but not specified.
-      
-exporttype
-   type definition exported but not specified
-   Categories: export, specifications
-   Mode Settings: ---+
-   Set locally
-      A type is exported, but not specified.
-      
-exportvar
-   variable exported but not specified
-   Categories: export, specifications
-   Mode Settings: ---+
-   Set locally
-      A variable is exported, but not specified.
-      
-exposetrans
-   exposure transfer errors
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Exposed storage is transferred to a non-exposed, non-observer reference.
-      
-externalnamecaseinsensitive
-   alphabetic comparisons for external names are case-insensitive
-   Categories: names, ansi
-   Default Setting: +
-   Set locally
-      Make alphabetic case insignificant in external names. By ANSI89 standard,
-      case need not be significant in an external name. If +distinctexternalname
-      s is not set, sets +distinctexternalnames with unlimited external name
-      length.
-      
-externalnamelen
-   set the number of significant characters in an external name
-   Categories: names, ansi
-   Default Setting: -
-   Set locally
-   Numeric Argument.  Default: 31
-      Sets the number of significant characters in an external name (default is
-      6 for old ANSI89 limit, C99 requires 31). Sets +distinctexternalnames.
-      
-externalprefix
-   set namespace prefix for external identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      An external identifier does not start with the externalprefix
-      
-externalprefixexclude
-   the externalprefix may not be used for non-external identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not external starts with the externalprefix.
-      
-f
-   read an options file (default ~/.splintrc not loaded)
-   Categories: initializations, files
-   Default Setting: -
-   Set globally only
-   Filename argument.  No default.
-      Read an options file (instead of loading default ~/.splintc)
-      
-fcnderef
-   dereferencce of a function type
-   Mode Settings: --++
-   Set locally
-      A function type is dereferenced.  The ANSI standard allows this because
-      of implicit conversion of function designators, however the dereference
-      is unnecessary.
-      
-fcnmacros
-   check all macros with parameter lists as functions
-   Category: macros
-   Default Setting: -
-   Set locally
-      Every parameterized macro (not preceded by /*@notfunction@*/) is checked
-      as a function.
-      
-fcnpost
-   display function post conditions
-   Categories: memorybounds, display
-   Mode Settings: ----
-   Set locally
-      Display function post conditions.
-      
-fcnuse
-   function declared but not used
-   Category: alluse
-   Mode Settings: ++++
-   Set locally
-      A function is declared but not used. Use /*@unused@*/ in front of
-      function header to suppress message.
-      
-fielduse
-   field of structure type not used
-   Category: alluse
-   Mode Settings: -+++
-   Set locally
-      A field is present in a structure type but never used. Use /*@unused@*/
-      in front of field declaration to suppress message.
-      
-fileextensions
-   warn when command line file does not have a recognized extension
-   Category: help
-   Default Setting: +
-   Set locally
-   
-filestaticprefix
-   set namespace prefix for file static declarations
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      A file-static identifier does not start with the filestaticprefix.
-      
-filestaticprefixexclude
-   the filestaticprefix may not be used for identifiers that are not file
-   static
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not file static starts with the filestaticprefix.
-      
-firstcase
-   first statement in switch is not a case
-   Category: controlflow
-   Mode Settings: -+++
-   Set locally
-      The first statement after a switch is not a case.
-      
-fixedformalarray
-   formal parameter of type array is declared with size
-   Categories: declarations, 
-   Default Setting: +
-   Set locally
-      A formal parameter is declared as an array with size.  The size of the
-      array is ignored in this context, since the array formal parameter is
-      treated as a pointer.
-      
-floatdouble
-   float and double are equivalent
-   Category: typeequivalence
-   Mode Settings: +---
-   Set locally
-      To make float and double types equivalent, use +floatdouble.
-      
-forblock
-   the body of a for statement is not a block
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      Loop body is a single statement, not a compound block.
-      
-forcehints
-   provide a hint for every warnings
-   Categories: hints, format
-   Default Setting: -
-   Set locally
-      Provide a hint for every warning
-      
-forempty
-   a for statement has no body
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      For statement has no body.
-      
-forloopexec
-   assume all for loops execute at least once
-   Categories: controlflow, memory
-   Default Setting: -
-   Set locally
-   
-formalarray
-   formal parameter is an array
-   Categories: declarations, 
-   Default Setting: -
-   Set locally
-      A formal parameter is declared as an array.  This can be confusing, since
-      a formal array parameter is treated as a pointer.
-      
-formatcode
-   invalid format code in format string for printf or scanf-like function
-   Default Setting: +
-   Set locally
-      Format code in a format string is not valid.
-      
-formatconst
-   format parameter is not a string constant (hence variable arguments cannot
-   be typechecked)
-   Mode Settings: -+++
-   Set locally
-      Format parameter is not known at compile-time.  This can lead to security
-      vulnerabilities because the arguments cannot be type checked.
-      
-formattype
-   type-mismatch in parameter corresponding to format code in a printf or
-   scanf-like function
-   Default Setting: +
-   Set locally
-      Type of parameter is not consistent with corresponding code in format
-      string.
-      
-forwarddecl
-   forward declarations of pointers to abstract representation match abstract
-   type
-   Categories: typeequivalence, abstract
-   Mode Settings: +---
-   Set locally
-   
-freshtrans
-   fresh storage transferred to non-only reference (memory leak)
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Fresh storage (newly allocated in this function) is transferred in a way
-      that the obligation to release storage is not propagated.  Use the
-      /*@only@*/ annotation to indicate the a return value is the only
-      reference to the returned storage.
-      
-fullinitblock
-   initializer sets all fields
-   Category: definition
-   Default Setting: +
-   Set locally
-      Initializer does not set every field in the structure.
-      
-globalias
-   function returns with global aliasing external state (sets
-   checkstrictglobalias, checkedglobalias, checkmodglobalias and
-   uncheckedglobalias)
-   Categories: aliasing, globals
-   Default Setting: -
-   Set locally
-      A global variable aliases externally-visible state when the function
-      returns.
-      
-globalprefix
-   set namespace prefix for global variables
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      A global variable does not start with the globalprefix
-      
-globalprefixexclude
-   the globalprefix may not be used for non-global identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not a global variable starts with the globalprefix.
-      
-globimponly
-   assume unannotated global storage is only
-   Categories: memory, implicit
-   Default Setting: +
-   Set locally
-   
-globnoglobs
-   use of checked global in a function with no globals list or specification
-   Categories: globals, unconstrained
-   Mode Settings: ---+
-   Set locally
-      A specified global variable is used in the function, but not listed in
-      its globals list. Without +globnoglobs, only globals declared with
-      /*@checkedstrict@*/ will produce use errors in functions without globals
-      lists. The /*@globals ... @*/ control comment can be used to give a
-      globals list for an unspecified function.
-      
-globs
-   undocumented use of a checked global variable
-   Categories: globals, specifications
-   Default Setting: +
-   Set locally
-      A checked global variable is used in the function, but not listed in its
-      globals clause. By default, only globals specified in .lcl files are
-      checked. To check all globals, use +allglobals. To check globals
-      selectively use /*@checked@*/ in the global declaration.
-      
-globsimpmodsnothing
-   functions declared with a globals list but no modifies clause are assumed to
-   modify nothing
-   Categories: modification, globals
-   Mode Settings: --++
-   Set locally
-      An implicit modifies nothing clause is assumed for a function declared
-      with a globals list but not modifies clause.
-      
-globstate
-   returns with global in inconsistent state (null or undefined)
-   Category: globals
-   Mode Settings: -+++
-   Set locally
-      A global variable does not satisfy its annotations when control is
-      transferred.
-      
-globuse
-   global listed for a function not used
-   Categories: globals, specifications
-   Mode Settings: ++++
-   Set locally
-      A global variable listed in the function's globals list is not used in
-      the body of the function.
-      
-gnuextensions
-   support some gnu (gcc) language extensions
-   Categories: , ansi
-   Default Setting: +
-   Set locally
-      ANSI C does not allow some language features supported by gcc and other
-      compilers. Use +gnuextensions to allow some of these extensions.
-      
-grammar
-   debug parsing
-   Category: debug
-   Default Setting: -
-   Set locally
-   
-hasyield
-   iter declaration has no yield parameters
-   Category: iterators
-   Default Setting: -
-   Set locally
-      An iterator has been declared with no parameters annotated with yield.
-      This may be what you want, if the iterator is meant to do something a
-      fixed number of times, but returns no information to the calling context.
-      Probably, a parameter is missing the yield annotation to indicate that it
-      is assigned a value in the calling context.
-      
-help
-   -help <flags> will describe flags
-   Category: help
-   Default Setting: -
-   Set globally only
-      Display help
-      
-hints
-   provide a hint the first time a particular warning appears
-   Categories: hints, format
-   Default Setting: +
-   Set locally
-      Provide a hint the first time a particular warning appears
-      
-i
-   set LCL initilization file
-   Categories: initializations, files
-   Default Setting: -
-   Set globally only
-   Filename argument.  No default.
-   
-ifblock
-   the body of an if statement is not a block
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      If body is a single statement, not a compound block.
-      
-ifempty
-   an if statement has no body
-   Category: controlflow
-   Mode Settings: ++++
-   Set locally
-      If statement has no body.
-      
-ignorequals
-   ignore type qualifiers (long, short, unsigned)
-   Categories: typeequivalence, numbers
-   Mode Settings: ----
-   Set locally
-      To ignore type qualifiers in type comparisons use +ignorequals.
-      
-ignoresigns
-   ignore signs in type comparisons (unsigned matches signed)
-   Categories: typeequivalence, numbers
-   Mode Settings: ----
-   Set locally
-      To ignore signs in type comparisons use +ignoresigns
-      
-immediatetrans
-   an immediate address (result of &) is transferred inconsistently
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      An immediate address (result of & operator) is transferred
-      inconsistently.
-      
-impabstract
-   assume user type definitions are abstract (unless /*@concrete@*/ is used)
-   Categories: abstract, implicit
-   Default Setting: -
-   Set locally
-   
-impcheckedglobs
-   assume checked qualifier for unqualified global declarations
-   Categories: globals, unconstrained
-   Mode Settings: ----
-   Set locally
-   
-impcheckedspecglobs
-   assume checked qualifier for unqualified global declarations in .lcl files
-   Categories: globals, unconstrained
-   Mode Settings: -+++
-   Set locally
-   
-impcheckedstatics
-   assume checked qualifier for unqualified file static declarations
-   Categories: globals, unconstrained
-   Mode Settings: ----
-   Set locally
-   
-impcheckedstrictglobs
-   assume checkedstrict qualifier for unqualified global declarations
-   Categories: globals, unconstrained
-   Mode Settings: ---+
-   Set locally
-   
-impcheckedstrictspecglobs
-   assume checkmod qualifier for unqualified global declarations in .lcl files
-   Categories: globals, unconstrained
-   Mode Settings: ---+
-   Set locally
-   
-impcheckedstrictstatics
-   assume checkedstrict qualifier for unqualified file static declarations
-   Categories: globals, unconstrained
-   Mode Settings: ---+
-   Set locally
-   
-impcheckmodglobs
-   assume checkmod qualifier for unqualified global declarations
-   Categories: globals, unconstrained
-   Mode Settings: ----
-   Set locally
-   
-impcheckmodinternals
-   assume checkmod qualifier for unqualified local static declarations (for
-   internal state modifications)
-   Categories: globals, unconstrained
-   Mode Settings: --++
-   Set locally
-   
-impcheckmodspecglobs
-   assume checkmod qualifier for unqualified global declarations in .lcl files
-   Categories: globals, unconstrained
-   Mode Settings: ----
-   Set locally
-   
-impcheckmodstatics
-   assume checkmod qualifier for unqualified file static declarations
-   Categories: globals, unconstrained
-   Mode Settings: ----
-   Set locally
-   
-impconj
-   make all alternate types implicit (useful for making system libraries
-   Category: libraries
-   Default Setting: -
-   Set locally
-   
-implementationoptional
-   declarator is implementation optional (ISO99 does not require an
-   implementation to provide it)
-   Categories: warnuse, security
-   Mode Settings: --++
-   Set locally
-      Use of a declarator that is implementation optional, not required by
-      ISO99.
-      
-implictconstraint
-   generate implicit constraints for functions
-   Categories: memorybounds, memory
-   Mode Settings: ----
-   Set locally
-   
-impouts
-   pointer parameters to unspecified functions may be implicit out parameters
-   Categories: definition, implicit
-   Mode Settings: ----
-   Set locally
-   
-imptype
-   variable declaration has unknown (implicitly int) type
-   Categories: declarations, 
-   Mode Settings: -+++
-   Set locally
-      A variable declaration has no explicit type.  The type is implicitly int.
-      
-includenest
-   set maximum number of nested #include files (ANSI89 minimum is 8;
-   ISO99 is 63)
-   Categories: limits, ansi
-   Mode Settings: --++
-   Set locally
-   Numeric Argument.  Default: 63
-      Maximum number of nested #include files exceeded.
-      
-incompletetype
-   formal parameter has an incomplete type
-   Categories: declarations, 
-   Default Setting: +
-   Set locally
-      A formal parameter is declared with an incomplete type.
-      
-incondefs
-   function, variable or constant redefined with inconsistent type
-   Categories: declarations, 
-   Mode Settings: -+++
-   Set locally
-      A function, variable or constant is redefined with a different type.
-      
-incondefslib
-   function, variable or constant defined in a library is redefined with
-   inconsistent type
-   Categories: declarations, libraries
-   Mode Settings: -+++
-   Set locally
-      A function, variable or constant previously defined in a library is
-      redefined with a different type.
-      
-indentspaces
-   set number of spaces to indent sub-messages
-   Categories: format, display
-   Default Setting: -
-   Set locally
-   Numeric Argument.  Default: 3
-   
-infloops
-   likely infinite loop is detected
-   Category: controlflow
-   Mode Settings: -+++
-   Set locally
-      This appears to be an infinite loop. Nothing in the body of the loop or
-      the loop test modifies the value of the loop test. Perhaps the
-      specification of a function called in the loop body is missing a
-      modification.
-      
-infloopsuncon
-   likely infinite loop is detected (may result from unconstrained function)
-   Category: controlflow
-   Mode Settings: --++
-   Set locally
-      This appears to be an infinite loop. Nothing in the body of the loop or
-      the loop test modifies the value of the loop test. There may be a
-      modification through a call to an unconstrained function, or an
-      unconstrained function in the loop test may use a global variable
-      modified by the loop body.
-      
-initallelements
-   initializer defines all array elements
-   Category: definition
-   Default Setting: +
-   Set locally
-      Initializer does not define all elements of a declared array.
-      
-initsize
-   initializer defines extra array elements
-   Category: definition
-   Default Setting: +
-   Set locally
-      Initializer block contains more elements than the size of a declared
-      array.
-      
-internalglobs
-   use of internalState
-   Category: globals
-   Mode Settings: ---+
-   Set locally
-      A called function uses internal state, but the globals list for the
-      function being checked does not include internalState
-      
-internalglobsnoglobs
-   use of internalState (in function with no globals list)
-   Category: globals
-   Mode Settings: ---+
-   Set locally
-      A called function uses internal state, but the function being checked has
-      no globals list
-      
-internalnamecaseinsensitive
-   set whether case is significant an internal names (-internalnamecaseinsensiti
-   ve means case is significant)
-   Categories: names, ansi
-   Default Setting: -
-   Set locally
-      Set whether case is significant an internal names (-internalnamecaseinsens
-      itive means case is significant). By ANSI89 default, case is not
-      significant.  If +distinctinternalnames is not set, sets
-      +distinctinternalnames with unlimited internal name length.
-      
-internalnamelen
-   set the number of significant characters in an internal name
-   Categories: names, ansi
-   Default Setting: -
-   Set locally
-   Numeric Argument.  Default: 63
-      Sets the number of significant characters in an internal name (ANSI89
-      default is 31.)  Sets +distinctinternalnames.
-      
-internalnamelookalike
-   lookalike characters match in internal names
-   Categories: names, ansi
-   Default Setting: -
-   Set locally
-      Set whether similar looking characters (e.g., "1" and "l") match in
-      internal names.
-      
-iso99limits
-   check for violations of standard limits (controlnestdepth, stringliterallen,
-   includenest, numstructfields, numenummembers) based on ISO99 standard
-   Categories: limits, ansi
-   Default Setting: -
-   Set locally
-   
-isolib
-   use normal standard library
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-      Library based on the ISO standard library specification is used.
-      
-isoreserved
-   external name conflicts with name reserved for system or standard library
-   Categories: names, ansi
-   Mode Settings: --++
-   Set locally
-      External name is reserved for system use by ISO C99 standard.
-      
-isoreservedinternal
-   internal name conflicts with name reserved for system or standard library
-   Categories: names, ansi
-   Mode Settings: ---+
-   Set locally
-      Internal name is reserved for system in ISO C99 standard (this should not
-      be necessary unless you are worried about C library implementations that
-      violate the standard and use macros).
-      
-iterbalance
-   iter is not balanced with end_<iter>
-   Category: iterators
-   Default Setting: +
-   Set locally
-   
-iterloopexec
-   assume all iterator loops execute at least once
-   Categories: controlflow, memory
-   Default Setting: -
-   Set locally
-   
-iterprefix
-   set namespace prefix for iterators
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      An iter does not start with the iterator prefix
-      
-iterprefixexclude
-   the iterprefix may not be used for non-iter identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not a iter starts with the iterprefix.
-      
-iteryield
-   iter yield parameter is inappropriate
-   Category: iterators
-   Default Setting: +
-   Set locally
-   
-its4low
-   risky security vulnerabilities (from its4 database)
-   Categories: its4, security
-   Default Setting: -
-   Set locally
-      Security vulnerability classified as risky in its4 database.
-      
-its4moderate
-   moderately risky security vulnerabilities (from its4 database)
-   Categories: its4, security
-   Default Setting: -
-   Set locally
-      Security vulnerability classified as moderate risk in its4 database.
-      
-its4mostrisky
-   most risky security vulnerabilities (from its4 database)
-   Categories: its4, security
-   Default Setting: -
-   Set locally
-      Security vulnerability classified as most risky in its4 database.
-      
-its4risky
-   risky security vulnerabilities (from its4 database)
-   Categories: its4, security
-   Default Setting: -
-   Set locally
-      Security vulnerability classified as risky in its4 database.
-      
-its4veryrisky
-   very risky security vulnerabilities (from its4 database)
-   Categories: its4, security
-   Default Setting: -
-   Set locally
-      Security vulnerability classified as very risky in its4 database.
-      
-keep
-   do not delete temporary files
-   Category: debug
-   Default Setting: -
-   Set locally
-   
-keeptrans
-   keep storage transferred inconsistently
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Keep storage is transferred inconsistently --- either in a way that may
-      add a new alias to it, or release it.
-      
-kepttrans
-   kept storage transferred to non-temporary reference
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      storage is transferred to a non-temporary reference after being passed as
-      keep parameter. The storage may be released or new aliases created.
-      
-larchpath
-   set path for searching for library files (overrides LARCH_PATH environment
-   variable)
-   Categories: directories, files
-   Default Setting: -
-   Set globally only
-   Path argument.  Default: .:/usr/local/share/splint/lib:/af9/drl7x/reTmp/LCLin
-   tDev/lib:
-   
-lclexpect
-   expect <int> spec errors
-   Categories: <No Category>, errors
-   Default Setting: -
-   Set globally only
-   Numeric Argument.  Default: 0
-   
-lclimportdir
-   set directory to search for LCL import files (overrides LCLIMPORTDIR)
-   Categories: directories, files
-   Default Setting: -
-   Set globally only
-   Directory argument.  Default: .:/usr/local/share/splint/imports:/af9/drl7x/re
-   Tmp/LCLintDev/imports
-   
-lcs
-   generate .lcs files
-   Categories: headers, specifications
-   Default Setting: +
-   Set globally only
-   
-legacy
-   legacy declaration in Unix Standard
-   Category: warnuse
-   Mode Settings: ----
-   Set locally
-      Use of a declarator that is marked as a legacy entry in the Unix
-      Standard.
-      
-lh
-   generate .lh files
-   Categories: headers, specifications
-   Default Setting: -
-   Set globally only
-   
-libmacros
-   check all macros with declarations in library as functions
-   Category: macros
-   Default Setting: -
-   Set locally
-      Every macro declared in the load library is checked.
-      
-likelybool
-   type name is probably a boolean type but does not match default boolean type
-   name, "bool", and alternate name is not set
-   Categories: booleans, help
-   Default Setting: +
-   Set locally
-      Use the -booltype, -boolfalse and -booltrue flags to change the name of
-      the default boolean type.
-      
-limit
-   limit <int> consecutive repeated errors
-   Categories: suppress, errors
-   Default Setting: -
-   Set locally
-   Numeric Argument.  Default: -1
-   
-linelen
-   set length of messages (number of chars)
-   Categories: format, display
-   Default Setting: -
-   Set locally
-   Numeric Argument.  Default: 80
-   
-lintcomments
-   interpret traditional lint comments (/*FALLTHROUGH*/, /*NOTREACHED*/)
-   Categories: syncomments, suppress
-   Default Setting: +
-   Set locally
-   
-load
-   load state from dump file (default suffix .lcd)
-   Categories: libraries, files
-   Default Setting: -
-   Set globally only
-   Filename argument.  No default.
-   
-localprefix
-   set namespace prefix for local variables
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      A local variable does not start with the localprefix
-      
-localprefixexclude
-   the localprefix may not be used for non-local identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not a local variable starts with the localprefix.
-      
-longintegral
-   allow long type to match an arbitrary integral type (e.g., dev_t)
-   Categories: typeequivalence, numbers
-   Mode Settings: ----
-   Set locally
-      To allow arbitrary integral types to match long unsigned, use
-      +longintegral.
-      
-longsignedintegral
-   allow long type to match an arbitrary signed integral type (e.g., ssize_t)
-   Categories: typeequivalence, numbers
-   Mode Settings: ----
-   Set locally
-      To allow arbitrary signed integral types to match long unsigned, use
-      +longsignedintegral.
-      
-longunsignedintegral
-   allow long unsigned type to match an arbitrary integral type (e.g., dev_t)
-   Categories: typeequivalence, numbers
-   Mode Settings: +---
-   Set locally
-      To allow arbitrary integral types to match long unsigned, use
-      +longunsignedintegral.
-      
-longunsignedunsignedintegral
-   allow long unsigned type to match an arbitrary unsigned integral type (e.g.,
-   size_t)
-   Categories: typeequivalence, numbers
-   Mode Settings: +---
-   Set locally
-      To allow arbitrary unsigned integral types to match long unsigned, use
-      +longunsignedunsignedintegral.
-      
-loopexec
-   assume all loops execute at least once (sets forloopexec, whileloopexec and
-   iterloopexec)
-   Categories: controlflow, memory
-   Default Setting: -
-   Set locally
-   
-looploopbreak
-   break inside nested while or for
-   Category: controlflow
-   Mode Settings: --++
-   Set locally
-      A break statement appears inside the body of a nested while or for
-      statement. This is perfectly reasonable code, but check that the break is
-      intended to break only the inner loop. The break statement may be
-      preceded by /*@innerbreak@*/ to suppress the message for this break only.
-      
-looploopcontinue
-   continue inside nested loop
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      A continue statement appears inside a loop within a loop. This is
-      perfectly reasonable code, but check that the continue is intended to
-      continue only the inner loop. The continue statement may be preceded by
-      /*@innercontinue@*/ to suppress the message for this continue only.
-      
-loopswitchbreak
-   break in switch inside loop
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      A break statement appears inside a switch statement within a while or for
-      loop. This is perfectly reasonable code, but check that the break is
-      intended to break only the inner loop. The break statement may be
-      preceded by /*@switchbreak@*/ to suppress the message for this break
-      only.
-      
-macroassign
-   assignment to a macro parameter
-   Categories: macros, parameters
-   Mode Settings: -+++
-   Set locally
-      A macro parameter is used as the left side of an assignment expression.
-      This exhibits behavior that could not be implemented by a function.
-      
-macroconstdecl
-   non-parameterized macro without prototype or specification
-   Categories: macros, prototypes
-   Mode Settings: -+++
-   Set locally
-      Macro constant has no declaration. Use /*@constant ...@*/ to declare the
-      macro.
-      
-macrodecl
-   macro without prototype or specification (sets macrofcndecl and
-   macroconstdecl)
-   Categories: macros, prototypes
-   Mode Settings: ----
-   Set locally
-      Argument checking cannot be done well for macros without prototypes or
-      specifications, since the types of the arguments are unknown.
-      
-macroempty
-   macro definition for is empty
-   Category: macros
-   Mode Settings: ---+
-   Set locally
-      A macro definition has no body.
-      
-macrofcndecl
-   parameterized macro without prototype or specification
-   Categories: macros, prototypes
-   Mode Settings: -+++
-   Set locally
-      Function macro has no declaration.
-      
-macromatchname
-   macro definition does not match iter or constant declaration
-   Category: macros
-   Mode Settings: ++++
-   Set locally
-      A iter or constant macro is defined using a different name from the one
-      used in the previous syntactic comment
-      
-macroparams
-   macro parameter not used exactly once
-   Categories: macros, parameters
-   Mode Settings: -+++
-   Set locally
-      A macro parameter is not used exactly once in all possible invocations of
-      the macro. To behave like a function, each macro parameter must be used
-      exactly once on all invocations of the macro so that parameters with
-      side-effects are evaluated exactly once. Use /*@sef@*/ to denote
-      parameters that must be side-effect free.
-      
-macroparens
-   macro parameter used without parentheses (in potentially dangerous context)
-   Category: macros
-   Mode Settings: -+++
-   Set locally
-      A macro parameter is used without parentheses. This could be dangerous if
-      the macro is invoked with a complex expression and precedence rules will
-      change the evaluation inside the macro.
-      
-macroredef
-   macro redefined
-   Category: macros
-   Mode Settings: -+++
-   Set locally
-      A macro is defined in more than one place.
-      
-macroreturn: <invalid flag>
-
-macrostmt
-   macro definition is syntactically not equivalent to function
-   Category: macros
-   Mode Settings: -+++
-   Set locally
-      A macro is defined in a way that may cause syntactic problems. If the
-      macro returns a value, use commas to separate expressions;
-      otherwise, use do { <macro body> } while (FALSE) construct.
-      
-macrounrecog
-   unrecognized identifier in macro
-   Categories: macros, unrecognized
-   Mode Settings: -+++
-   Set locally
-      An unrecognized identifier appears in a macro. If the identifier is
-      defined before the macro is used, then this is okay.
-      
-macrovarprefix
-   set namespace prefix for variables declared in a macro body
-   Categories: names, prefixes
-   Default Setting: +
-   Set locally
-   String argument.  Default: m_
-      A variable declared in a macro body does not start with the
-      macrovarprefix.
-      
-macrovarprefixexclude
-   the macrovarprefix may not be used for non-macro variables
-   Categories: names, prefixes
-   Default Setting: +
-   Set locally
-      A variable declared outside a macro body starts with the macrovarprefix.
-      
-maintype
-   type of main does not match expected type
-   Categories: systemfunctions, 
-   Default Setting: +
-   Set locally
-      The function main does not match the expected type.
-      
-matchanyintegral
-   allow any intergral type to match an arbitrary integral type (e.g., dev_t)
-   Categories: typeequivalence, numbers
-   Mode Settings: ----
-   Set locally
-      To allow arbitrary integral types to match any integral type, use
-      +matchanyintegral.
-      
-matchfields
-   struct or enum type redefined with inconsistent fields or members
-   Categories: declarations, 
-   Mode Settings: -+++
-   Set locally
-      A struct, union or enum type is redefined with inconsistent fields or
-      members.
-      
-mayaliasunique
-   unique parameter may be aliased
-   Categories: aliasing, memory
-   Mode Settings: -+++
-   Set locally
-      A unique or only parameter may be aliased by some other parameter or
-      visible global.
-      
-memchecks
-   sets all dynamic memory checking flags (memimplicit, mustfree, mustdefine,
-   mustnotalias, null, memtrans)
-   Category: memory
-   Default Setting: -
-   Set locally
-   
-memimp
-   memory errors for unqualified storage
-   Categories: memory, implicit
-   Mode Settings: -+++
-   Set locally
-   
-memtrans
-   memory transfer errors (sets all *trans flags)
-   Category: memory
-   Default Setting: -
-   Set locally
-      Memory is transferred in a way that violates annotations.
-      
-misplacedsharequal
-   declaration of unsharable storage uses sharing annotation
-   Categories: declarations, 
-   Mode Settings: -+++
-   Set locally
-      A declaration of an unsharable object uses a sharing annotation.
-      
-misscase
-   switch on enum type missing case for some value
-   Category: controlflow
-   Mode Settings: -+++
-   Set locally
-      Not all values in an enumeration are present as cases in the switch.
-      
-modfilesys
-   report undocumented file system modifications (applies to unspecified
-   functions if modnomods is set)
-   Categories: modification, unconstrained
-   Mode Settings: ---+
-   Set locally
-   
-modglobs
-   undocumented modification of a checked global variable
-   Categories: globals, modification
-   Mode Settings: -+++
-   Set locally
-      A checked global variable is modified by the function, but not listed in
-      its modifies clause.
-      
-modglobsnomods
-   undocumented modification of a checked global variable in a function
-   declared with no modifies clause
-   Categories: globals, modification
-   Mode Settings: ---+
-   Set locally
-      A checked global variable is modified by the function, but not listed in
-      its modifies clause.
-      
-modglobsunchecked
-   undocumented modification of an unchecked checked global variable
-   Categories: globals, modification
-   Mode Settings: ---+
-   Set locally
-      An unchecked global variable is modified by the function, but not listed
-      in its modifies clause.
-      
-modinternalstrict
-   possible modification of internal storage through function call
-   Categories: modification, memory
-   Mode Settings: ---+
-   Set locally
-      A function that modifies internalState is called from a function that
-      does not list internalState in its modifies clause
-      
-modnomods
-   modification in a function with no modifies clause
-   Categories: modification, unconstrained
-   Mode Settings: ---+
-   Set locally
-      An externally-visible object is modified by a function with no
-      /*@modifies@*/ comment. The /*@modifies ... @*/ control comment can be
-      used to give a modifies list for an unspecified function.
-      
-modobserver
-   possible modification of observer storage
-   Categories: modification, memory
-   Default Setting: +
-   Set locally
-      Storage declared with observer is possibly modified. Observer storage may
-      not be modified.
-      
-modobserveruncon
-   possible modification of observer storage through unconstrained call
-   Categories: modification, memory
-   Mode Settings: ---+
-   Set locally
-      Storage declared with observer may be modified through a call to an
-      unconstrained function.
-      
-mods
-   unspecified modification of caller-visible state
-   Categories: modification, specifications
-   Default Setting: +
-   Set locally
-      An externally-visible object is modified by a function, but not listed in
-      its modifies clause.
-      
-modsimpnoglobs
-   functions declared with a modifies clause but no globals list are assumed to
-   use no globals
-   Categories: modification, globals
-   Mode Settings: ----
-   Set locally
-      An implicit empty globals list is assumed for a function declared with a
-      modifies clause but no globals list.
-      
-modstrictglobsnomods
-   undocumented modification of a strict checked global variable in a function
-   declared with no modifies clause
-   Categories: globals, modification
-   Mode Settings: ---+
-   Set locally
-      A checked global variable is modified by the function, but not listed in
-      its modifies clause.
-      
-moduncon
-   possible modification through a call to an unconstrained function
-   Categories: modification, unconstrained
-   Mode Settings: ---+
-   Set locally
-      An unconstrained function is called in a function body where
-      modifications are checked. Since the unconstrained function may modify
-      anything, there may be undetected modifications in the checked function.
-      
-modunconnomods
-   possible modification through a call to an unconstrained function in a
-   function with no modifies clause
-   Categories: modification, unconstrained
-   Mode Settings: ---+
-   Set locally
-      An unconstrained function is called in a function body where
-      modifications are checked. Since the unconstrained function may modify
-      anything, there may be undetected modifications in the checked function.
-      
-modunspec
-   modification in unspecified functions (sets modnomods, modglobunspec and
-   modstrictglobsunspec)
-   Categories: modification, unconstrained
-   Default Setting: -
-   Set locally
-   
-mts
-   load meta state declaration and corresponding xh file
-   Categories: extensible, files
-   Default Setting: -
-   Set globally only
-   Filename argument.  No default.
-   
-multithreaded
-   function is not reentrant
-   Categories: warnuse, security
-   Mode Settings: --++
-   Set locally
-      Non-reentrant function should not be used in multithreaded code.
-      
-mustdefine
-   out storage not defined before return or scope exit
-   Categories: memory, definition
-   Mode Settings: -+++
-   Set locally
-      An out parameter or global is not defined before control is transferred.
-      
-mustfree
-   fresh or only storage not released before return or scope exit (sets
-   mustfreefresh and mustfreeonly)
-   Categories: memory, leaks
-   Default Setting: -
-   Set locally
-      A memory leak has been detected.
-      
-mustfreefresh
-   freshly allocated storage not released before return or scope exit
-   Categories: memory, leaks
-   Mode Settings: -+++
-   Set locally
-      A memory leak has been detected. Storage allocated locally is not
-      released before the last reference to it is lost.
-      
-mustfreeonly
-   only storage not released before return or scope exit
-   Categories: memory, leaks
-   Mode Settings: -+++
-   Set locally
-      A memory leak has been detected. Only-qualified storage is not released
-      before the last reference to it is lost.
-      
-mustmod
-   specified modification is not detected
-   Categories: modification, specifications
-   Mode Settings: --++
-   Set locally
-      An object listed in the modifies clause is not modified by the
-      implementation of the function. The modification may not be detected if
-      it is done through a call to an unspecified function.
-      
-mustnotalias
-   temp storage aliased at return point or scope exit
-   Categories: aliasing, memory
-   Mode Settings: -+++
-   Set locally
-      An alias has been added to a temp-qualifier parameter or global that is
-      visible externally when the function returns. If the aliasing is needed,
-      use the /*@shared@*/ annotation to indicate that new aliases to the
-      parameter may be created.
-      
-mutrep
-   representation of mutable type has sharing semantics
-   Category: abstract
-   Mode Settings: -+++
-   Set locally
-      LCL semantics requires that a mutable type exhibits sharing semantics. In
-      order for objects to be shared a indirection is necessary in the
-      representation. A mutable type may be represented by a pointer or an
-      abstract mutable type. Handles into static data are fine, too, but will
-      generate this error message unless it is suppressed.
-      
-namechecks
-   controls name checking without changing other settings
-   Categories: names, abstract
-   Default Setting: +
-   Set locally
-   
-needspec
-   information in specifications is not also included in syntactic comments
-   Categories: initializations, specifications
-   Default Setting: -
-   Set locally
-      There is information in the specification that is not duplicated in
-      syntactic comments. Normally, this is not an error, but it may be useful
-      to detect it to make sure checking incomplete systems without the
-      specifications will still use this information.
-      
-nestcomment
-   comment begins inside comment
-   Categories: comments, 
-   Default Setting: +
-   Set locally
-      A comment open sequence (/*) appears within a comment.  This usually
-      means an earlier comment was not closed.
-      
-nestedextern
-   an extern declaration is inside a function scope
-   Category: declarations
-   Mode Settings: -+++
-   Set locally
-      An extern declaration is used inside a function scope.
-      
-neverinclude
-   optimize header inclusion to not include any header files
-   Categories: headers, performance
-   Default Setting: -
-   Set globally only
-      Ignore header includes. Only works if relevant information is loaded from
-      a library.
-      
-newdecl
-   report new global declarations in source files
-   Categories: declarations, libraries
-   Default Setting: -
-   Set locally
-      There is a new declaration that is not declared in a loaded library or
-      earlier file.  (Use this flag to check for consistency against a
-      library.)
-      
-newreftrans
-   new reference transfer to reference counted reference
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      A new reference is transferred to a reference counted reference.
-      
-nextlinemacros
-   the line after a constant or iter declaration must be a macro definition
-   Category: macros
-   Default Setting: +
-   Set locally
-      A constant or iter declaration is not immediately followed by a macro
-      definition.
-      
-noaccess
-   ignore access comments
-   Categories: syncomments, abstract
-   Default Setting: -
-   Set locally
-   
-nocomments
-   ignore all stylized comments
-   Categories: syncomments, suppress
-   Default Setting: -
-   Set locally
-   
-noeffect
-   statement with no effect
-   Categories: effect, controlflow
-   Mode Settings: -+++
-   Set locally
-      Statement has no visible effect --- no values are modified.
-      
-noeffectuncon
-   statement with no effect (except possibly through call to unconstrained
-   function)
-   Categories: effect, controlflow
-   Mode Settings: ---+
-   Set locally
-      Statement has no visible effect --- no values are modified. It may modify
-      something through a call to an unconstrained function.
-      
-nof
-   do not read options file
-   Categories: initializations, files
-   Default Setting: -
-   Set globally only
-      Do not read the default options file (~/.splintrc)
-      
-nolib
-   do not load standard library
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-   
-noparams
-   function declaration has no parameter list
-   Categories: prototypes, ansi
-   Mode Settings: --++
-   Set locally
-      A function declaration does not have a parameter list.
-      
-nopp
-   do not pre-process input files
-   Category: debug
-   Default Setting: -
-   Set locally
-   
-noret
-   path with no return detected in non-void function
-   Category: controlflow
-   Mode Settings: -+++
-   Set locally
-      There is a path through a function declared to return a value on which
-      there is no return statement. This means the execution may fall through
-      without returning a meaningful result to the caller.
-      
-null
-   misuses of null pointer
-   Categories: null, memory
-   Default Setting: -
-   Set locally
-      A possibly null pointer is misused (sets nullderef, nullpass, nullref,
-      nullassign, and nullstate).
-      
-nullassign
-   inconsistent assignment or initialization involving null pointer
-   Categories: null, memory
-   Mode Settings: -+++
-   Set locally
-      A reference with no null annotation is assigned or initialized to NULL. 
-      Use /*@null@*/ to declare the reference as a possibly null pointer.
-      
-nullderef
-   possible dereferencce of null pointer
-   Categories: null, memory
-   Mode Settings: -+++
-   Set locally
-      A possibly null pointer is dereferenced.  Value is either the result of a
-      function which may return null (in which case, code should check it is
-      not null), or a global, parameter or structure field declared with the
-      null qualifier.
-      
-nullpass
-   possibly null pointer passed as formal with no null annotation
-   Categories: null, memory
-   Mode Settings: -+++
-   Set locally
-      A possibly null pointer is passed as a parameter corresponding to a
-      formal parameter with no /*@null@*/ annotation.  If NULL may be used for
-      this parameter, add a /*@null@*/ annotation to the function parameter
-      declaration.
-      
-nullptrarith
-   arithmetic involving possibly null pointer and integer
-   Categories: operations, pointers
-   Mode Settings: --++
-   Set locally
-      Pointer arithmetic using a possibly null pointer and integer.
-      
-nullret
-   possibly null pointer returned as result with no null annotation
-   Categories: null, memory
-   Mode Settings: -+++
-   Set locally
-      Function returns a possibly null pointer, but is not declared using
-      /*@null@*/ annotation of result.  If function may return NULL, add
-      /*@null@*/ annotation to the return value declaration.
-      
-nullstate
-   possibly null pointer reachable from a reference with no null annotation
-   Categories: null, memory
-   Mode Settings: -+++
-   Set locally
-      A possibly null pointer is reachable from a parameter or global variable
-      that is not declared using a /*@null@*/ annotation.
-      
-nullterminated
-   misuse of nullterminated allocation
-   Categories: memorybounds, memory
-   Mode Settings: ----
-   Set locally
-      A possibly non-nullterminated string/memory is used/referenced as a
-      nullterminated one.
-      
-nullterminated
-   misuse of nullterminated allocation
-   Categories: memorybounds, memory
-   Mode Settings: ----
-   Set locally
-      A possibly non-nullterminated string/memory is used/referenced as a
-      nullterminated one.
-      
-numenummembers
-   set maximum number of members of an enum (ANSI89 minimum is 127;
-   ISO99 is 1023)
-   Categories: limits, ansi
-   Mode Settings: ---+
-   Set locally
-   Numeric Argument.  Default: 1023
-      Limit on maximum number of members of an enum is exceeded.
-      
-numliteral
-   int literals can be reals
-   Categories: typeequivalence, numbers
-   Mode Settings: ++--
-   Set locally
-      An int literal is used as any numeric type (including float and long
-      long). Use +numliteral to allow int literals to be used as any numeric
-      type.
-      
-numstructfields
-   set maximum number of fields in a struct or union (ANSI89 minimum is 127;
-   ISO99 is 1023)
-   Categories: limits, ansi
-   Mode Settings: ---+
-   Set locally
-   Numeric Argument.  Default: 1023
-      Maximum number of fields in a struct or union exceeded.
-      
-observertrans
-   observer transfer errors
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Observer storage is transferred to a non-observer reference.
-      
-obviousloopexec
-   assume loop that can be determined to always execute always does
-   Categories: controlflow, memory
-   Default Setting: +
-   Set locally
-   
-oldstyle
-   old style function definition
-   Categories: prototypes, ansi
-   Mode Settings: ---+
-   Set locally
-      Function definition is in old style syntax. Standard prototype syntax is
-      preferred.
-      
-onlytrans
-   only storage transferred to non-only reference (memory leak)
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      The only reference to this storage is transferred to another reference
-      (e.g., by returning it) that does not have the only annotation. This may
-      lead to a memory leak, since the new reference is not necessarily
-      released.
-      
-onlyunqglobaltrans
-   only storage transferred to an unqualified global or static reference
-   (memory leak)
-   Category: memory
-   Mode Settings: --++
-   Set locally
-      The only reference to this storage is transferred to another reference
-      that does not have an aliasing annotation. This may lead to a memory
-      leak, since the new reference is not necessarily released.
-      
-orconstraint
-   use limited OR expressions to resolve constraints
-   Categories: memorybounds, memory
-   Mode Settings: ----
-   Set locally
-   
-overload
-   library function overloaded
-   Categories: declarations, libraries
-   Mode Settings: ----
-   Set locally
-      A function, variable or constant defined in the library is redefined with
-      a different type.
-      
-ownedtrans
-   owned storage transferred to non-owned reference (memory leak)
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      The owned reference to this storage is transferred to another reference
-      (e.g., by returning it) that does not have the owned annotation. This may
-      lead to a memory leak, since the new reference is not necessarily
-      released.
-      
-paramimptemp
-   assume unannotated parameter is temp
-   Categories: memory, implicit
-   Default Setting: +
-   Set locally
-   
-paramuse
-   function parameter not used 
-   Categories: alluse, parameters
-   Mode Settings: -+++
-   Set locally
-      A function parameter is not used in the body of the function. If the
-      argument is needed for type compatibility or future plans, use
-      /*@unused@*/ in the argument declaration.
-      
-parenfileformat
-   show column number where error is found
-   Categories: format, display
-   Default Setting: -
-   Set locally
-   
-partial
-   check as partial system (-specundef, -declundef, -exportlocal, don't check
-   macros in headers without corresponding .c files)
-   Categories: <No Category>, alluse
-   Default Setting: -
-   Set locally
-   
-passunknown
-   passing a value as an un-annotated parameter clears its annotation
-   Categories: memory, parameters
-   Mode Settings: ----
-   Set locally
-   
-portability
-   function may have undefined behavior
-   Categories: warnuse, security
-   Mode Settings: --++
-   Set locally
-      Use of function that may have implementation-dependent behavior.
-      
-posixlib
-   use POSIX standard library
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-      POSIX version of the standard library is used.
-      
-posixstrictlib
-   use strict POSIX standard library
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-      POSIX version of the strict standard library is used.
-      
-predassign
-   condition test (if, while or for) is an assignment
-   Categories: booleans, predicates
-   Default Setting: +
-   Set locally
-      The condition test is an assignment expression. Probably, you mean to use
-      == instead of =. If an assignment is intended, add an extra parentheses
-      nesting (e.g., if ((a = b)) ...) to suppress this message.
-      
-predbool
-   type of condition test (if, while or for) not bool (sets predboolint,
-   predboolptr and predboolothers)
-   Categories: booleans, predicates
-   Default Setting: -
-   Set locally
-      Test expression type is not boolean.
-      
-predboolint
-   type of condition test (if, while or for) is an integral type
-   Categories: predicates, booleans
-   Mode Settings: -+++
-   Set locally
-      Test expression type is not boolean or int.
-      
-predboolothers
-   type of condition test (if, while or for) not bool, int or pointer
-   Categories: booleans, predicates
-   Mode Settings: ++++
-   Set locally
-      Test expression type is not boolean.
-      
-predboolptr
-   type of condition test (if, while or for) is a pointer
-   Categories: booleans, predicates
-   Mode Settings: --++
-   Set locally
-      Test expression type is not boolean.
-      
-preproc
-   preprocessing error
-   Categories: , preproc
-   Default Setting: +
-   Set locally
-   
-protoparammatch
-   the name of a parameter in a function prototype and corresponding
-   declaration must match (after removing the protoparamprefix
-   Categories: names, prefixes
-   Mode Settings: --++
-   Set locally
-      A parameter in a function definition does not have the same name as the
-      corresponding in the declaration of the function after removing the
-      protoparamprefix
-      
-protoparamname
-   a parameter in a function prototype has a name
-   Categories: names, prefixes
-   Mode Settings: ---+
-   Set locally
-      A parameter in a function prototype has a name.  This is dangerous, since
-      a macro definition could be visible here.
-      
-protoparamprefix
-   set namespace prefix for parameters in function prototype declarations
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      A parameter name in a function prototype declaration does not start with
-      the declaration parameter prefix
-      
-protoparamprefixexclude
-   the protoparamprefix may not be used for non-declaraction parameter
-   identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not a parameter name in a function prototype starts
-      with the protoparamprefix.
-      
-ptrarith
-   arithmetic involving pointer and integer
-   Categories: operations, pointers
-   Mode Settings: ---+
-   Set locally
-      Pointer arithmetic using pointer and integer.
-      
-ptrcompare
-   comparison between pointer and number
-   Categories: operations, pointers
-   Mode Settings: -+++
-   Set locally
-      A pointer is compared to a number.
-      
-ptrnegate
-   allow ! to be used on pointer operand
-   Categories: booleans, pointers
-   Mode Settings: ++--
-   Set locally
-      The operand of ! operator is a pointer.
-      
-quiet
-   suppress herald and error count
-   Categories: display, errors
-   Default Setting: -
-   Set locally
-   
-readonlystrings
-   string literals are read-only (error if one is modified or released)
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      String literals are read-only. An error is reported if a string literal
-      may be modified or released.
-      
-readonlytrans
-   report memory transfer errors for initializations to read-only string
-   literals
-   Category: memory
-   Mode Settings: --++
-   Set locally
-      A read-only string literal is assigned to a non-observer reference.
-      
-realcompare
-   dangerous comparison between reals (dangerous because of inexact floating
-   point representations)
-   Category: operations
-   Mode Settings: -+++
-   Set locally
-      Two real (float, double, or long double) values are compared directly
-      using a C primitive. This may produce unexpected results since floating
-      point representations are inexact. Instead, compare the difference to
-      FLT_EPSILON or DBL_EPSILON.
-      
-redecl
-   function or variable redeclared
-   Category: declarations
-   Mode Settings: --++
-   Set locally
-      A function or variable is declared in more than one place. This is not
-      necessarily a problem, since the declarations are consistent.
-      
-redef
-   function or variable redefined
-   Category: declarations
-   Default Setting: +
-   Set locally
-      A function or variable is redefined. One of the declarations should use
-      extern.
-      
-redundantconstraints
-   display seemingly redundant constraints
-   Categories: memorybounds, display
-   Mode Settings: ----
-   Set locally
-      Display seemingly redundant constraints
-      
-redundantsharequal
-   declaration uses observer qualifier that is always true
-   Categories: declarations, 
-   Mode Settings: --++
-   Set locally
-      A declaration of an immutable object uses a redundant observer qualifier.
-      
-refcounttrans
-   reference counted storage is transferred in an inconsistent way
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Reference counted storage is transferred in a way that may not be
-      consistent with the reference count.
-      
-relaxquals
-   report qualifier mismatches only if dangerous
-   Categories: typeequivalence, numbers
-   Mode Settings: ++--
-   Set locally
-      To allow qualifier mismatches that are not dangerous, use +relaxquals.
-      
-relaxtypes
-   allow all numeric types to match
-   Categories: typeequivalence, numbers
-   Mode Settings: ----
-   Set locally
-      To allow all numeric types to match, use +relaxtypes.
-      
-repeatunrecog
-   do not suppress repeated unrecognized identifier messages (instead of only
-   reporting the first error)
-   Categories: unrecognized, display
-   Default Setting: -
-   Set locally
-      Identifier used in code has not been declared. (Message repeated for
-      future uses in this file.)
-      
-repexpose
-   abstract representation is exposed (sets assignexpose, retexpose, and
-   castexpose)
-   Categories: exposure, abstract
-   Default Setting: -
-   Set locally
-      The internal representation of an abstract type is visible to the caller.
-      This means clients may have access to a pointer into the abstract
-      representation.
-      
-retalias
-   function returns alias to parameter or global
-   Category: aliasing
-   Mode Settings: --++
-   Set locally
-      The returned value shares storage with a parameter or global. If a
-      parameter is to be returned, use the returned qualifier. If the result is
-      not modified, use the observer qualifier on the result type. Otherwise,
-      exposed can be used, but limited checking is done.
-      
-retexpose
-   abstract representation is exposed (return values only)
-   Categories: exposure, abstract
-   Mode Settings: --++
-   Set locally
-      The return value shares storage with an instance of an abstract type.
-      This means clients may have access to a pointer into the abstract
-      representation. Use the observer qualifier to return exposed storage that
-      may not be modified by the client. Use the exposed qualifier to return
-      modifiable (but not deallocatable) exposed storage (dangerous).
-      
-retimponly
-   assume unannotated returned storage is only
-   Categories: memory, implicit
-   Default Setting: +
-   Set locally
-   
-retval
-   return value ignored (sets retvalint, retvalbool and retvalother)
-   Category: returnvals
-   Default Setting: -
-   Set locally
-      Result returned by function call is not used. If this is intended, cast
-      result to (void) to eliminate message.
-      
-retvalbool
-   return value of manifest type bool ignored
-   Categories: returnvals, booleans
-   Mode Settings: -+++
-   Set locally
-      Result returned by function call is not used. If this is intended, can
-      cast result to (void) to eliminate message.
-      
-retvalint
-   return value of type int ignored
-   Category: returnvals
-   Mode Settings: -+++
-   Set locally
-      Result returned by function call is not used. If this is intended, can
-      cast result to (void) to eliminate message.
-      
-retvalother
-   return value of type other than bool or int ignored
-   Categories: returnvals, booleans
-   Mode Settings: ++++
-   Set locally
-      Result returned by function call is not used. If this is intended, can
-      cast result to (void) to eliminate message.
-      
-sefparams
-   a parameter with side-effects is passed as a sef parameter
-   Categories: macros, parameters
-   Mode Settings: -+++
-   Set locally
-      An actual parameter corresponding to a sef parameter may have a
-      side-effect.
-      
-sefuncon
-   a parameter with unconstrained side-effects is passed as a sef parameter
-   Categories: macros, parameters
-   Mode Settings: --++
-   Set locally
-      An actual parameter corresponding to a sef parameter involves a call to a
-      procedure with no modifies clause that may have a side-effect.
-      
-shadow
-   declaration reuses name visible in outer scope
-   Category: declarations
-   Mode Settings: -+++
-   Set locally
-      An outer declaration is shadowed by the local declaration.
-      
-sharedtrans
-   shared storage transferred to non-shared reference
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Shared storage is transferred to a non-shared reference. The other
-      reference may release storage needed by this reference.
-      
-shiftimplementation
-   a shift left operand may be negative
-   Categories: operations, 
-   Mode Settings: -+++
-   Set locally
-      The left operand to a shift operator may be negative (behavior is
-      implementation-defined).
-      
-shiftnegative
-   a shift right operand may be negative
-   Categories: operations, 
-   Mode Settings: -+++
-   Set locally
-      The right operand to a shift operator may be negative (behavior
-      undefined).
-      
-showallconjs
-   show all possible types
-   Category: format
-   Default Setting: -
-   Set locally
-      When a library function is declared with multiple possible type, the
-      alternate types are shown only if +showallconjs.
-      
-showalluses
-   show sorted list of uses of all globals
-   Categories: display, alluse
-   Default Setting: -
-   Set globally only
-   
-showcolumn
-   show column number where error is found
-   Categories: format, display
-   Default Setting: +
-   Set locally
-   
-showconstraintlocation
-   display location for every constraint generated
-   Categories: memorybounds, display
-   Mode Settings: ----
-   Set locally
-   
-showconstraintparens
-   display parentheses around constraint terms
-   Categories: memorybounds, display
-   Mode Settings: ----
-   Set locally
-   
-showfunc
-   show name of function containing error
-   Category: format
-   Default Setting: +
-   Set locally
-   
-showscan
-   show file names are they are processed
-   Categories: display, files
-   Default Setting: -
-   Set locally
-   
-showsourceloc
-   display the source code location where a warning is produced
-   Category: debug
-   Default Setting: -
-   Set locally
-   
-showsummary
-   show summary of all errors reported and suppressed
-   Categories: display, errors
-   Default Setting: -
-   Set locally
-   
-singleinclude
-   optimize header inclusion to eliminate redundant includes
-   Categories: headers, performance
-   Default Setting: -
-   Set globally only
-      When checking multiple files, each header file is processed only once.
-      This may change the meaning of the code, if the same header file is
-      included in different contexts (e.g., the header file includes #if
-      directives and the values are different when it is included in different
-      places.)
-      
-sizeofformalarray
-   sizeof operator has an array formal parameter argument
-   Categories: operations, 
-   Default Setting: +
-   Set locally
-      Operand of a sizeof operator is a function parameter declared as an
-      array.  The value of sizeof will be the size of a pointer to the element
-      type, not the number of elements in the array.
-      
-sizeoftype
-   sizeof operator has a type argument
-   Categories: operations, 
-   Mode Settings: ---+
-   Set locally
-      Operand of sizeof operator is a type. (Safer to use expression, int *x =
-      sizeof (*x); instead of sizeof (int).)
-      
-skipansiheaders
-   prevent inclusion of header files in a system directory with names that
-   match standard ANSI headers. The symbolic information in the standard
-   library is used instead.  Flag in effect only if a library including the
-   ANSI library is loaded.  The ANSI headers are:
-   assert, ctype, errno, float, limits, locale, math, setjmp, signal, stdarg,
-   stddef, stdio, stdlib, strings, string, time, and wchar.
-   Categories: directories, files
-   Default Setting: +
-   Set locally
-   
-skipposixheaders
-   prevent inclusion of header files in a system directory with names that
-   match standard POSIX headers. The symbolic information in the posix library
-   is used instead.  The POSIX headers are:
-   dirent, fcntl, grp, pwd, termios, sys/stat, sys/times, sys/types,
-   sys/utsname, sys/wait, unistd, and utime.
-   Categories: directories, files
-   Default Setting: +
-   Set locally
-   
-skipsysheaders
-   do not include header files in system directories (set by -sysdirs)
-   Categories: headers, performance
-   Default Setting: -
-   Set globally only
-      Do not include header files in system directories (set by -sysdirs)
-      
-slashslashcomment
-   use of // comment
-   Categories: comments, 
-   Default Setting: -
-   Set locally
-      A // comment is used.  ISO C99 allows // comments, but earlier standards
-      did not.
-      
-slovak
-   slovak naming convention violated
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Name is not consistent with Slovak naming convention.
-      
-slovakconsts
-   slovak naming convention violated in a constant declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Constant name is not consistent with Slovak naming convention.
-      
-slovakfcns
-   slovak naming convention violated in a function or iterator declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Function or iterator name is not consistent with Slovak naming
-      convention.
-      
-slovakmacros
-   slovak naming convention violated in an expanded macro name
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Expanded macro name is not consistent with Slovak naming convention.
-      
-slovaktypes
-   slovak naming convention violated in a use-defined type definition
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Type name is not consistent with Slovak naming convention. Slovak type
-      names may not include uppercase letters.
-      
-slovakvars
-   slovak naming convention violated in a variable declaration
-   Categories: names, abstract
-   Default Setting: -
-   Set locally
-      Variable name is not consistent with Slovak naming convention.
-      
-specglobimponly
-   assume unannotated global storage is only
-   Categories: memory, implicit
-   Default Setting: -
-   Set locally
-   
-specimponly
-   sets specglobimponly, specretimponly and specstructimponly
-   Categories: memory, implicit
-   Default Setting: -
-   Set locally
-   
-specmacros
-   check all macros corresponding to specified functions or constants
-   Category: macros
-   Default Setting: +
-   Set locally
-      Every macro declared a specification file is checked.
-      
-specretimponly
-   assume unannotated returned storage is only
-   Categories: memory, implicit
-   Default Setting: -
-   Set locally
-   
-specstructimponly
-   assume unannotated structure field is only
-   Categories: memory, implicit
-   Default Setting: -
-   Set locally
-   
-specundecl
-   function or variable specified but never declared in a source file
-   Categories: complete, specifications
-   Default Setting: -
-   Set locally
-      A function or variable is declared in an .lcl file, but not declared in
-      any source code file.
-      
-specundef
-   function or variable specified but never defined
-   Categories: complete, specifications
-   Mode Settings: -+++
-   Set locally
-      A function or variable is declared in an .lcl file, but not defined in
-      any source code file.
-      
-stackref
-   external reference to stack-allocated storage is created
-   Categories: memory, released
-   Mode Settings: ++++
-   Set locally
-      A stack reference is pointed to by an external reference when the
-      function returns. The stack-allocated storage is destroyed after the
-      call, leaving a dangling reference.
-      
-statemerge
-   control paths merge with storage in incompatible states
-   Categories: extensible, memory
-   Mode Settings: ++++
-   Set locally
-      Control path merge violates user-defined state merge rules.
-      
-statetransfer
-   storage has been transfered with invalid state
-   Categories: extensible, memory
-   Mode Settings: ++++
-   Set locally
-      Transfer violates user-defined state rules.
-      
-staticinittrans
-   static storage is used as an initial value in an inconsistent way
-   Category: memory
-   Mode Settings: --++
-   Set locally
-      Static storage is used as an initial value in an inconsistent way.
-      
-statictrans
-   static storage is transferred in an inconsistent way
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Static storage is transferred in an inconsistent way.
-      
-stats
-   display lines processed and time
-   Category: display
-   Default Setting: -
-   Set globally only
-   
-strictbranchstate
-   storage through array fetch has inconsistent states of alternate paths
-   through a branch
-   Category: memory
-   Mode Settings: ---+
-   Set locally
-      The state of a variable through an array fetch is different depending on
-      which branch is taken. This means no annotation can sensibly be applied
-      to the storage.
-      
-strictdestroy
-   report complete destruction errors for array elements that may have been
-   released
-   Categories: memory, leaks
-   Mode Settings: ---+
-   Set locally
-   
-strictlib
-   interpret standard library strictly
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-      Stricter version of the standard library is used. (The default library is
-      standard.lcd;  strict library is strict.lcd.)
-      
-strictops
-   primitive operation does not type check strictly
-   Categories: operations, 
-   Mode Settings: ---+
-   Set locally
-      A primitive operation does not type check strictly.
-      
-strictusereleased
-   element used after it may have been released
-   Categories: memory, released
-   Mode Settings: ---+
-   Set locally
-      Memory (through fetch) is used after it may have been released (either by
-      passing as an only param or assigning to an only global).
-      
-stringliterallen
-   set maximum length of string literals (ANSI89 minimum is 509; ISO99 is 4095)
-   Categories: limits, ansi
-   Mode Settings: ---+
-   Set locally
-   Numeric Argument.  Default: 4095
-      Maximum length of string literal exceeded.
-      
-stringliteralnoroom
-   string literal leaves no room for null terminator
-   Mode Settings: -+++
-   Set locally
-      A string literal is assigned to a char array that is not big enough to
-      hold the null terminator.
-      
-stringliteralsmaller
-   string literal is smaller than the char array it is assigned to
-   Mode Settings: --++
-   Set locally
-      A string literal is assigned to a char array that smaller than the string
-      literal needs.
-      
-stringliteraltoolong
-   string literal too long for character array
-   Default Setting: +
-   Set locally
-      A string literal is assigned to a char array too small to hold it.
-      
-structimponly
-   assume unannotated structure field is only
-   Categories: memory, implicit
-   Default Setting: +
-   Set locally
-   
-supcounts
-   The number of errors detected does not match number in /*@i<n>@*/.
-   Categories: suppress, comments
-   Default Setting: +
-   Set globally only
-   
-superuser
-   function is restricted to superusers
-   Categories: warnuse, security
-   Mode Settings: --++
-   Set locally
-      Call to function restricted to superusers.
-      
-switchloopbreak
-   break in loop inside switch
-   Category: controlflow
-   Mode Settings: --++
-   Set locally
-      A break statement appears inside the body of a while or for statement
-      within a switch. This is perfectly reasonable code, but check that the
-      break is intended to break only the inner loop. The break statement may
-      be preceded by /*@loopbreak@*/ to suppress the message for this break
-      only.
-      
-switchswitchbreak
-   break in switch inside switch
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      A break statement appears inside a switch statement within another switch
-      statement. This is perfectly reasonable code, but check that the break is
-      intended to break only the inner switch. The break statement may be
-      preceded by /*@innerbreak@*/ to suppress the message for this break only.
-      
-syntax
-   syntax error in parsing
-   Default Setting: +
-   Set locally
-      Code cannot be parsed.  For help on parse errors, see splint -help
-      parseerrors.
-      
-sysdirerrors
-   report errors in files in system directories (set by -sysdirs)
-   Categories: directories, suppress
-   Mode Settings: ---+
-   Set locally
-   
-sysdirexpandmacros
-   expand macros in system directories regardless of other settings, except for
-   macros corresponding to names defined in a load library
-   Categories: directories, macros
-   Default Setting: +
-   Set locally
-   
-sysdirs
-   set directories for system files (default /usr/include). Separate
-   directories with path separator (colons in Unix, semi-colons in Windows).
-   Flag settings propagate to files in a system directory. If -sysdirerrors is
-   set, no errors are reported for files in system directories.
-   Categories: directories, files
-   Default Setting: -
-   Set globally only
-   Path argument.  Default: /usr/
-   
-sysunrecog
-   report unrecognized identifiers with system (__) prefix
-   Categories: unrecognized, display
-   Default Setting: +
-   Set locally
-      Identifier used in code has not been declared. (Message repeated for
-      future uses in this file.)  Use +gnuextensions to make Splint recognize
-      some keywords that are gnu extensions.
-      
-tagprefix
-   set namespace prefix for struct, union and enum tags
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      A tag identifier does not start with the tagprefix.
-      
-tagprefixexclude
-   the tagprefix may not be used for non-tag identifiers
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not a tag starts with the tagprefix.
-      
-temptrans
-   temp storage transferred to non-temporary reference
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Temp storage (associated with a formal parameter) is transferred to a
-      non-temporary reference. The storage may be released or new aliases
-      created.
-      
-timedist
-   display time distribution
-   Category: display
-   Default Setting: -
-   Set globally only
-   
-tmpcomments
-   interpret t comments (ignore errors in lines marked with /*@t<n>@*/
-   Categories: syncomments, suppress
-   Mode Settings: ----
-   Set locally
-   
-tmpdir
-   set directory for writing temp files
-   Categories: directories, files
-   Default Setting: -
-   Set globally only
-   Directory argument.  Default: /tmp/
-   
-toctou
-   possible time of check, time of use vulnerability
-   Categories: warnuse, security
-   Mode Settings: ---+
-   Set locally
-      Possible time of check, time of use vulnerability.
-      
-topuse
-   declaration at top level not used
-   Categories: alluse, complete
-   Mode Settings: ---+
-   Set locally
-      An external declaration not used in any source file.
-      
-trytorecover
-   try to recover from parse error
-   Default Setting: -
-   Set locally
-      Try to recover from parse error.  It really means try - this doesn't
-      usually work.
-      
-type
-   type mismatch
-   Default Setting: +
-   Set locally
-      Types are incompatible.
-      
-typeprefix
-   set namespace prefix for user-defined types
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      A user-defined type does not start with the typeprefix
-      
-typeprefixexclude
-   the typeprefix may not be used for identifiers that are not type names
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not a type name starts with the typeprefix.
-      
-typeuse
-   type declared but not used
-   Categories: alluse, 
-   Mode Settings: ++++
-   Set locally
-      A type is declared but not used. Use /*@unused@*/ in front of typedef to
-      suppress messages.
-      
-uncheckedglobalias
-   function returns with an unchecked global aliasing external state
-   Categories: aliasing, globals
-   Mode Settings: --++
-   Set locally
-      A global variable aliases externally-visible state when the function
-      returns.
-      
-uncheckedmacroprefix
-   set namespace prefix for unchecked macros
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-   String argument.  No default.
-      An unchecked macro name does not start with the uncheckedmacroprefix
-      
-uncheckedmacroprefixexclude
-   the uncheckmacroprefix may not be used for identifiers that are not
-   unchecked macros
-   Categories: names, prefixes
-   Default Setting: -
-   Set locally
-      An identifier that is not the name of an unchecked macro starts with the
-      uncheckedmacroprefix.
-      
-uniondef
-   at least one field of a union must be defined
-   Categories: memory, definition
-   Mode Settings: -+++
-   Set locally
-      No field of a union is defined. Generally, one field of a union is
-      expected to be defined.
-      
-unixlib
-   use UNIX (sort-of) standard library
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-      UNIX version of the standard library is used.
-      
-unixstandard
-   function is not required in Standard UNIX Specification
-   Categories: warnuse, security
-   Mode Settings: ----
-   Set locally
-      Use of function that need not be provided by UNIX implementations
-      
-unixstrictlib
-   use strict version of UNIX (sort-of) library
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-      strict version of the UNIX library is used.
-      
-unqualifiedinittrans
-   unqualified storage is used as an initial value in an inconsistent way
-   Category: memory
-   Mode Settings: --++
-   Set locally
-      Unqualified storage is used as an initial value in an inconsistent way.
-      
-unqualifiedtrans
-   unqualified storage is transferred in an inconsistent way
-   Category: memory
-   Mode Settings: -+++
-   Set locally
-      Unqualified storage is transferred in an inconsistent way.
-      
-unreachable
-   unreachable code detected
-   Category: controlflow
-   Mode Settings: -+++
-   Set locally
-      This code will never be reached on any possible execution.
-      
-unrecog
-   unrecognized identifier
-   Category: unrecognized
-   Default Setting: +
-   Set locally
-      Identifier used in code has not been declared.
-      
-unrecogcomments
-   stylized comment is unrecognized
-   Categories: syncomments, 
-   Default Setting: +
-   Set locally
-      Word after a stylized comment marker does not correspond to a stylized
-      comment.
-      
-unrecogdirective
-   unrecognized pre-processor directive
-   Categories: preproc, 
-   Default Setting: +
-   Set locally
-      Pre-processor directive is not recognized.
-      
-unrecogflagcomments
-   stylized flag comment uses an unrecognized flag
-   Categories: syncomments, 
-   Default Setting: +
-   Set locally
-      Semantic comment attempts to set a flag that is not recognized.
-      
-unsignedcompare
-   comparison using <, <=, >= between an unsigned integral and zero constant
-   Category: operations
-   Mode Settings: -+++
-   Set locally
-      An unsigned value is used in a comparison with zero in a way that is
-      either a bug or confusing.
-      
-unusedspecial
-   unused declaration in special file (corresponding to .l or .y file)
-   Categories: alluse, complete
-   Mode Settings: ---+
-   Set locally
-   
-usedef
-   use before definition
-   Category: definition
-   Mode Settings: -+++
-   Set locally
-      An rvalue is used that may not be initialized to a value on some
-      execution path.
-      
-usereleased
-   storage used after release
-   Categories: memory, released
-   Mode Settings: -+++
-   Set locally
-      Memory is used after it has been released (either by passing as an only
-      param or assigning to an only global).
-      
-usestderr
-   send error messages to standard error (instead of standard out)
-   Categories: display, errors
-   Default Setting: -
-   Set locally
-   
-usevarargs
-   non-standard <varargs.h> included
-   Categories: libraries, ansi
-   Default Setting: +
-   Set locally
-      Header <varargs.h> is not part of ANSI Standard. Should use <stdarg.h>
-      instead.
-      
-varuse
-   variable declared but not used
-   Category: alluse
-   Mode Settings: ++++
-   Set locally
-      A variable is declared but never used. Use /*@unused@*/ in front of
-      declaration to suppress message.
-      
-voidabstract
-   void * matches pointers to abstract types, casting ok (dangerous)
-   Categories: typeequivalence, abstract
-   Mode Settings: +---
-   Set locally
-      A pointer to void is cast to a pointer to an abstract type (or vice
-      versa).
-      
-warnflags
-   warn when command line sets flag in abnormal way
-   Category: help
-   Default Setting: +
-   Set locally
-      Command line sets flag in abnormal way
-      
-warnlintcomments
-   warn when a traditional lint comment is used
-   Categories: syncomments, suppress
-   Mode Settings: -+++
-   Set locally
-      A traditional lint comment is used. Some traditional lint comments are
-      interpreted by Splint to enable easier checking of legacy code. It is
-      preferable to replace these comments with the suggested Splint
-      alternative.
-      
-warnmissingglobs
-   global variable used in modifies clause is not listed in globals list
-   Categories: globals, modification
-   Mode Settings: ---+
-   Set locally
-      A global variable is used in the modifies clause, but it not listed in
-      the globals list.  The variable will be added to the globals list.
-      
-warnmissingglobsnoglobs
-   global variable used in modifies clause in a function with no globals list
-   Categories: globals, modification
-   Mode Settings: ---+
-   Set locally
-      A global variable is used in the modifies clause, but the function has no
-      globals list.  The variable will be added to the globals list.
-      
-warnposixheaders
-   a POSIX header is included, but the POSIX library is not used
-   Categories: libraries, ansi
-   Default Setting: +
-   Set locally
-      Header name matches a POSIX header, but the POSIX library is not
-      selected.
-      
-warnrc
-   warn when there are problems with reading the initialization files
-   Category: help
-   Default Setting: +
-   Set locally
-      There was a problem reading an initialization file
-      
-warnunixlib
-   warn when the unix library is used
-   Categories: libraries, ansi
-   Default Setting: +
-   Set locally
-      Unix library may not be compatible with all platforms
-      
-warnuse
-   warn when declaration marked with warn is used
-   Category: warnuse
-   Default Setting: +
-   Set locally
-      Declaration marked with warn clause is used (can be suppresed by more
-      specific flags).
-      
-whichlib
-   show standard library filename
-   Categories: libraries, initializations
-   Default Setting: -
-   Set globally only
-   
-whileblock
-   the body of a while statement is not a block
-   Category: controlflow
-   Mode Settings: ---+
-   Set locally
-      While body is a single statement, not a compound block.
-      
-whileempty
-   a while statement has no body
-   Category: controlflow
-   Mode Settings: --++
-   Set locally
-      While statement has no body.
-      
-whileloopexec
-   assume all while loops execute at least once
-   Categories: controlflow, memory
-   Default Setting: -
-   Set locally
-   
-zerobool
-   treat 0 as a boolean
-   Categories: typeequivalence, booleans
-   Mode Settings: ++--
-   Set locally
-   
-zeroptr
-   tread 0 as a pointer
-   Categories: typeequivalence, pointers
-   Default Setting: +
-   Set locally
-   
-
-
-
-null
-===================================
-null: <S><P:->
-   A possibly null pointer is misused (sets nullderef, nullpass, nullref,
-   nullassign, and nullstate).
-nullderef: <M:-+++>
-   A possibly null pointer is dereferenced.  Value is either the result of a
-   function which may return null (in which case, code should check it is not
-   null), or a global, parameter or structure field declared with the null
-   qualifier.
-nullpass: <M:-+++>
-   A possibly null pointer is passed as a parameter corresponding to a formal
-   parameter with no /*@null@*/ annotation.  If NULL may be used for this
-   parameter, add a /*@null@*/ annotation to the function parameter
-   declaration.
-nullret: <M:-+++>
-   Function returns a possibly null pointer, but is not declared using
-   /*@null@*/ annotation of result.  If function may return NULL, add
-   /*@null@*/ annotation to the return value declaration.
-nullstate: <M:-+++>
-   A possibly null pointer is reachable from a parameter or global variable
-   that is not declared using a /*@null@*/ annotation.
-nullassign: <M:-+++>
-   A reference with no null annotation is assigned or initialized to NULL.  Use
-   /*@null@*/ to declare the reference as a possibly null pointer.
-
-definition
-===================================
-usedef: <M:-+++>
-   An rvalue is used that may not be initialized to a value on some execution
-   path.
-
-memory
-===================================
-mustdefine: <M:-+++>
-   An out parameter or global is not defined before control is transferred.
-uniondef: <M:-+++>
-   No field of a union is defined. Generally, one field of a union is expected
-   to be defined.
-compdef: <M:-+++>
-   Storage derivable from a parameter, return value or global is not defined.
-   Use /*@out@*/ to denote passed or returned storage which need not be
-   defined.
-
-definition
-===================================
-fullinitblock: <P:+>
-   Initializer does not set every field in the structure.
-initallelements: <P:+>
-   Initializer does not define all elements of a declared array.
-initsize: <P:+>
-   Initializer block contains more elements than the size of a declared array.
-impouts: <M:---->
-   Pointer parameters to unspecified functions may be implicit out parameters.
-
-declarations
-===================================
-incondefs: <M:-+++>
-   A function, variable or constant is redefined with a different type.
-matchfields: <M:-+++>
-   A struct, union or enum type is redefined with inconsistent fields or
-   members.
-
-
-===================================
-fcnderef: <M:--++>
-   A function type is dereferenced.  The ANSI standard allows this because of
-   implicit conversion of function designators, however the dereference is
-   unnecessary.
-
-operations
-===================================
-realcompare: <M:-+++>
-   Two real (float, double, or long double) values are compared directly using
-   a C primitive. This may produce unexpected results since floating point
-   representations are inexact. Instead, compare the difference to FLT_EPSILON
-   or DBL_EPSILON.
-unsignedcompare: <M:-+++>
-   An unsigned value is used in a comparison with zero in a way that is either
-   a bug or confusing.
-ptrarith: <M:---+>
-   Pointer arithmetic using pointer and integer.
-nullptrarith: <M:--++>
-   Pointer arithmetic using a possibly null pointer and integer.
-ptrcompare: <M:-+++>
-   A pointer is compared to a number.
-strictops: <M:---+>
-   A primitive operation does not type check strictly.
-bitwisesigned: <M:---+>
-   An operand to a bitwise operator is not an unsigned values.  This may have
-   unexpected results depending on the signed representations.
-shiftnegative: <M:-+++>
-   The right operand to a shift operator may be negative (behavior undefined).
-shiftimplementation: <M:-+++>
-   The left operand to a shift operator may be negative (behavior is
-   implementation-defined).
-sizeoftype: <M:---+>
-   Operand of sizeof operator is a type. (Safer to use expression, int *x =
-   sizeof (*x); instead of sizeof (int).)
-sizeofformalarray: <P:+>
-   Operand of a sizeof operator is a function parameter declared as an array. 
-   The value of sizeof will be the size of a pointer to the element type, not
-   the number of elements in the array.
-
-declarations
-===================================
-fixedformalarray: <P:+>
-   A formal parameter is declared as an array with size.  The size of the array
-   is ignored in this context, since the array formal parameter is treated as a
-   pointer.
-incompletetype: <P:+>
-   A formal parameter is declared with an incomplete type.
-formalarray: <P:->
-   A formal parameter is declared as an array.  This can be confusing, since a
-   formal array parameter is treated as a pointer.
-
-booleans
-===================================
-booltype <string> [lltX_bool]: <P:->
-   Set name of boolean type (default bool).
-boolfalse <string> [FALSE]: <P:->
-   Set name of boolean false (default FALSE).
-booltrue <string> [TRUE]: <P:->
-   Set name of boolean true (default TRUE).
-likelybool: <P:+>
-   Use the -booltype, -boolfalse and -booltrue flags to change the name of the
-   default boolean type.
-boolcompare: <M:-+++>
-   Two bool values are compared directly using a C primitive. This may produce
-   unexpected results since all non-zero values are considered TRUE, so
-   different TRUE values may not be equal. The file bool.h (included in
-   splint/lib) provides bool_equal for safe bool comparisons.
-boolops: <M:-+++>
-   The operand of a boolean operator is not a boolean. Use +ptrnegate to allow
-   ! to be used on pointers.
-ptrnegate: <M:++-->
-   The operand of ! operator is a pointer.
-predassign: <P:+>
-   The condition test is an assignment expression. Probably, you mean to use ==
-   instead of =. If an assignment is intended, add an extra parentheses nesting
-   (e.g., if ((a = b)) ...) to suppress this message.
-predbool: <S><P:->
-   Test expression type is not boolean.
-
-predicates
-===================================
-predboolint: <M:-+++>
-   Test expression type is not boolean or int.
-
-booleans
-===================================
-predboolptr: <M:--++>
-   Test expression type is not boolean.
-predboolothers: <M:++++>
-   Test expression type is not boolean.
-
-abstract
-===================================
-abstract: <P:+>
-   An abstraction barrier is broken. If necessary, use /*@access <type>@*/ to
-   allow access to an abstract type.
-impabstract: <P:->
-   Assume user type definitions are abstract (unless /*@concrete@*/ is used).
-accessmodule: <P:+>
-   The representation of an abstract type defined in <M>.<x> is accessible
-   anywhere in a file named <M>.<y>.
-accessfile: <P:+>
-   The representation of an abstract type named <t> is accessible anywhere in a
-   file named <t>.<x>.
-accessczech: <P:+>
-   The representation of an abstract type named <t> is accessible in the
-   definition of a function or constant named <t>_<name>
-accessslovak: <P:->
-   The representation of an abstract type named <t> is accessible in the
-   definition of a function or constant named <t><Name>
-accessczechoslovak: <P:->
-   The representation of an abstract type named <t> is accessible in the
-   definition of a function or constant named <t>_<name> or <t><Name>
-accessall: <S><P:->
-   Sets accessmodule, accessfile and accessczech
-mutrep: <M:-+++>
-   LCL semantics requires that a mutable type exhibits sharing semantics. In
-   order for objects to be shared a indirection is necessary in the
-   representation. A mutable type may be represented by a pointer or an
-   abstract mutable type. Handles into static data are fine, too, but will
-   generate this error message unless it is suppressed.
-
-memory
-===================================
-mustfreefresh: <M:-+++>
-   A memory leak has been detected. Storage allocated locally is not released
-   before the last reference to it is lost.
-mustfreeonly: <M:-+++>
-   A memory leak has been detected. Only-qualified storage is not released
-   before the last reference to it is lost.
-mustfree: <S><P:->
-   A memory leak has been detected.
-usereleased: <M:-+++>
-   Memory is used after it has been released (either by passing as an only
-   param or assigning to an only global).
-strictusereleased: <M:---+>
-   Memory (through fetch) is used after it may have been released (either by
-   passing as an only param or assigning to an only global).
-compdestroy: <M:-+++>
-   A storage leak due to incomplete deallocation of a structure or deep pointer
-   is suspected. Unshared storage that is reachable from a reference that is
-   being deallocated has not yet been deallocated. Splint assumes when an
-   object is passed as an out only void pointer that the outer object will be
-   deallocated, but the inner objects will not.
-strictdestroy: <M:---+>
-   Report complete destruction errors for array elements that may have been
-   released.
-deparrays: <M:--++>
-   When an element is fetched from an array, Splint analysis is not able to
-   determine if the same element is reused. If +deparrays, Splint will mark
-   local storage assigned from array fetches as dependent.
-branchstate: <M:-+++>
-   The state of a variable is different depending on which branch is taken.
-   This means no annotation can sensibly be applied to the storage.
-strictbranchstate: <M:---+>
-   The state of a variable through an array fetch is different depending on
-   which branch is taken. This means no annotation can sensibly be applied to
-   the storage.
-memchecks: <S><P:->
-   Sets all dynamic memory checking flags (memimplicit, mustfree, mustdefine,
-   mustnotalias, null, memtrans).
-compmempass: <M:-+++>
-   Storage derivable from a parameter does not match the alias kind expected
-   for the formal parameter.
-stackref: <M:++++>
-   A stack reference is pointed to by an external reference when the function
-   returns. The stack-allocated storage is destroyed after the call, leaving a
-   dangling reference.
-memtrans: <S><P:->
-   Memory is transferred in a way that violates annotations.
-dependenttrans: <M:-+++>
-   Dependent storage is transferred to a non-dependent reference.
-newreftrans: <M:-+++>
-   A new reference is transferred to a reference counted reference.
-onlytrans: <M:-+++>
-   The only reference to this storage is transferred to another reference
-   (e.g., by returning it) that does not have the only annotation. This may
-   lead to a memory leak, since the new reference is not necessarily released.
-onlyunqglobaltrans: <M:--++>
-   The only reference to this storage is transferred to another reference that
-   does not have an aliasing annotation. This may lead to a memory leak, since
-   the new reference is not necessarily released.
-ownedtrans: <M:-+++>
-   The owned reference to this storage is transferred to another reference
-   (e.g., by returning it) that does not have the owned annotation. This may
-   lead to a memory leak, since the new reference is not necessarily released.
-freshtrans: <M:-+++>
-   Fresh storage (newly allocated in this function) is transferred in a way
-   that the obligation to release storage is not propagated.  Use the
-   /*@only@*/ annotation to indicate the a return value is the only reference
-   to the returned storage.
-sharedtrans: <M:-+++>
-   Shared storage is transferred to a non-shared reference. The other reference
-   may release storage needed by this reference.
-temptrans: <M:-+++>
-   Temp storage (associated with a formal parameter) is transferred to a
-   non-temporary reference. The storage may be released or new aliases created.
-kepttrans: <M:-+++>
-   storage is transferred to a non-temporary reference after being passed as
-   keep parameter. The storage may be released or new aliases created.
-keeptrans: <M:-+++>
-   Keep storage is transferred inconsistently --- either in a way that may add
-   a new alias to it, or release it.
-immediatetrans: <M:-+++>
-   An immediate address (result of & operator) is transferred inconsistently.
-refcounttrans: <M:-+++>
-   Reference counted storage is transferred in a way that may not be consistent
-   with the reference count.
-statictrans: <M:-+++>
-   Static storage is transferred in an inconsistent way.
-unqualifiedtrans: <M:-+++>
-   Unqualified storage is transferred in an inconsistent way.
-staticinittrans: <M:--++>
-   Static storage is used as an initial value in an inconsistent way.
-unqualifiedinittrans: <M:--++>
-   Unqualified storage is used as an initial value in an inconsistent way.
-readonlytrans: <M:--++>
-   A read-only string literal is assigned to a non-observer reference.
-passunknown: <M:---->
-   Passing a value as an un-annotated parameter clears its annotation.
-readonlystrings: <M:-+++>
-   String literals are read-only. An error is reported if a string literal may
-   be modified or released.
-memimp: <M:-+++>
-   Memory errors for unqualified storage.
-paramimptemp: <P:+>
-   Assume unannotated parameter is temp.
-allimponly: <S><P:->
-   Sets globimponly, retimponly, structimponly, specglobimponly, specretimponly
-   and specstructimponly.
-codeimponly: <S><P:->
-   Sets globimponly, retimponly and structimponly.
-specimponly: <S><P:->
-   Sets specglobimponly, specretimponly and specstructimponly.
-globimponly: <P:+>
-   Assume unannotated global storage is only.
-retimponly: <P:+>
-   Assume unannotated returned storage is only.
-structimponly: <P:+>
-   Assume unannotated structure field is only.
-specglobimponly: <P:->
-   Assume unannotated global storage is only.
-specretimponly: <P:->
-   Assume unannotated returned storage is only.
-specstructimponly: <P:->
-   Assume unannotated structure field is only.
-
-aliasing
-===================================
-aliasunique: <M:-+++>
-   A unique or only parameter is aliased by some other parameter or visible
-   global.
-mayaliasunique: <M:-+++>
-   A unique or only parameter may be aliased by some other parameter or visible
-   global.
-mustnotalias: <M:-+++>
-   An alias has been added to a temp-qualifier parameter or global that is
-   visible externally when the function returns. If the aliasing is needed, use
-   the /*@shared@*/ annotation to indicate that new aliases to the parameter
-   may be created.
-retalias: <M:--++>
-   The returned value shares storage with a parameter or global. If a parameter
-   is to be returned, use the returned qualifier. If the result is not
-   modified, use the observer qualifier on the result type. Otherwise, exposed
-   can be used, but limited checking is done.
-globalias: <S><P:->
-   A global variable aliases externally-visible state when the function
-   returns.
-checkstrictglobalias: <M:-+++>
-   A global variable aliases externally-visible state when the function
-   returns.
-checkedglobalias: <M:-+++>
-   A global variable aliases externally-visible state when the function
-   returns.
-checkmodglobalias: <M:-+++>
-   A global variable aliases externally-visible state when the function
-   returns.
-uncheckedglobalias: <M:--++>
-   A global variable aliases externally-visible state when the function
-   returns.
-
-memory
-===================================
-exposetrans: <M:-+++>
-   Exposed storage is transferred to a non-exposed, non-observer reference.
-observertrans: <M:-+++>
-   Observer storage is transferred to a non-observer reference.
-
-exposure
-===================================
-repexpose: <S><P:->
-   The internal representation of an abstract type is visible to the caller.
-   This means clients may have access to a pointer into the abstract
-   representation.
-retexpose: <M:--++>
-   The return value shares storage with an instance of an abstract type. This
-   means clients may have access to a pointer into the abstract representation.
-   Use the observer qualifier to return exposed storage that may not be
-   modified by the client. Use the exposed qualifier to return modifiable (but
-   not deallocatable) exposed storage (dangerous).
-assignexpose: <M:--++>
-   Storage internal to the representation of an abstract type is assigned to an
-   external pointer. This means clients may have access to a pointer into the
-   abstract representation. If the external pointer is a parameter, the exposed
-   qualifier can be used to allow the assignment, however, this is considered
-   dangerous programming practice.
-castexpose: <M:--++>
-   Storage internal to the representation of an abstract type is exposed
-   through a type cast. This means clients may have access to a pointer into
-   the abstract representation.
-
-declarations
-===================================
-redundantsharequal: <M:--++>
-   A declaration of an immutable object uses a redundant observer qualifier.
-misplacedsharequal: <M:-+++>
-   A declaration of an unsharable object uses a sharing annotation.
-
-modification
-===================================
-mods: <P:+>
-   An externally-visible object is modified by a function, but not listed in
-   its modifies clause.
-mustmod: <M:--++>
-   An object listed in the modifies clause is not modified by the
-   implementation of the function. The modification may not be detected if it
-   is done through a call to an unspecified function.
-modobserver: <P:+>
-   Storage declared with observer is possibly modified. Observer storage may
-   not be modified.
-modobserveruncon: <M:---+>
-   Storage declared with observer may be modified through a call to an
-   unconstrained function.
-modinternalstrict: <M:---+>
-   A function that modifies internalState is called from a function that does
-   not list internalState in its modifies clause
-modfilesys: <M:---+>
-   Report undocumented file system modifications (applies to unspecified
-   functions if modnomods is set).
-modunspec: <S><P:->
-   Modification in unspecified functions (sets modnomods, modglobunspec and
-   modstrictglobsunspec).
-modnomods: <M:---+>
-   An externally-visible object is modified by a function with no
-   /*@modifies@*/ comment. The /*@modifies ... @*/ control comment can be used
-   to give a modifies list for an unspecified function.
-moduncon: <M:---+>
-   An unconstrained function is called in a function body where modifications
-   are checked. Since the unconstrained function may modify anything, there may
-   be undetected modifications in the checked function.
-modunconnomods: <M:---+>
-   An unconstrained function is called in a function body where modifications
-   are checked. Since the unconstrained function may modify anything, there may
-   be undetected modifications in the checked function.
-globsimpmodsnothing: <M:--++>
-   An implicit modifies nothing clause is assumed for a function declared with
-   a globals list but not modifies clause.
-modsimpnoglobs: <M:---->
-   An implicit empty globals list is assumed for a function declared with a
-   modifies clause but no globals list.
-
-globals
-===================================
-globstate: <M:-+++>
-   A global variable does not satisfy its annotations when control is
-   transferred.
-globs: <P:+>
-   A checked global variable is used in the function, but not listed in its
-   globals clause. By default, only globals specified in .lcl files are
-   checked. To check all globals, use +allglobals. To check globals selectively
-   use /*@checked@*/ in the global declaration.
-globuse: <M:++++>
-   A global variable listed in the function's globals list is not used in the
-   body of the function.
-internalglobs: <M:---+>
-   A called function uses internal state, but the globals list for the function
-   being checked does not include internalState
-internalglobsnoglobs: <M:---+>
-   A called function uses internal state, but the function being checked has no
-   globals list
-warnmissingglobs: <M:---+>
-   A global variable is used in the modifies clause, but it not listed in the
-   globals list.  The variable will be added to the globals list.
-warnmissingglobsnoglobs: <M:---+>
-   A global variable is used in the modifies clause, but the function has no
-   globals list.  The variable will be added to the globals list.
-globnoglobs: <M:---+>
-   A specified global variable is used in the function, but not listed in its
-   globals list. Without +globnoglobs, only globals declared with
-   /*@checkedstrict@*/ will produce use errors in functions without globals
-   lists. The /*@globals ... @*/ control comment can be used to give a globals
-   list for an unspecified function.
-allglobs: <M:--++>
-   Report use and modification errors for globals not annotated with unchecked.
-checkstrictglobs: <M:++++>
-   Report use and modification errors for checkedstrict globals.
-impcheckedspecglobs: <M:-+++>
-   Assume checked qualifier for unqualified global declarations in .lcl files.
-impcheckmodspecglobs: <M:---->
-   Assume checkmod qualifier for unqualified global declarations in .lcl files.
-impcheckedstrictspecglobs: <M:---+>
-   Assume checkmod qualifier for unqualified global declarations in .lcl files.
-impcheckedglobs: <M:---->
-   Assume checked qualifier for unqualified global declarations.
-impcheckmodglobs: <M:---->
-   Assume checkmod qualifier for unqualified global declarations.
-impcheckedstrictglobs: <M:---+>
-   Assume checkedstrict qualifier for unqualified global declarations.
-impcheckedstatics: <M:---->
-   Assume checked qualifier for unqualified file static declarations.
-impcheckmodstatics: <M:---->
-   Assume checkmod qualifier for unqualified file static declarations.
-impcheckmodinternals: <M:--++>
-   Assume checkmod qualifier for unqualified local static declarations (for
-   internal state modifications).
-impcheckedstrictstatics: <M:---+>
-   Assume checkedstrict qualifier for unqualified file static declarations.
-modglobs: <M:-+++>
-   A checked global variable is modified by the function, but not listed in its
-   modifies clause.
-modglobsnomods: <M:---+>
-   A checked global variable is modified by the function, but not listed in its
-   modifies clause.
-modstrictglobsnomods: <M:---+>
-   A checked global variable is modified by the function, but not listed in its
-   modifies clause.
-modglobsunchecked: <M:---+>
-   An unchecked global variable is modified by the function, but not listed in
-   its modifies clause.
-
-controlflow
-===================================
-noret: <M:-+++>
-   There is a path through a function declared to return a value on which there
-   is no return statement. This means the execution may fall through without
-   returning a meaningful result to the caller.
-emptyreturn: <P:+>
-   Empty return in function declared to return value.
-alwaysexits: <P:+>
-   Loop predicate always exits.
-loopexec: <S><P:->
-   Assume all loops execute at least once (sets forloopexec, whileloopexec and
-   iterloopexec).
-forloopexec: <P:->
-   Assume all for loops execute at least once.
-whileloopexec: <P:->
-   Assume all while loops execute at least once.
-iterloopexec: <P:->
-   Assume all iterator loops execute at least once.
-obviousloopexec: <P:+>
-   Assume loop that can be determined to always execute always does.
-
-undefined
-===================================
-evalorder: <M:-+++>
-   Code has unspecified behavior. Order of evaluation of function parameters or
-   subexpressions is not defined, so if a value is used and modified in
-   different places not separated by a sequence point constraining evaluation
-   order, then the result of the expression is unspecified.
-evalorderuncon: <M:---+>
-   Code involving a call to function with no modifies or globals clause may
-   have undefined or implementation-dependent behavior (Splint assumes the
-   unconstrained call may modify any reachable state or use any global). Add a
-   specification for the function.
-
-controlflow
-===================================
-infloops: <M:-+++>
-   This appears to be an infinite loop. Nothing in the body of the loop or the
-   loop test modifies the value of the loop test. Perhaps the specification of
-   a function called in the loop body is missing a modification.
-infloopsuncon: <M:--++>
-   This appears to be an infinite loop. Nothing in the body of the loop or the
-   loop test modifies the value of the loop test. There may be a modification
-   through a call to an unconstrained function, or an unconstrained function in
-   the loop test may use a global variable modified by the loop body.
-casebreak: <M:-+++>
-   Execution falls through from the previous case.
-misscase: <M:-+++>
-   Not all values in an enumeration are present as cases in the switch.
-firstcase: <M:-+++>
-   The first statement after a switch is not a case.
-duplicatecases: <P:+>
-   Duplicate cases in switch.
-deepbreak: <S><P:->
-   A break statement appears inside the body of a nested while, for or switch
-   statement. Sets looploopbreak, loopswitchbreak, switchloopbreak,
-   switchswitchbreak, and looploopcontinue.
-looploopbreak: <M:--++>
-   A break statement appears inside the body of a nested while or for
-   statement. This is perfectly reasonable code, but check that the break is
-   intended to break only the inner loop. The break statement may be preceded
-   by /*@innerbreak@*/ to suppress the message for this break only.
-switchloopbreak: <M:--++>
-   A break statement appears inside the body of a while or for statement within
-   a switch. This is perfectly reasonable code, but check that the break is
-   intended to break only the inner loop. The break statement may be preceded
-   by /*@loopbreak@*/ to suppress the message for this break only.
-loopswitchbreak: <M:---+>
-   A break statement appears inside a switch statement within a while or for
-   loop. This is perfectly reasonable code, but check that the break is
-   intended to break only the inner loop. The break statement may be preceded
-   by /*@switchbreak@*/ to suppress the message for this break only.
-switchswitchbreak: <M:---+>
-   A break statement appears inside a switch statement within another switch
-   statement. This is perfectly reasonable code, but check that the break is
-   intended to break only the inner switch. The break statement may be preceded
-   by /*@innerbreak@*/ to suppress the message for this break only.
-looploopcontinue: <M:---+>
-   A continue statement appears inside a loop within a loop. This is perfectly
-   reasonable code, but check that the continue is intended to continue only
-   the inner loop. The continue statement may be preceded by
-   /*@innercontinue@*/ to suppress the message for this continue only.
-whileempty: <M:--++>
-   While statement has no body.
-whileblock: <M:---+>
-   While body is a single statement, not a compound block.
-forempty: <M:---+>
-   For statement has no body.
-forblock: <M:---+>
-   Loop body is a single statement, not a compound block.
-ifempty: <M:++++>
-   If statement has no body.
-ifblock: <M:---+>
-   If body is a single statement, not a compound block.
-allempty: <S><P:->
-   An if, while or for statement has no body (sets ifempty, whileempty and
-   forempty.
-allblock: <S><P:->
-   Body is a single statement, not a compound block.
-elseifcomplete: <M:---+>
-   There is no final else following an else if construct.
-unreachable: <M:-+++>
-   This code will never be reached on any possible execution.
-
-effect
-===================================
-noeffect: <M:-+++>
-   Statement has no visible effect --- no values are modified.
-noeffectuncon: <M:---+>
-   Statement has no visible effect --- no values are modified. It may modify
-   something through a call to an unconstrained function.
-
-returnvals
-===================================
-retval: <S><P:->
-   Result returned by function call is not used. If this is intended, cast
-   result to (void) to eliminate message.
-retvalother: <M:++++>
-   Result returned by function call is not used. If this is intended, can cast
-   result to (void) to eliminate message.
-retvalbool: <M:-+++>
-   Result returned by function call is not used. If this is intended, can cast
-   result to (void) to eliminate message.
-retvalint: <M:-+++>
-   Result returned by function call is not used. If this is intended, can cast
-   result to (void) to eliminate message.
-
-memorybounds
-===================================
-nullterminated: <M:---->
-   A possibly non-nullterminated string/memory is used/referenced as a
-   nullterminated one.
-bounds: <S><P:->
-   Memory read or write may be out of bounds of allocated storage.
-boundsread: <M:---->
-   A memory read references memory beyond the allocated storage.
-boundswrite: <M:---->
-   A memory write may write to an address beyond the allocated buffer.
-fcnpost: <M:---->
-   Display function post conditions.
-redundantconstraints: <M:---->
-   Display seemingly redundant constraints
-checkpost: <M:---->
-   The function implementation may not satisfy a post condition given in an
-   ensures clause.
-implictconstraint: <M:---->
-   Generate implicit constraints for functions.
-orconstraint: <M:---->
-   Use limited OR expressions to resolve constraints.
-nullterminated: <M:---->
-   A user annotated non-nullterminated buffer is used/referenced as a
-   nullterminated one.
-showconstraintparens: <M:---->
-   Display parentheses around constraint terms.
-showconstraintlocation: <M:---->
-   Display location for every constraint generated.
-
-extensible
-===================================
-mts <filename>: <G><P:->
-   Load meta state declaration and corresponding xh file.
-statetransfer: <M:++++>
-   Transfer violates user-defined state rules.
-statemerge: <M:++++>
-   Control path merge violates user-defined state merge rules.
-
-macros
-===================================
-macroredef: <M:-+++>
-   A macro is defined in more than one place.
-macrounrecog: <M:-+++>
-   An unrecognized identifier appears in a macro. If the identifier is defined
-   before the macro is used, then this is okay.
-macroconstdecl: <M:-+++>
-   Macro constant has no declaration. Use /*@constant ...@*/ to declare the
-   macro.
-macrostmt: <M:-+++>
-   A macro is defined in a way that may cause syntactic problems. If the macro
-   returns a value, use commas to separate expressions;
-   otherwise, use do { <macro body> } while (FALSE) construct.
-macroempty: <M:---+>
-   A macro definition has no body.
-macroparams: <M:-+++>
-   A macro parameter is not used exactly once in all possible invocations of
-   the macro. To behave like a function, each macro parameter must be used
-   exactly once on all invocations of the macro so that parameters with
-   side-effects are evaluated exactly once. Use /*@sef@*/ to denote parameters
-   that must be side-effect free.
-macroreturn: <M:---->
-   The body of a macro declared as a function uses a return statement. This
-   exhibits behavior that could not be implemented by a function.
-macroassign: <M:-+++>
-   A macro parameter is used as the left side of an assignment expression. This
-   exhibits behavior that could not be implemented by a function.
-macroparens: <M:-+++>
-   A macro parameter is used without parentheses. This could be dangerous if
-   the macro is invoked with a complex expression and precedence rules will
-   change the evaluation inside the macro.
-macrodecl: <M:---->
-   Argument checking cannot be done well for macros without prototypes or
-   specifications, since the types of the arguments are unknown.
-macrofcndecl: <M:-+++>
-   Function macro has no declaration.
-sefparams: <M:-+++>
-   An actual parameter corresponding to a sef parameter may have a side-effect.
-sefuncon: <M:--++>
-   An actual parameter corresponding to a sef parameter involves a call to a
-   procedure with no modifies clause that may have a side-effect.
-constmacros: <P:->
-   Every non-parameterized macro (not preceded by /*@notfunction@*/) is checked
-   as a constant.
-fcnmacros: <P:->
-   Every parameterized macro (not preceded by /*@notfunction@*/) is checked as
-   a function.
-allmacros: <S><P:->
-   All macros (not preceded by /*@notfunction@*/) are checked as functions or
-   constants depending on whether or not they have parameter lists.
-libmacros: <P:->
-   Every macro declared in the load library is checked.
-specmacros: <P:+>
-   Every macro declared a specification file is checked.
-macromatchname: <M:++++>
-   A iter or constant macro is defined using a different name from the one used
-   in the previous syntactic comment
-nextlinemacros: <P:+>
-   A constant or iter declaration is not immediately followed by a macro
-   definition.
-
-iterators
-===================================
-iterbalance: <P:+>
-   Iter is not balanced with end_<iter>.
-iteryield: <P:+>
-   Iter yield parameter is inappropriate.
-hasyield: <P:->
-   An iterator has been declared with no parameters annotated with yield. This
-   may be what you want, if the iterator is meant to do something a fixed
-   number of times, but returns no information to the calling context.
-   Probably, a parameter is missing the yield annotation to indicate that it is
-   assigned a value in the calling context.
-
-names
-===================================
-namechecks: <P:+>
-   Controls name checking without changing other settings.
-czech: <S><P:->
-   Name is not consistent with Czech naming convention.
-czechfcns: <P:->
-   Function or iterator name is not consistent with Czech naming convention.
-czechvars: <P:->
-   Variable name is not consistent with Czech naming convention.
-czechmacros: <P:->
-   Expanded macro name is not consistent with Czech naming convention.
-czechconsts: <P:->
-   Constant name is not consistent with Czech naming convention.
-czechtypes: <P:->
-   Type name is not consistent with Czech naming convention. Czech type names
-   must not use the underscore character.
-slovak: <S><P:->
-   Name is not consistent with Slovak naming convention.
-slovakfcns: <P:->
-   Function or iterator name is not consistent with Slovak naming convention.
-slovakmacros: <P:->
-   Expanded macro name is not consistent with Slovak naming convention.
-slovakvars: <P:->
-   Variable name is not consistent with Slovak naming convention.
-slovakconsts: <P:->
-   Constant name is not consistent with Slovak naming convention.
-slovaktypes: <P:->
-   Type name is not consistent with Slovak naming convention. Slovak type names
-   may not include uppercase letters.
-czechoslovak: <S><P:->
-   Name is not consistent with either Czech or Slovak naming convention.
-czechoslovakfcns: <P:->
-   Function name is not consistent with Czechoslovak naming convention.
-czechoslovakmacros: <P:->
-   Expanded macro name is not consistent with Czechoslovak naming convention.
-czechoslovakvars: <P:->
-   Variable name is not consistent with Czechoslovak naming convention.
-czechoslovakconsts: <P:->
-   Constant name is not consistent with Czechoslovak naming convention.
-czechoslovaktypes: <P:->
-   Type name is not consistent with Czechoslovak naming convention.
-   Czechoslovak type names may not include uppercase letters or the underscore
-   character.
-macrovarprefix <string> [m_]: <-><P:+>
-   A variable declared in a macro body does not start with the macrovarprefix.
-macrovarprefixexclude: <P:+>
-   A variable declared outside a macro body starts with the macrovarprefix.
-tagprefix <string>: <-><P:->
-   A tag identifier does not start with the tagprefix.
-tagprefixexclude: <P:->
-   An identifier that is not a tag starts with the tagprefix.
-enumprefix <string>: <-><P:->
-   An enum member does not start with the enumprefix.
-enumprefixexclude: <P:->
-   An identifier that is not an enum member starts with the enumprefix.
-filestaticprefix <string>: <-><P:->
-   A file-static identifier does not start with the filestaticprefix.
-filestaticprefixexclude: <P:->
-   An identifier that is not file static starts with the filestaticprefix.
-globalprefix <string>: <-><P:->
-   A global variable does not start with the globalprefix
-globalprefixexclude: <P:->
-   An identifier that is not a global variable starts with the globalprefix.
-typeprefix <string>: <-><P:->
-   A user-defined type does not start with the typeprefix
-typeprefixexclude: <P:->
-   An identifier that is not a type name starts with the typeprefix.
-externalprefix <string>: <-><P:->
-   An external identifier does not start with the externalprefix
-externalprefixexclude: <P:->
-   An identifier that is not external starts with the externalprefix.
-localprefix <string>: <-><P:->
-   A local variable does not start with the localprefix
-localprefixexclude: <P:->
-   An identifier that is not a local variable starts with the localprefix.
-uncheckedmacroprefix <string>: <-><P:->
-   An unchecked macro name does not start with the uncheckedmacroprefix
-uncheckedmacroprefixexclude: <P:->
-   An identifier that is not the name of an unchecked macro starts with the
-   uncheckedmacroprefix.
-constprefix <string>: <-><P:->
-   A constant does not start with the constantprefix
-constprefixexclude: <P:->
-   An identifier that is not a constant starts with the constantprefix.
-iterprefix <string>: <-><P:->
-   An iter does not start with the iterator prefix
-iterprefixexclude: <P:->
-   An identifier that is not a iter starts with the iterprefix.
-protoparamprefix <string>: <-><P:->
-   A parameter name in a function prototype declaration does not start with the
-   declaration parameter prefix
-isoreserved: <M:--++>
-   External name is reserved for system use by ISO C99 standard.
-cppnames: <M:--++>
-   External name is a C++ keyword or reserved word. This could lead to problems
-   if the code is compiled with a C++ compiler.
-isoreservedinternal: <M:---+>
-   Internal name is reserved for system in ISO C99 standard (this should not be
-   necessary unless you are worried about C library implementations that
-   violate the standard and use macros).
-distinctexternalnames: <P:->
-   An external name is not distinguishable from another external name using the
-   number of significant characters. According to ANSI Standard (3.1), an
-   implementation may only consider the first 6 characters significant, and
-   ignore alphabetical case distinctions (ISO C99 requires 31). The
-   +externalnamelen <n> flag may be used to change the number of significant
-   characters, and -externalnamecaseinsensitive to make alphabetical case
-   significant in external names.
-externalnamelen <number> [31]: <S><P:->
-   Sets the number of significant characters in an external name (default is 6
-   for old ANSI89 limit, C99 requires 31). Sets +distinctexternalnames.
-externalnamecaseinsensitive: <S><P:+>
-   Make alphabetic case insignificant in external names. By ANSI89 standard,
-   case need not be significant in an external name. If +distinctexternalnames
-   is not set, sets +distinctexternalnames with unlimited external name length.
-distinctinternalnames: <P:->
-   An internal name is not distinguishable from another internal name using the
-   number of significant characters. According to ANSI89 Standard (3.1), an
-   implementation may only consider the first 31 characters significant (ISO
-   C99 specified 63). The +internalnamelen <n> flag changes the number of
-   significant characters, -internalnamecaseinsensitive to makes alphabetical
-   case significant, and +internalnamelookalike to make similar-looking
-   characters non-distinct.
-internalnamelen <number> [63]: <S><P:->
-   Sets the number of significant characters in an internal name (ANSI89
-   default is 31.)  Sets +distinctinternalnames.
-internalnamecaseinsensitive: <S><P:->
-   Set whether case is significant an internal names (-internalnamecaseinsensiti
-   ve means case is significant). By ANSI89 default, case is not significant. 
-   If +distinctinternalnames is not set, sets +distinctinternalnames with
-   unlimited internal name length.
-internalnamelookalike: <S><P:->
-   Set whether similar looking characters (e.g., "1" and "l") match in internal
-   names.
-protoparamname: <M:---+>
-   A parameter in a function prototype has a name.  This is dangerous, since a
-   macro definition could be visible here.
-protoparammatch: <M:--++>
-   A parameter in a function definition does not have the same name as the
-   corresponding in the declaration of the function after removing the
-   protoparamprefix
-protoparamprefixexclude: <P:->
-   An identifier that is not a parameter name in a function prototype starts
-   with the protoparamprefix.
-
-alluse
-===================================
-topuse: <M:---+>
-   An external declaration not used in any source file.
-exportlocal: <M:-+++>
-   A declaration is exported, but not used outside this module. Declaration can
-   use static qualifier.
-exportheader: <M:--++>
-   A declaration is exported, but does not appear in a header file.
-exportheadervar: <M:--++>
-   A variable declaration is exported, but does not appear in a header file.
-   (Used with exportheader.)
-fielduse: <M:-+++>
-   A field is present in a structure type but never used. Use /*@unused@*/ in
-   front of field declaration to suppress message.
-enummemuse: <M:-+++>
-   A member of an enum type is never used.
-constuse: <M:-+++>
-   A constant is declared but not used. Use unused in the constant declaration
-   to suppress message.
-fcnuse: <M:++++>
-   A function is declared but not used. Use /*@unused@*/ in front of function
-   header to suppress message.
-paramuse: <M:-+++>
-   A function parameter is not used in the body of the function. If the
-   argument is needed for type compatibility or future plans, use /*@unused@*/
-   in the argument declaration.
-typeuse: <M:++++>
-   A type is declared but not used. Use /*@unused@*/ in front of typedef to
-   suppress messages.
-varuse: <M:++++>
-   A variable is declared but never used. Use /*@unused@*/ in front of
-   declaration to suppress message.
-unusedspecial: <M:---+>
-   Unused declaration in special file (corresponding to .l or .y file).
-
-complete
-===================================
-declundef: <M:--++>
-   A function or variable is declared, but not defined in any source code file.
-specundef: <M:-+++>
-   A function or variable is declared in an .lcl file, but not defined in any
-   source code file.
-specundecl: <P:->
-   A function or variable is declared in an .lcl file, but not declared in any
-   source code file.
-
-declarations
-===================================
-newdecl: <P:->
-   There is a new declaration that is not declared in a loaded library or
-   earlier file.  (Use this flag to check for consistency against a library.)
-
-initializations
-===================================
-needspec: <P:->
-   There is information in the specification that is not duplicated in
-   syntactic comments. Normally, this is not an error, but it may be useful to
-   detect it to make sure checking incomplete systems without the
-   specifications will still use this information.
-
-libraries
-===================================
-nolib: <-><G><P:->
-   Do not load standard library.
-isolib: <G><P:->
-   Library based on the ISO standard library specification is used.
-strictlib: <G><P:->
-   Stricter version of the standard library is used. (The default library is
-   standard.lcd;  strict library is strict.lcd.)
-unixlib: <G><P:->
-   UNIX version of the standard library is used.
-unixstrictlib: <G><P:->
-   strict version of the UNIX library is used.
-posixlib: <G><P:->
-   POSIX version of the standard library is used.
-posixstrictlib: <G><P:->
-   POSIX version of the strict standard library is used.
-whichlib: <G><P:->
-   Show standard library filename.
-warnposixheaders: <P:+>
-   Header name matches a POSIX header, but the POSIX library is not selected.
-warnunixlib: <P:+>
-   Unix library may not be compatible with all platforms
-usevarargs: <P:+>
-   Header <varargs.h> is not part of ANSI Standard. Should use <stdarg.h>
-   instead.
-dump <filename>: <G><P:->
-   Save state for merging (default suffix .lcd).
-load <filename>: <G><P:->
-   Load state from dump file (default suffix .lcd).
-
-headers
-===================================
-singleinclude: <G><P:->
-   When checking multiple files, each header file is processed only once. This
-   may change the meaning of the code, if the same header file is included in
-   different contexts (e.g., the header file includes #if directives and the
-   values are different when it is included in different places.)
-neverinclude: <G><P:->
-   Ignore header includes. Only works if relevant information is loaded from a
-   library.
-skipsysheaders: <G><P:->
-   Do not include header files in system directories (set by -sysdirs)
-
-
-===================================
-gnuextensions: <P:+>
-   ANSI C does not allow some language features supported by gcc and other
-   compilers. Use +gnuextensions to allow some of these extensions.
-
-prototypes
-===================================
-noparams: <M:--++>
-   A function declaration does not have a parameter list.
-oldstyle: <M:---+>
-   Function definition is in old style syntax. Standard prototype syntax is
-   preferred.
-
-systemfunctions
-===================================
-maintype: <P:+>
-   The function main does not match the expected type.
-exitarg: <M:-+++>
-   The argument to exit should be 0, EXIT_SUCCESS or EXIT_FAILURE
-
-declarations
-===================================
-shadow: <M:-+++>
-   An outer declaration is shadowed by the local declaration.
-incondefslib: <M:-+++>
-   A function, variable or constant previously defined in a library is
-   redefined with a different type.
-overload: <M:---->
-   A function, variable or constant defined in the library is redefined with a
-   different type.
-nestedextern: <M:-+++>
-   An extern declaration is used inside a function scope.
-redecl: <M:--++>
-   A function or variable is declared in more than one place. This is not
-   necessarily a problem, since the declarations are consistent.
-redef: <P:+>
-   A function or variable is redefined. One of the declarations should use
-   extern.
-imptype: <M:-+++>
-   A variable declaration has no explicit type.  The type is implicitly int.
-
-directories
-===================================
-tmpdir <directory> [/tmp/]: <G><P:->
-   Set directory for writing temp files.
-larchpath <path> [.:/usr/local/share/splint/lib:/af9/drl7x/reTmp/LCLintDev/lib:]
-: <G><P:->
-   Set path for searching for library files (overrides LARCH_PATH environment
-   variable).
-lclimportdir <directory> [.:/usr/local/share/splint/imports:/af9/drl7x/reTmp/LCL
-intDev/imports]: <G><P:->
-   Set directory to search for LCL import files (overrides LCLIMPORTDIR).
-sysdirs <path> [/usr/]: <G><P:->
-   Set directories for system files (default /usr/include). Separate
-   directories with path separator (colons in Unix, semi-colons in Windows).
-   Flag settings propagate to files in a system directory. If -sysdirerrors is
-   set, no errors are reported for files in system directories..
-skipansiheaders: <P:+>
-   Prevent inclusion of header files in a system directory with names that
-   match standard ANSI headers. The symbolic information in the standard
-   library is used instead.  Flag in effect only if a library including the
-   ANSI library is loaded.  The ANSI headers are:
-   assert, ctype, errno, float, limits, locale, math, setjmp, signal, stdarg,
-   stddef, stdio, stdlib, strings, string, time, and wchar..
-skipposixheaders: <P:+>
-   Prevent inclusion of header files in a system directory with names that
-   match standard POSIX headers. The symbolic information in the posix library
-   is used instead.  The POSIX headers are:
-   dirent, fcntl, grp, pwd, termios, sys/stat, sys/times, sys/types,
-   sys/utsname, sys/wait, unistd, and utime..
-sysdirerrors: <M:---+>
-   Report errors in files in system directories (set by -sysdirs).
-sysdirexpandmacros: <P:+>
-   Expand macros in system directories regardless of other settings, except for
-   macros corresponding to names defined in a load library.
-I<directory>: <G><P:->
-   Add to C include path.
-S<directory>: <G><P:->
-   Add to spec path.
-
-export
-===================================
-exportany: <S><P:->
-   A variable, function or type is exported, but not specified.
-exportfcn: <M:---+>
-   A function is exported, but not specified.
-exportmacro: <M:---+>
-   A macro is exported, but not specified.
-exporttype: <M:---+>
-   A type is exported, but not specified.
-exportvar: <M:---+>
-   A variable is exported, but not specified.
-exportconst: <M:---+>
-   A constant is exported, but not specified.
-exportiter: <M:---+>
-   A constant is exported, but not specified.
-
-format
-===================================
-linelen <number> [80]: <P:->
-   Set length of messages (number of chars).
-indentspaces <number> [3]: <P:->
-   Set number of spaces to indent sub-messages.
-showcolumn: <P:+>
-   Show column number where error is found.
-parenfileformat: <P:->
-   Show column number where error is found.
-showfunc: <P:+>
-   Show name of function containing error.
-showallconjs: <P:->
-   When a library function is declared with multiple possible type, the
-   alternate types are shown only if +showallconjs.
-
-libraries
-===================================
-impconj: <P:->
-   Make all alternate types implicit (useful for making system libraries.
-
-<No Category>
-===================================
-expect <number> [0]: <G><P:->
-   Expect <int> code errors.
-lclexpect <number> [0]: <G><P:->
-   Expect <int> spec errors.
-partial: <-><S><P:->
-   Check as partial system (-specundef, -declundef, -exportlocal, don't check
-   macros in headers without corresponding .c files).
-
-headers
-===================================
-lh: <G><P:->
-   Generate .lh files.
-lcs: <G><P:+>
-   Generate .lcs files.
-
-help
-===================================
-warnflags: <P:+>
-   Command line sets flag in abnormal way
-warnrc: <P:+>
-   There was a problem reading an initialization file
-badflag: <P:+>
-   A flag is not recognized or used in an incorrect way
-fileextensions: <P:+>
-   Warn when command line file does not have a recognized extension.
-help: <G><P:->
-   Display help
-
-initializations
-===================================
-f <filename>: <G><P:->
-   Read an options file (instead of loading default ~/.splintc)
-i <filename>: <G><P:->
-   Set LCL initilization file.
-nof: <G><P:->
-   Do not read the default options file (~/.splintrc)
-commentchar <character> [@]: <P:->
-   Set the marker character for syntactic comments. Comments beginning with
-   /*<char> are interpreted by Splint, where <char> is the comment marker
-   character.
-
-limits
-===================================
-controlnestdepth <number> [63]: <M:---+>
-   Maximum number of control levels exceeded.
-stringliterallen <number> [4095]: <M:---+>
-   Maximum length of string literal exceeded.
-numstructfields <number> [1023]: <M:---+>
-   Maximum number of fields in a struct or union exceeded.
-numenummembers <number> [1023]: <M:---+>
-   Limit on maximum number of members of an enum is exceeded.
-includenest <number> [63]: <M:--++>
-   Maximum number of nested #include files exceeded.
-ansi89limits: <S><P:->
-   Check for violations of standard limits (controlnestdepth, stringliterallen,
-   includenest, numstructfields, numenummembers) based on ANSI89 standard.
-iso99limits: <S><P:->
-   Check for violations of standard limits (controlnestdepth, stringliterallen,
-   includenest, numstructfields, numenummembers) based on ISO99 standard.
-
-preproc
-===================================
-D<initializer>: <G><P:->
-   Passed to pre-processor.
-U<initializer>: <G><P:->
-   Passed to pre-processor.
-unrecogdirective: <P:+>
-   Pre-processor directive is not recognized.
-
-suppress
-===================================
-supcounts: <G><P:+>
-   The number of errors detected does not match number in /*@i<n>@*/..
-limit <number> [-1]: <P:->
-   Limit <int> consecutive repeated errors.
-
-
-===================================
-syntax: <P:+>
-   Code cannot be parsed.  For help on parse errors, see splint -help
-   parseerrors.
-trytorecover: <P:->
-   Try to recover from parse error.  It really means try - this doesn't usually
-   work.
-preproc: <P:+>
-   Preprocessing error.
-
-
-===================================
-type: <P:+>
-   Types are incompatible.
-stringliteraltoolong: <P:+>
-   A string literal is assigned to a char array too small to hold it.
-stringliteralnoroom: <M:-+++>
-   A string literal is assigned to a char array that is not big enough to hold
-   the null terminator.
-stringliteralsmaller: <M:--++>
-   A string literal is assigned to a char array that smaller than the string
-   literal needs.
-enummembers: <M:---->
-   Type of initial values for enum members must be int.
-formattype: <P:+>
-   Type of parameter is not consistent with corresponding code in format
-   string.
-formatconst: <M:-+++>
-   Format parameter is not known at compile-time.  This can lead to security
-   vulnerabilities because the arguments cannot be type checked.
-formatcode: <P:+>
-   Format code in a format string is not valid.
-
-typeequivalence
-===================================
-forwarddecl: <M:+--->
-   Forward declarations of pointers to abstract representation match abstract
-   type.
-voidabstract: <M:+--->
-   A pointer to void is cast to a pointer to an abstract type (or vice versa).
-castfcnptr: <P:+>
-   A pointer to a function is cast to (or used as) a pointer to void (or vice
-   versa).
-charindex: <M:+--->
-   To allow char types to index arrays, use +charindex.
-enumindex: <M:---->
-   To allow enum types to index arrays, use +enumindex.
-boolint: <M:+--->
-   To make bool and int types equivalent, use +boolint.
-charint: <M:+--->
-   To make char and int types equivalent, use +charint.
-enumint: <M:++-->
-   To make enum and int types equivalent, use +enumint.
-floatdouble: <M:+--->
-   To make float and double types equivalent, use +floatdouble.
-ignorequals: <M:---->
-   To ignore type qualifiers in type comparisons use +ignorequals.
-duplicatequals: <P:+>
-   Duplicate type qualifiers not supported by ISO standard.
-ignoresigns: <M:---->
-   To ignore signs in type comparisons use +ignoresigns
-numliteral: <M:++-->
-   An int literal is used as any numeric type (including float and long long).
-   Use +numliteral to allow int literals to be used as any numeric type.
-charintliteral: <M:+--->
-   A character constant is used as an int. Use +charintliteral to allow
-   character constants to be used as ints.  (This is safe since the actual type
-   of a char constant is int.)
-relaxquals: <M:++-->
-   To allow qualifier mismatches that are not dangerous, use +relaxquals.
-relaxtypes: <M:---->
-   To allow all numeric types to match, use +relaxtypes.
-charunsignedchar: <M:+--->
-   To allow char and unsigned char types to match use +charunsignedchar.
-matchanyintegral: <M:---->
-   To allow arbitrary integral types to match any integral type, use
-   +matchanyintegral.
-longunsignedintegral: <M:+--->
-   To allow arbitrary integral types to match long unsigned, use
-   +longunsignedintegral.
-longintegral: <M:---->
-   To allow arbitrary integral types to match long unsigned, use +longintegral.
-longunsignedunsignedintegral: <M:+--->
-   To allow arbitrary unsigned integral types to match long unsigned, use
-   +longunsignedunsignedintegral.
-longsignedintegral: <M:---->
-   To allow arbitrary signed integral types to match long unsigned, use
-   +longsignedintegral.
-zeroptr: <P:+>
-   Tread 0 as a pointer.
-zerobool: <M:++-->
-   Treat 0 as a boolean.
-
-unrecognized
-===================================
-repeatunrecog: <P:->
-   Identifier used in code has not been declared. (Message repeated for future
-   uses in this file.)
-sysunrecog: <P:+>
-   Identifier used in code has not been declared. (Message repeated for future
-   uses in this file.)  Use +gnuextensions to make Splint recognize some
-   keywords that are gnu extensions.
-unrecog: <P:+>
-   Identifier used in code has not been declared.
-
-declarations
-===================================
-annotationerror: <P:+>
-   A declaration uses an invalid annotation.
-commenterror: <P:+>
-   A syntactic comment is used inconsistently.
-
-warnuse
-===================================
-warnuse: <P:+>
-   Declaration marked with warn clause is used (can be suppresed by more
-   specific flags).
-bufferoverflow: <M:-+++>
-   Use of function that may lead to buffer overflow.
-bufferoverflowhigh: <M:++++>
-   Use of function that may lead to buffer overflow.
-implementationoptional: <M:--++>
-   Use of a declarator that is implementation optional, not required by ISO99.
-legacy: <M:---->
-   Use of a declarator that is marked as a legacy entry in the Unix Standard.
-multithreaded: <M:--++>
-   Non-reentrant function should not be used in multithreaded code.
-portability: <M:--++>
-   Use of function that may have implementation-dependent behavior.
-superuser: <M:--++>
-   Call to function restricted to superusers.
-toctou: <M:---+>
-   Possible time of check, time of use vulnerability.
-unixstandard: <M:---->
-   Use of function that need not be provided by UNIX implementations
-
-its4
-===================================
-its4mostrisky: <S><P:->
-   Security vulnerability classified as most risky in its4 database.
-its4veryrisky: <S><P:->
-   Security vulnerability classified as very risky in its4 database.
-its4risky: <S><P:->
-   Security vulnerability classified as risky in its4 database.
-its4moderate: <S><P:->
-   Security vulnerability classified as moderate risk in its4 database.
-its4low: <S><P:->
-   Security vulnerability classified as risky in its4 database.
-
-syncomments
-===================================
-nocomments: <P:->
-   Ignore all stylized comments.
-noaccess: <P:->
-   Ignore access comments.
-unrecogcomments: <P:+>
-   Word after a stylized comment marker does not correspond to a stylized
-   comment.
-unrecogflagcomments: <P:+>
-   Semantic comment attempts to set a flag that is not recognized.
-tmpcomments: <M:---->
-   Interpret t comments (ignore errors in lines marked with /*@t<n>@*/.
-lintcomments: <P:+>
-   Interpret traditional lint comments (/*FALLTHROUGH*/, /*NOTREACHED*/).
-warnlintcomments: <M:-+++>
-   A traditional lint comment is used. Some traditional lint comments are
-   interpreted by Splint to enable easier checking of legacy code. It is
-   preferable to replace these comments with the suggested Splint alternative.
-
-comments
-===================================
-continuecomment: <P:->
-   A line continuation marker (\) appears inside a comment on the same line as
-   the comment close. Preprocessors should handle this correctly, but it causes
-   problems for some preprocessors.
-slashslashcomment: <P:->
-   A // comment is used.  ISO C99 allows // comments, but earlier standards did
-   not.
-nestcomment: <P:+>
-   A comment open sequence (/*) appears within a comment.  This usually means
-   an earlier comment was not closed.
-
-display
-===================================
-quiet: <P:->
-   Suppress herald and error count.
-usestderr: <P:->
-   Send error messages to standard error (instead of standard out).
-showsummary: <P:->
-   Show summary of all errors reported and suppressed.
-showscan: <P:->
-   Show file names are they are processed.
-stats: <G><P:->
-   Display lines processed and time.
-timedist: <G><P:->
-   Display time distribution.
-showalluses: <G><P:->
-   Show sorted list of uses of all globals.
-
-hints
-===================================
-hints: <P:+>
-   Provide a hint the first time a particular warning appears
-forcehints: <P:->
-   Provide a hint for every warning
-
-debug
-===================================
-bugslimit <number> [3]: <P:->
-   Set maximum number of bugs detected before giving up.
-debugfcnconstraint: <M:---->
-   Perform buffer overflow checking even if the errors would be surpressed.
-grammar: <-><S><P:->
-   Debug parsing.
-keep: <-><P:->
-   Do not delete temporary files.
-nopp: <-><P:->
-   Do not pre-process input files.
-showsourceloc: <-><P:->
-   Display the source code location where a warning is produced.
-
This page took 0.254517 seconds and 5 git commands to generate.