]> andersk Git - splint.git/blobdiff - src/clabstract.c
Fixed /*@i@*/ warning in splintme
[splint.git] / src / clabstract.c
index 3798ba6d945727617d53527f26506d45fc4607cb..f1da5b09c50a700a9c8ce56d94c88785342d2a1f 100644 (file)
@@ -1,6 +1,6 @@
 /*
 ** Splint - annotation-assisted static program checker
-** Copyright (C) 1994-2002 University of Virginia,
+** Copyright (C) 1994-2003 University of Virginia,
 **         Massachusetts Institute of Technology
 **
 ** This program is free software; you can redistribute it and/or modify it
@@ -36,6 +36,8 @@
 # include "structNames.h"
 # include "nameChecks.h"
 
+# include "cscannerHelp.h"
+
 # ifdef SANITIZER
 # include "sgrammar_tokens.h"
 # else
@@ -2161,7 +2163,9 @@ sRef checkStateClausesId (uentry ue)
       voptgenerror 
        (FLG_COMMENTERROR,
         message ("Global variable %s used state clause.  (Global variables "
-                 "are not recognized in state clauses.  If there is "
+                 "are not recognized in state clauses.  If they are present "
+                 "they are ignored. "
+                 " If there is "
                  "sufficient interest in support for this, it may be "
                  "added to a future release.  Send mail to "
                  "info@splint.org.)",
@@ -2224,7 +2228,9 @@ sRef checkbufferConstraintClausesId (uentry ue)
     {
       llfatalerrorLoc (cstring_makeLiteral("Macro defined constants can not be used in function constraints unless they are specifed with the constant annotation.  To use a macro defined constant include an annotation of the form /*@constant <type> <name>=<value>@*/ somewhere before the function constraint.  This restriction may be removed in future releases if it is determined to be excessively burdensome." ));
     }
-  return sRef_saveCopy (sr); /*@i523 why the saveCopy? */
+
+  /*@ savedCopy to used to mitigate danger of accessing freed memory*/
+  return sRef_saveCopy (sr); 
 }
 
 void checkModifiesId (uentry ue)
@@ -2358,20 +2364,22 @@ sRef fixStateClausesId (cstring s)
        }
       else
        {
-         /*@i222@*/
-         /*drl handle structure invariant */
 
-         /*@i222@*/
+         /* drl This is the code for structure invariants
+
+         It is no yet stable enough to be included in a Splint release.
+         */
+
          /*check that we're in a structure */
-# if 0\r
+#if 0
                  /*@unused@*/    uentryList ueL;
          /*@unused@*/ uentry ue2;
          /*@unused@*/ ctype ct;\r
-# endif
+#endif
          fileloc loc = fileloc_decColumn (g_currentloc, size_toInt (cstring_length (s)));
          ret = sRef_undefined; 
 # if 0
-         /*drl commenting this out for now 
+         
          ct = context_getLastStruct ( ct );
 
          llassert( ctype_isStruct(ct) );
@@ -2390,8 +2398,8 @@ sRef fixStateClausesId (cstring s)
              
              return ret;
            }
-         */\r
-# endif\r
+         
+#endif
 
          voptgenerror 
            (FLG_UNRECOG, 
This page took 0.062127 seconds and 4 git commands to generate.