]> andersk Git - splint.git/blobdiff - src/context.c
Fixed all /*@i...@*/ tags (except 1).
[splint.git] / src / context.c
index eed3a0571bb7839378d1eb3ed5d8c14f160da5d2..e0755e4e2eed131756e6e6add94f519c5be9fc06 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
@@ -34,7 +34,7 @@
  */
 
 # include "splintMacros.nf"
-# include "llbasic.h"
+# include "basic.h"
 
 # include "usymtab_interface.h"
 # include "exprChecks.h"
@@ -143,7 +143,7 @@ static struct
   int counters[NUMVALUEFLAGS];
 
   o_cstring strings[NUMSTRINGFLAGS];
-  sRefSetList modrecs; /*@i32 ???? what is this for? */
+  sRefSetList modrecs; /* Keep track of file static symbols modified. */
 
   metaStateTable stateTable; /* User-defined state information. */
   annotationTable annotTable; /* User-defined annotations table. */
@@ -726,6 +726,8 @@ context_resetAllFlags (void)
              val = DEFAULT_LINELEN; break;
            case FLG_INDENTSPACES: 
              val = DEFAULT_INDENTSPACES; break;
+           case FLG_LOCINDENTSPACES: 
+             val = DEFAULT_LOCINDENTSPACES; break;
            case FLG_EXTERNALNAMELEN:
              val = ISO99_EXTERNALNAMELEN; break;
            case FLG_INTERNALNAMELEN:
@@ -829,10 +831,9 @@ context_resetAllFlags (void)
   ** These flags are true by default.
   */
 
-  /*@i34 move this into flags.def */
+  /* eventually, move this into flags.def */
     
   gc.flags[FLG_STREAMOVERWRITE] = TRUE;
-
   gc.flags[FLG_OBVIOUSLOOPEXEC] = TRUE;
   gc.flags[FLG_MODIFIES] = TRUE;
   gc.flags[FLG_NESTCOMMENT] = TRUE;
@@ -840,6 +841,7 @@ context_resetAllFlags (void)
   gc.flags[FLG_FULLINITBLOCK] = TRUE;
   gc.flags[FLG_INITSIZE] = TRUE;
   gc.flags[FLG_INITALLELEMENTS] = TRUE;
+  gc.flags[FLG_NULLINIT] = TRUE;
 
   gc.flags[FLG_STRINGLITTOOLONG] = TRUE;
 
@@ -885,6 +887,7 @@ context_resetAllFlags (void)
   gc.flags[FLG_WARNUNIXLIB] = TRUE;
   gc.flags[FLG_WARNPOSIX] = TRUE;
   gc.flags[FLG_SHOWCOL] = TRUE;
+  gc.flags[FLG_SHOWDEEPHISTORY] = FALSE; /* TRUE; */
   gc.flags[FLG_SHOWFUNC] = TRUE;
   gc.flags[FLG_SUPCOUNTS] = TRUE;
   gc.flags[FLG_HINTS] = TRUE;
@@ -1039,6 +1042,7 @@ context_setModeAux (cstring s, bool warn)
          FLG_UNSIGNEDCOMPARE,
          FLG_PARAMUNUSED, FLG_VARUNUSED, FLG_FUNCUNUSED, 
          FLG_TYPEUNUSED,
+         FLG_ABSTRACTCOMPARE,
          FLG_CONSTUNUSED, FLG_ENUMMEMUNUSED, FLG_FIELDUNUSED,
          FLG_PTRNUMCOMPARE, FLG_BOOLCOMPARE, FLG_UNSIGNEDCOMPARE,
          FLG_MUTREP, FLG_NOEFFECT, FLG_IMPTYPE, 
@@ -1112,7 +1116,7 @@ context_setModeAux (cstring s, bool warn)
        { 
          FLG_BOOLINT, FLG_CHARINT, FLG_FLOATDOUBLE, FLG_LONGINT, FLG_SHORTINT,
          FLG_ENUMINT, FLG_RELAXQUALS, FLG_FORWARDDECL, 
-         FLG_CHARINDEX, FLG_ABSTVOIDP, FLG_USEALLGLOBS, 
+         FLG_CHARINDEX, FLG_NUMABSTRACTINDEX, FLG_ABSTVOIDP, FLG_USEALLGLOBS, 
          FLG_CHARUNSIGNEDCHAR,
          FLG_PREDBOOLOTHERS, 
          FLG_NUMABSTRACTLIT,
@@ -1143,6 +1147,7 @@ context_setModeAux (cstring s, bool warn)
        { 
          FLG_EXPORTLOCAL, FLG_IMPTYPE, 
          FLG_NUMABSTRACTCAST,
+         FLG_ABSTRACTCOMPARE,
          FLG_STATETRANSFER, FLG_STATEMERGE,
          FLG_CHECKSTRICTGLOBALIAS,
          FLG_CHECKEDGLOBALIAS,
@@ -1166,6 +1171,7 @@ context_setModeAux (cstring s, bool warn)
          FLG_SPECUNDEF, FLG_IMPCHECKMODINTERNALS,
          FLG_DECLUNDEF, FLG_INCONDEFS, FLG_INCONDEFSLIB, 
          FLG_MISPLACEDSHAREQUAL, FLG_REDUNDANTSHAREQUAL,
+         FLG_NUMABSTRACTPRINT,
          FLG_MATCHFIELDS, 
          FLG_MACROPARAMS,
          FLG_MACROASSIGN,
@@ -1238,6 +1244,7 @@ context_setModeAux (cstring s, bool warn)
     {
       flagcode modeflags[] = 
        { 
+         FLG_ABSTRACTCOMPARE,
          FLG_CHECKSTRICTGLOBALIAS, 
          FLG_NUMABSTRACTCAST,
          FLG_CHECKEDGLOBALIAS,
@@ -1246,6 +1253,7 @@ context_setModeAux (cstring s, bool warn)
          FLG_MODFILESYSTEM,
          FLG_MACROMATCHNAME,
          FLG_FORMATCONST,
+         FLG_NUMABSTRACTPRINT,
          FLG_STRINGLITNOROOM,
          FLG_STRINGLITNOROOMFINALNULL,
          FLG_STRINGLITSMALLER,
@@ -2292,8 +2300,7 @@ static
 void context_exitClauseAux (exprNode pred, exprNode tbranch)
 {
   context_setJustPopped ();
-  /*@i32 was makeAlt */
-  usymtab_popTrueBranch (pred, tbranch, gc.inclause);
+  usymtab_popTrueBranch (pred, tbranch, gc.inclause); /* evans 2003-02-02?: was makeAlt */
   clauseStack_pop (gc.clauses);
   gc.inclause = topClause (gc.clauses);
 }
@@ -3017,8 +3024,10 @@ context_setString (flagcode flag, cstring val)
       {
        ; /* Okay not handle everything in this switch */
       }
-  /*@i523@*/ } /* evans 2002-03-24: splintme reports a spurious (I think) warning here...need to look into it */
-  
+      /*@-branchstate@*/
+    } /* evans 2002-03-24: splintme reports a spurious (I think) warning here...need to look into it */
+  /*@=branchstate@*/ 
+
   if (cstring_length (val) >= 1
       && cstring_firstChar (val) == '\"')
     {
@@ -4134,11 +4143,24 @@ context_setFlagAux (flagcode f, bool b, bool inFile,
       DOSET (FLG_ALLMACROS, b);
       DOSET (FLG_FCNMACROS, b);
       DOSET (FLG_CONSTMACROS, b);
-      break;
+      break;      
     case FLG_BOUNDS:
       DOSET (FLG_BOUNDSREAD, b);
       DOSET (FLG_BOUNDSWRITE, b);
+      DOSET (FLG_LIKELYBOUNDSREAD, b);
+      DOSET (FLG_LIKELYBOUNDSWRITE, b);
+      break;
+    case FLG_BOUNDSREAD:
+      DOSET (FLG_LIKELYBOUNDSREAD, b);
       break;
+    case FLG_BOUNDSWRITE:
+      DOSET (FLG_LIKELYBOUNDSWRITE, b);
+      break;
+    case FLG_LIKELYBOUNDS:
+      DOSET (FLG_LIKELYBOUNDSREAD, b);
+      DOSET (FLG_LIKELYBOUNDSWRITE, b);
+      break;
+      
     case FLG_CZECH:
       if (b) { DOSET (FLG_ACCESSCZECH, b); }
       DOSET (FLG_CZECHFUNCTIONS, b);
@@ -4583,6 +4605,29 @@ bool context_inLCLLib (void)
   return (gc.kind == CX_LCLLIB);
 }
 
+
+/*drl add these 3/5/2003*/
+static bool inSizeof = FALSE;
+
+bool context_inSizeof (void)
+{
+  return (inSizeof);
+}
+
+void context_enterSizeof (void)
+{
+  DPRINTF((message("context_enterSizeof ") ) );
+  inSizeof = TRUE;
+}
+
+void context_leaveSizeof (void)
+{ 
+  DPRINTF((message("context_leaveSizeof ") ));
+  inSizeof = FALSE;
+}
+/*end function added 3/5/2003*/
+
+
 bool context_inImport (void)
 {
   return (gc.inimport);
@@ -4814,7 +4859,7 @@ valueTable context_createValueTable (sRef s, stateInfo sinfo)
   if (metaStateTable_size (gc.stateTable) > 0)
     {
       valueTable res = valueTable_create (metaStateTable_size (gc.stateTable));
-      /*@i32 should use smaller value... */
+      /* should use smaller value... */
       DPRINTF (("Value table for: %s", sRef_unparse (s)));
       
       metaStateTable_elements (gc.stateTable, msname, msi)
@@ -4855,11 +4900,11 @@ valueTable context_createGlobalMarkerValueTable (stateInfo sinfo)
   if (metaStateTable_size (gc.stateTable) > 0)
     {
       valueTable res = valueTable_create (metaStateTable_size (gc.stateTable));
-      /*@i32 should use smaller value... */
+      /* should use smaller value... */
       
       metaStateTable_elements (gc.stateTable, msname, msi)
        {
-         /*@i23 only add global...*/
+         /* only add global...*/
          DPRINTF (("Create: %s", metaStateInfo_unparse (msi)));
          llassert (cstring_equal (msname, metaStateInfo_getName (msi)));
          
This page took 0.502683 seconds and 4 git commands to generate.