]> andersk Git - splint.git/commitdiff
Fixed some splintme errors.
authordrl7x <drl7x>
Mon, 3 Mar 2003 00:32:18 +0000 (00:32 +0000)
committerdrl7x <drl7x>
Mon, 3 Mar 2003 00:32:18 +0000 (00:32 +0000)
src/Makefile.am
src/Makefile.in
src/constraintExpr.c
src/constraintTerm.c

index dd1f7f78703c4c16214aa009e0e843981846dbef..f2e405aa62e9de4d1371017b807796aff53bcbfa 100644 (file)
@@ -393,7 +393,7 @@ etags:
 lintnew: splintme
 
 splintme: 
-       ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(OVERFLOWCHSRC) $(LCLSRC) -dump lclint +forcehints -misplacedsharequal +showsourceloc -unrecogcomments -supcounts -fcnuse -incondefs -exportlocal -constuse -mts file -mts filerw 
+       ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude  $(OVERFLOWCHSRC) $(LINTSRC) $(LCLSRC) -dump lclint +forcehints -misplacedsharequal +showsourceloc -unrecogcomments -supcounts -fcnuse -incondefs -exportlocal -constuse -mts file -mts filerw 
 
 lintbuffercheck: 
        ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(OVERFLOWCHSRC) $(LCLSRC) -dump lclint +forcehints -misplacedsharequal +showsourceloc -unrecogcomments -supcounts -fcnuse -incondefs -exportlocal -constuse -mts file -mts filerw +bounds -DLINTBUFFERCHECK
index 6db7488248fdf8dc4529bc69266bebf52c71ebba..1669d0a4edcc81c037ee56bd9fd65310da1b5049 100644 (file)
@@ -1124,7 +1124,7 @@ etags:
 lintnew: splintme
 
 splintme: 
-       ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(OVERFLOWCHSRC) $(LCLSRC) -dump lclint +forcehints -misplacedsharequal +showsourceloc -unrecogcomments -supcounts -fcnuse -incondefs -exportlocal -constuse -mts file -mts filerw 
+       ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude  $(OVERFLOWCHSRC) $(LINTSRC) $(LCLSRC) -dump lclint +forcehints -misplacedsharequal +showsourceloc -unrecogcomments -supcounts -fcnuse -incondefs -exportlocal -constuse -mts file -mts filerw 
 
 lintbuffercheck: 
        ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(OVERFLOWCHSRC) $(LCLSRC) -dump lclint +forcehints -misplacedsharequal +showsourceloc -unrecogcomments -supcounts -fcnuse -incondefs -exportlocal -constuse -mts file -mts filerw +bounds -DLINTBUFFERCHECK
index 0c1060b13ffa5be4ee04380b8b35a99699afca22..3d96627a0c0420ec9b7b5cfc2f28009a1689614e 100644 (file)
 /*@-czechfcns@*/
 
 /*@access exprNode@*/ /* !!! NO! Don't do this recklessly! */
-/*@-nullderef@*/ /* !!! DRL needs to fix this code! */
-/*@-nullstate@*/ /* !!! DRL needs to fix this code! */
-/*@-temptrans@*/ /* !!! DRL needs to fix this code! */
-
+// /*@-nullderef@*/ /* !!! DRL needs to fix this code! */
+// /*@-nullstate@*/ /* !!! DRL needs to fix this code! */
+// /*@-temptrans@*/ /* !!! DRL needs to fix this code! */
 
+/*@only@*/ /*@notnull@*/
+constraintExpr constraintExpr_makeIntLiteral (long i);
 static ctype constraintExpr_getOrigType (constraintExpr p_e);
 static bool constraintExpr_hasTypeChange(constraintExpr p_e) /*@*/;
 
@@ -67,7 +68,7 @@ static ctype constraintExpr_getCType (constraintExpr p_e);
 
 static /*@only@*/ constraintExpr constraintExpr_adjustMaxSetForCast(/*@only@*/ constraintExpr p_e, ctype p_ct);
 
-/*@special@*/ static constraintExpr constraintExpr_makeBinaryOp (void) 
+/*@special@*/ /*@notnull@*/ static constraintExpr constraintExpr_makeBinaryOp (void) 
      /* @allocates result->data @ @sets result->kind @ */ ;
 
 void constraintExpr_free (/*@only@*/ constraintExpr expr)
@@ -152,7 +153,7 @@ static bool isZeroBinaryOp (constraintExpr expr)
 
 /* change expr + (o - expr) to (expr -expr) */
 
-/*@only@*/ static constraintExpr removeZero (/*@only@*/ /*@returned@*/ constraintExpr expr)
+/*@only@*/ /*@notnull@*/ static constraintExpr removeZero (/*@only@*/ /*@returned@*/ constraintExpr expr)
 {
   constraintExpr expr1, expr2;
   
@@ -162,10 +163,11 @@ static bool isZeroBinaryOp (constraintExpr expr)
   
   constraintExprBinaryOpKind  tempOp;
 
+  llassert (expr != NULL); /* evans 2001-07-18 */
+
   if (!isZeroBinaryOp(expr) )
     return expr;
 
-  llassert (expr != NULL); /* evans 2001-07-18 */
   
   expr1 = constraintExprData_binaryExprGetExpr1(expr->data);
   expr2 = constraintExprData_binaryExprGetExpr2(expr->data);
@@ -199,7 +201,7 @@ static bool isZeroBinaryOp (constraintExpr expr)
 }
 
 
-/*@only@*/ constraintExpr constraintExpr_propagateConstants (/*@only@*/ constraintExpr expr,
+/*@only@*//*@notnull@*/  constraintExpr constraintExpr_propagateConstants (/*@only@*/ constraintExpr expr,
                                                /*@out@*/ bool * propagate,
                                                  /*@out@*/ int *literal)
 {
@@ -334,7 +336,7 @@ static bool isZeroBinaryOp (constraintExpr expr)
   return expr;
 }
 
-/*@only@*/ static constraintExpr constraintExpr_combineConstants (/*@only@*/ constraintExpr expr ) /*@modifies expr@*/
+/*@notnull@*/ /*@only@*/ static constraintExpr constraintExpr_combineConstants (/*@only@*/ constraintExpr expr ) /*@modifies expr@*/
 {
   bool propagate;
   int literal;
@@ -395,6 +397,17 @@ constraintExpr constraintExpr_copy (constraintExpr expr)
 {
   constraintExpr ret;
   ret = constraintExpr_alloc ();
+
+
+  /*drl 03/02/2003 this shouldn't be used to copy a null
+    expression but handle things cleanly if it is*/
+  llassert (!constraintExpr_isUndefined(expr) );
+
+  if (constraintExpr_isUndefined(expr) )
+    {
+      return constraintExpr_undefined;
+    }
+  
   ret->kind = expr->kind;
   
   ret->data = copyExprData (expr->data, expr->kind);
@@ -589,7 +602,7 @@ constraintExpr constraintExpr_makeTermsRef (/*@temp@*/ sRef s)
   return ret;
 }
 
-/*@special@*/ static constraintExpr makeUnaryOpGeneric (void) /*@allocates result->data@*/ /*@defines result->kind@*/
+/*@special@*/ /*@notnull@*/ static constraintExpr makeUnaryOpGeneric (void) /*@allocates result->data@*/ /*@defines result->kind@*/
 {
   constraintExpr ret;
   ret = constraintExpr_alloc();
@@ -599,7 +612,7 @@ constraintExpr constraintExpr_makeTermsRef (/*@temp@*/ sRef s)
   return ret;
 }
 
-/*@only@*/ static constraintExpr constraintExpr_makeUnaryOpConstraintExpr (/*@only@*/ constraintExpr cexpr)
+/*@notnull@*/ /*@only@*/ static constraintExpr constraintExpr_makeUnaryOpConstraintExpr (/*@only@*/ constraintExpr cexpr)
 {
   constraintExpr ret;
   ret = makeUnaryOpGeneric();
@@ -616,7 +629,7 @@ constraintExpr constraintExpr_makeTermsRef (/*@temp@*/ sRef s)
 }
 
 
-/*@only@*/ static constraintExpr constraintExpr_makeUnaryOp (/*@only@*/ constraintExpr cexpr,   constraintExprUnaryOpKind Op )
+/*@only@*/ /*@notnull@*/static constraintExpr constraintExpr_makeUnaryOp (/*@only@*/ constraintExpr cexpr,   constraintExprUnaryOpKind Op )
 {
   constraintExpr ret;
   ret = makeUnaryOpGeneric();
@@ -630,15 +643,7 @@ constraintExpr constraintExpr_makeTermsRef (/*@temp@*/ sRef s)
   return ret;
 }
 
-/*@only@*/
-static constraintExpr constraintExpr_makeMaxSetConstraintExpr (/*@only@*/ constraintExpr c)
-{
-  constraintExpr ret;
-  ret = constraintExpr_makeUnaryOp (c, MAXSET);
-  return ret;
-}
-
-/*@only@*/
+/*@only@*/ /*@notnull@*/
 static constraintExpr constraintExpr_makeUnaryOpExprNode (/*@exposed@*/ exprNode expr)
 {
   constraintExpr ret;
@@ -649,9 +654,16 @@ static constraintExpr constraintExpr_makeUnaryOpExprNode (/*@exposed@*/ exprNode
   return ret;
 }
 
+/*@only@*/ /*@notnull@*/
+static constraintExpr constraintExpr_makeMaxSetConstraintExpr (/*@only@*/ constraintExpr c)
+{
+  constraintExpr ret;
+  ret = constraintExpr_makeUnaryOp (c, MAXSET);
+  return ret;
+}
 
 
-/*@only@*/
+/*@only@*/ /*@notnull@*/
 static constraintExpr constraintExpr_makeSRefUnaryOp (/*@temp@*/ /*@observer@*/ sRef s,  constraintExprUnaryOpKind op)
 {
   constraintExpr ret;
@@ -745,7 +757,7 @@ constraintExpr constraintExpr_makeValueExpr (/*@exposed@*/ exprNode expr)
   return ret;
 }
 
-/*@only@*/
+/*@only@*/ /*@notnull@*/
 constraintExpr constraintExpr_makeIntLiteral (long i)
 {
   constraintExpr ret;
@@ -769,7 +781,7 @@ constraintExpr constraintExpr_makeValueInt (int i)
 }
 */
 
-/*@only@*/
+/*@only@*/ /*@notnull@*/
  /*@special@*/ static constraintExpr constraintExpr_makeBinaryOp (void)
       /*@allocates result->data @*/ /*@sets result->kind @*/
 {
@@ -785,7 +797,7 @@ constraintExpr constraintExpr_makeValueInt (int i)
 }
 
 
-static /*@only@*/ constraintExpr constraintExpr_makeBinaryOpConstraintExpr (/*@only@*/constraintExpr expr1, /*@only@*/ constraintExpr expr2)
+static /*@notnull@*/ /*@only@*/ constraintExpr constraintExpr_makeBinaryOpConstraintExpr (/*@only@*/constraintExpr expr1, /*@only@*/ constraintExpr expr2)
      
 {
   constraintExpr ret;
@@ -836,7 +848,7 @@ constraintExpr constraintExpr_parseMakeBinaryOp (/*@only@*/ constraintExpr expr1
 }
 # endif
 
-static /*@only@*/
+static /*@notnull@*/ /*@only@*/
 constraintExpr constraintExpr_makeBinaryOpConstraintExprIntLiteral (/*@only@*/ constraintExpr expr, int literal)
 {
   constraintExpr ret;
@@ -1053,6 +1065,11 @@ bool constraintExpr_search (/*@observer@*/ constraintExpr c, /*@observer@*/ cons
       return TRUE;
     }
 
+  llassert (constraintExpr_isDefined (c) && constraintExpr_isDefined(old) );
+
+  if ( !(constraintExpr_isDefined (c) && constraintExpr_isDefined(old) ) )
+    return FALSE;
+
   kind = c->kind;
   
   switch (kind)
@@ -1084,15 +1101,21 @@ bool constraintExpr_search (/*@observer@*/ constraintExpr c, /*@observer@*/ cons
   constraintExprKind kind;
   constraintExpr temp;
   constraintExpr ret;
+
+  llassert(constraintExpr_isDefined (newExpr) && (constraintExpr_isDefined (old) && constraintExpr_isDefined(c) ) );
   
   if ( constraintExpr_similar (c, old) )
     {
       
       ctype newType, cType;
 
+
+      
       
       ret = constraintExpr_copy (newExpr);
-
+      llassert(constraintExpr_isDefined(ret) );
+      /*drl if newExpr != NULL then ret will != NULL*/
+      
       DPRINTF((message ("Replacing %s with %s",
                        constraintExpr_unparse(old), constraintExpr_unparse(newExpr)
                        )));
@@ -1164,7 +1187,7 @@ bool constraintExpr_search (/*@observer@*/ constraintExpr c, /*@observer@*/ cons
   return c;
 }
 
-static constraintExpr constraintExpr_simplifyChildren (/*@returned@*/ constraintExpr c)
+/*@notnull@*/ static constraintExpr constraintExpr_simplifyChildren (/*@returned@*/ /*@notnull@*/ constraintExpr c)
 {
   constraintExprKind kind;
   constraintExpr temp;
@@ -1240,7 +1263,7 @@ constraintExpr constraintExpr_setFileloc (/*@returned@*/ constraintExpr c, filel
   return c;
 }
 
-static /*@only@*/ constraintExpr constraintExpr_simplifybinaryExpr (/*@only@*/constraintExpr c)
+static /*@only@*/ constraintExpr constraintExpr_simplifybinaryExpr (/*@only@*/ /*@notnull@*/ constraintExpr c)
 {
   constraintExpr e1, e2;
   constraintExprBinaryOpKind  op;
@@ -1283,6 +1306,8 @@ static /*@only@*/ constraintExpr constraintExpr_simplifybinaryExpr (/*@only@*/co
 {
   constraintExpr expr1, expr2;
   constraintExprBinaryOpKind op;
+
+  llassert(constraintExpr_isDefined (lexpr)  && constraintExpr_isDefined (expr)  );
   
   if (lexpr->kind != binaryexpr)
     return expr;
@@ -1294,7 +1319,9 @@ static /*@only@*/ constraintExpr constraintExpr_simplifybinaryExpr (/*@only@*/co
 
   expr1 = constraintExpr_copy(expr1);
   expr2 = constraintExpr_copy(expr2);
-
+  
+  llassert(constraintExpr_isDefined (expr1)  && constraintExpr_isDefined (expr2)  );
+  
   /* drl possible problem : warning make sure this works */
   
   lexpr->kind = expr1->kind;
@@ -1325,7 +1352,8 @@ static /*@only@*/ constraintExpr constraintExpr_simplifybinaryExpr (/*@only@*/co
 static /*@only@*/ constraintExpr constraintExpr_simplifyunaryExpr (/*@only@*/ constraintExpr c)
 {
   constraintExpr exp;
-  
+
+  llassert(constraintExpr_isDefined (c) );
   llassert (c->kind == unaryExpr);
 
   DPRINTF ((message ("Doing constraintExpr_simplifyunaryExpr:%s", constraintExpr_unparse (c) ) ) );
@@ -1339,6 +1367,8 @@ static /*@only@*/ constraintExpr constraintExpr_simplifyunaryExpr (/*@only@*/ co
   exp = constraintExprData_unaryExprGetExpr (c->data);
   exp = constraintExpr_copy(exp);
   
+  llassert(constraintExpr_isDefined (exp)  );
+  
   if (exp->kind == term)
     {
       constraintTerm cterm;
@@ -1453,8 +1483,15 @@ static /*@only@*/ constraintExpr constraintExpr_simplifyunaryExpr (/*@only@*/ co
   
   /* drl: I think this is an Splint bug */
 
+  llassert ( constraintExpr_isDefined (c) );
+  if (constraintExpr_isUndefined (c) )
+    {
+      return constraintExpr_undefined;
+    }
+  
   ret =  constraintExpr_copy(c);
-
+  llassert(constraintExpr_isDefined (ret) );
+          
   constraintExpr_free(c);
 
   ret = constraintExpr_simplifyChildren (ret);
@@ -1781,12 +1818,20 @@ int constraintExpr_compare (constraintExpr expr1, constraintExpr expr2)
 
 long constraintExpr_getValue (constraintExpr expr)
 {
+  llassert (constraintExpr_isDefined(expr) );
   llassert (expr->kind == term);
+  
   return (constraintTerm_getValue (constraintExprData_termGetTerm (expr->data)));
 }
 
 bool constraintExpr_canGetValue (constraintExpr expr)
 {
+  llassert ( constraintExpr_isDefined (expr) );
+  if (constraintExpr_isUndefined (expr) )
+    {
+      return FALSE;
+    }
+
   switch (expr->kind)
     {
     case term:
@@ -1805,6 +1850,13 @@ fileloc constraintExpr_getFileloc (constraintExpr expr)
 constraintTerm t;
   constraintExprKind kind;
 
+  llassert ( constraintExpr_isDefined (expr) );
+  if (constraintExpr_isUndefined (expr) )
+    {
+      return fileloc_undefined;
+    }
+
+  
  kind = expr->kind;
   
   switch (kind)
@@ -1835,14 +1887,18 @@ doFixResultTerm (/*@only@*/ constraintExpr e, /*@exposed@*/ exprNode fcnCall)
 {
   constraintTerm t;
   sRef s;
-  /*maybe this should move to cosntraintExpr.c -drl7x 5/18/01*/
-  /*@i22*/
 
-  constraintExprData data = e->data;
-  constraintExprKind kind = e->kind;
+  
+  constraintExprData data;
+  constraintExprKind kind;
   
   constraintExpr ret;
 
+  llassert(constraintExpr_isDefined (e) );
+  
+  data = e->data;
+  kind = e->kind;
+
   llassert(kind == term);
 
   t = constraintExprData_termGetTerm (data);
@@ -1943,12 +1999,21 @@ doSRefFixConstraintParamTerm (/*@only@*/ constraintExpr e, /*@observer@*/ /*@tem
 {
   constraintTerm t;
 
-  constraintExprData data = e->data;
+  constraintExprData data;
   
-  constraintExprKind kind = e->kind;
+  constraintExprKind kind;
   
   constraintExpr ret;
 
+
+  llassert(constraintExpr_isDefined (e) );
+
+  data = e->data;
+  
+  kind = e->kind;
+
+  
+
   llassert(kind == term);
 
   t = constraintExprData_termGetTerm (data);
@@ -1993,22 +2058,30 @@ doSRefFixConstraintParamTerm (/*@only@*/ constraintExpr e, /*@observer@*/ /*@tem
 }
 
 
-/* bool constraintExpr_includesTerm (constraintExpr expr, constraintTerm term) */
-/* { */
-/*   if (constraintTerm_hasTerm (expr->term, term) ) */
-/*     return TRUE; */
+#if 0
+bool constraintExpr_includesTerm (constraintExpr expr, constraintTerm term)
+{
+  if (constraintTerm_hasTerm (expr->term, term) )
+    return TRUE;
 
-/*   if ((expr->expr) != NULL) */
-/*     { */
-/*       return ( constraintExpr_includesTerm (expr->expr, term) ); */
-/*     } */
-/*   return FALSE; */
+  if ((expr->expr) != NULL)
+    {
+      return ( constraintExpr_includesTerm (expr->expr, term) );
+    }
+  return FALSE;
 
-/* } */
+}
+#endif
 
 /*drl added 6/11/01 */
 bool constraintExpr_isBinaryExpr (/*@observer@*/ constraintExpr c)
 {
+
+  llassert(constraintExpr_isDefined (c) );
+
+  if ( ! (constraintExpr_isDefined (c) ) )
+    return FALSE;
+  
   if (c->kind == binaryexpr)
     return TRUE;
 
index ed66677c6732c149191caa1b0f0685018e293770..a27d76d442490b97b840aba7cb1981e2716b4e3b 100644 (file)
 # include "exprChecks.h"
 # include "exprNodeSList.h"
 
-/*@-czechfcns@*/
-/*@-nullderef@*/ /* !!! DRL needs to fix this code! */
-/*@-nullstate@*/ /* !!! DRL needs to fix this code! */
-/*@-nullpass@*/ /* !!! DRL needs to fix this code! */
-/*@-temptrans@*/ /* !!! DRL needs to fix this code! */
-
-/*@access exprNode@*/ /* !!! NO! Don't do this recklessly! */
-
 bool constraintTerm_isDefined (constraintTerm t)
 {
   return t != NULL;
@@ -123,7 +115,7 @@ bool constraintTerm_isExprNode (/*@observer@*/ /*@temp@*/ constraintTerm c) /*@*
   return FALSE;
 }
 
-
+/*@access exprNode@*/
 int constraintTerm_getInitBlockLength (/*@observer@*/ /*@temp@*/ constraintTerm c) /*@*/
 {
 
@@ -150,7 +142,7 @@ int constraintTerm_getInitBlockLength (/*@observer@*/ /*@temp@*/ constraintTerm
 
   return ret;  
 }
-
+/*@noaccess exprNode@*/
 
 
 bool constraintTerm_isStringLiteral (constraintTerm c) /*@*/
@@ -633,7 +625,11 @@ void constraintTerm_dump (/*@observer@*/ constraintTerm t,  FILE *f)
        sRef s;
        char * term;
        term = reader_getWord(&str);
-       
+
+       if (term == NULL)
+         {
+           llfatalbug (message ("Library file appears to be corrupted.") );
+         }
        if (strcmp (term, "Result") == 0 )
          {
            s = sRef_makeResult (ctype_unknown);
@@ -649,6 +645,11 @@ void constraintTerm_dump (/*@observer@*/ constraintTerm t,  FILE *f)
            str2  = reader_getWord(&str);
            param = reader_getInt(&str);
 
+       if (str2 == NULL)
+         {
+           llfatalbug (message ("Library file appears to be corrupted.") );
+         }
+           
            ostr2 = str2;
            t = ctype_undump(&str2) ;
            s = sRef_makeParam (param, t, stateInfo_makeLoc (g_currentloc, SA_CREATED));
@@ -680,6 +681,12 @@ void constraintTerm_dump (/*@observer@*/ constraintTerm t,  FILE *f)
        cstring termStr;
                
        term = reader_getWord(&str);
+
+       if (term == NULL)
+         {
+           llfatalbug (message ("Library file appears to be corrupted.") );
+         }
+
        /* This must be an identifier that we can search for in usymTab */
        termStr = cstring_makeLiteralTemp(term);
        
This page took 0.152312 seconds and 5 git commands to generate.