]> andersk Git - splint.git/blobdiff - src/Headers/constraint.h
Added support for or constraints.
[splint.git] / src / Headers / constraint.h
index a63a62b02647cce1bb7c4c353a9e9663297e3b6d..396b30e989d54976c17481e019b16642fc2d06e9 100644 (file)
@@ -13,6 +13,7 @@ arithType;
 
 struct _constraint {
   constraint     orig;
+  constraint     or;
   constraintExpr lexpr;
   arithType       ar;
   constraintExpr  expr;
@@ -72,14 +73,14 @@ fileloc constraint_getFileloc (constraint c);
 cstring constraint_print (constraint c) /*@*/;
 constraint constraint_makeWriteSafeInt (exprNode po, int ind);
 
-exprNode exprNode_copyConstraints (exprNode dst, exprNode src);
+exprNode exprNode_copyConstraints (/*@returned@*/ exprNode dst, exprNode src);
 
 constraint constraint_makeEnsureEqual (exprNode e1, exprNode e2, fileloc sequencePoint);
 
 constraint constraint_makeMaxSetSideEffectPostIncrement (exprNode e, fileloc sequencePoint);
 
-constraint constraint_preserveOrig (constraint c);
-constraint constraint_doSRefFixBaseParam (constraint precondition,
+/*@only@*/ constraint constraint_preserveOrig (/*@returned@*/ /*@only@*/ constraint c) /*@modifies c @*/;
+/*@only@*/ constraint constraint_doSRefFixBaseParam (/*@returned@*/ /*@only@*/ constraint precondition,
                                                   exprNodeList arglist);
 
 cstring  constraint_printDetailed (constraint c);
@@ -92,7 +93,7 @@ constraint constraint_makeEnsureGreaterThanEqual (exprNode e1, exprNode e2, file
 
 /*drl add 11/28/2000 */
 constraint constraint_makeSRefWriteSafeInt (sRef s, int ind);
-
+constraint constraint_makeSRefReadSafeInt (sRef s, int ind);
 /*drl add 11/26/2000 */
 void constraint_printError (constraint c, fileloc loc);
 constraint constraint_doSRefFixConstraintParam (constraint precondition,
@@ -113,6 +114,14 @@ constraint constraint_addGeneratingExpr (/*@returned@*/ constraint c, exprNode e
 
 bool constraint_hasMaxSet(constraint c);
 
+/*from constraintGenreation.c*/
+bool exprNode_exprTraverse (exprNode e, bool definatelv, bool definaterv,  fileloc sequencePoint);
+
+constraintList exprNode_traversRequiresConstraints (exprNode e);
+constraintList exprNode_traversEnsuresConstraints (exprNode e);
+
+
+
 /*@=czechfcns*/
 //#warning take this out
 #include "constraintList.h"
@@ -120,5 +129,7 @@ bool constraint_hasMaxSet(constraint c);
 #include "constraintExpr.h"
 #include "constraintTerm.h"
 #include "constraintResolve.h"
+#include "constraintOutput.h"
+
 #endif
 
This page took 0.034097 seconds and 4 git commands to generate.