]> andersk Git - splint.git/blobdiff - src/Headers/constraintExpr.h
Changes to fix malloc size problem.
[splint.git] / src / Headers / constraintExpr.h
index f9b71e40568165634c27c8ac492b58cb17b8ad9b..a3d262f105658fcfc69d9adee7a0f5304aee25c6 100644 (file)
@@ -7,11 +7,12 @@ typedef enum
   binaryexpr,
   unaryExpr,
   term
-}
-constraintExprKind;
+} constraintExprKind;
 
 struct s_constraintExpr {
   constraintExprKind kind;
+  bool ct; /*changed type */
+  ctype origType;
   constraintExprData data;
 };
 
@@ -20,9 +21,9 @@ struct s_constraintExpr {
 /*@constant null constraintExpr constraintExpr_undefined; @*/
 # define constraintExpr_undefined ((constraintExpr)NULL)
 
-extern /*@falsenull@*/ bool constraintExpr_isDefined (constraintExpr p_e) /*@*/ ;
-extern /*@unused@*/ /*@truenull@*/ bool constraintExpr_isUndefined (constraintExpr p_e) /*@*/ ;
-extern /*@unused@*/ /*@truenull@*/ bool constraintExpr_isError (constraintExpr p_e) /*@*/ ;
+extern /*@falsewhennull@*/ bool constraintExpr_isDefined (constraintExpr p_e) /*@*/ ;
+extern /*@unused@*/ /*@nullwhentrue@*/ bool constraintExpr_isUndefined (constraintExpr p_e) /*@*/ ;
+extern /*@unused@*/ /*@nullwhentrue@*/ bool constraintExpr_isError (constraintExpr p_e) /*@*/ ;
 
 # define constraintExpr_isDefined(e)        ((e) != constraintExpr_undefined)
 # define constraintExpr_isUndefined(e)      ((e) == constraintExpr_undefined)
@@ -48,9 +49,9 @@ long constraintExpr_getValue (constraintExpr p_expr) /*@*/;
 
 int constraintExpr_compare (constraintExpr p_expr1, constraintExpr p_expr2) /*@*/;
 
-//constraintExpr constraintExpr_makeValueInt (int i);
+/* constraintExpr constraintExpr_makeValueInt (int i); */
 
-/*@only@*/ constraintExpr constraintExpr_makeIntLiteral (long p_i);
+/*@only@*/ /*@notnull@*/constraintExpr constraintExpr_makeIntLiteral (long p_i);
 
 /*@only@*/ constraintExpr constraintExpr_makeValueExpr (/*@exposed@*/ exprNode p_expr);
 
@@ -68,7 +69,7 @@ int constraintExpr_compare (constraintExpr p_expr1, constraintExpr p_expr2) /*@*
 
 bool constraintExpr_search (/*@observer@*/ /*@temp@*/ constraintExpr p_c, /*@observer@*/ /*@temp@*/ constraintExpr p_old);
 
-/*@only@*/ fileloc constraintExpr_getFileloc (constraintExpr p_expr);
+/*@only@*/ fileloc constraintExpr_loc (constraintExpr p_expr);
 
 
 /*@only@*/ constraintExpr constraintExpr_makeSRefMaxset ( /*@temp@*/ /*@observer@*/ sRef p_s);
@@ -83,7 +84,7 @@ constraintExpr constraintExpr_doSRefFixBaseParam ( /*@returned@*/ constraintExpr
 
 /*@only@*/ constraintExpr constraintExpr_doFixResult (/*@only@*/  constraintExpr p_expr, /*@observer@*/ exprNode p_fcnCall);
 
-/*@falsenull@*/ bool constraintExpr_isLit (constraintExpr p_expr) /*@*/ ;
+/*@falsewhennull@*/ bool constraintExpr_isLit (constraintExpr p_expr) /*@*/ ;
 
 /*@only@*/ constraintExpr constraintExpr_makeAddExpr (/*@only@*/ constraintExpr p_expr, /*@only@*/ constraintExpr p_addent);
 
@@ -104,7 +105,7 @@ constraintExpr constraintExpr_propagateConstants (/*@only@*/ constraintExpr p_ex
                                                /*@out@*/ bool * p_propagate,
                                                  /*@out@*/ int *p_literal);
 
-/*@falsenull@*/ bool constraintExpr_isBinaryExpr (/*@observer@*/ /*@temp@*/ constraintExpr p_c) /*@*/ ;
+/*@falsewhennull@*/ bool constraintExpr_isBinaryExpr (/*@observer@*/ /*@temp@*/ constraintExpr p_c) /*@*/ ;
 
 extern void  constraintExpr_dump (/*@observer@*/ /*@temp@*/ constraintExpr p_expr,  FILE *p_f);
 
@@ -122,6 +123,15 @@ bool constraintExpr_isTerm (/*@observer@*/ /*@temp@*/ constraintExpr p_c);
 int constraintExpr_getDepth (/*@observer@*/ /*@temp@*/ constraintExpr p_ex);
 
 
+/*drl 1/6/2001: I didn't think these functions were solid enough to include in the   stable  release of splint.*/
+/* drl added 12/30/001*/
+/* extern / *@only@* / constraintExpr constraintExpr_doSRefFixInvarConstraint (/ *@only@* / constraintExpr p_expr, sRef p_s, ctype p_ct); */
+
+
+
+/*drl added 12/19 */
+bool  constraintExpr_isConstantOnly ( constraintExpr p_e );
+
 #else
 # error "Multiple include"
 #endif
This page took 0.039188 seconds and 4 git commands to generate.