1 typedef union constraintTermValue_
10 LT, LTE, GT, GTE, EQ, NONNEGATIVE, POSITIVE
16 BUFFSIZE, STRINGLEN, VALUE, CALLSAFE,
17 MAXSET, MINSET, MAXREAD, MINREAD,
39 struct _constraintTerm {
40 constraintType constrType;
42 constraintTermValue value;
43 constraintTermType kind;
46 abst_typedef struct _constraintTerm * constraintTerm;
48 struct constraintExpr_ {
52 struct constraintExpr_ * expr;
54 # define constraintExpr_undefined ((constraintExpr)NULL)
56 typedef struct constraintExpr_ * constraintExpr;
57 abst_typedef struct constr_ * constr;
67 #define max_constraints 100
69 //constraint constraint_create (exprNode e1, exprNode e2, arithType restriction, constraintType kind);
71 constraint constraint_createReadSafe (exprNode p_e1, exprNode p_e2);
73 constraint constraint_makeInc_Op (exprNode p_e1);
77 bool constraint_resolve (/*@unused@*/ constraint c);
79 /*@out@*/ constraintTerm new_constraintTermExpr (void);
80 constraintTerm exprNode_makeConstraintTerm (/*@only@*/ exprNode e);
82 constraintTerm intLit_makeConstraintTerm (int p_i);
84 /*@special@*/ constraintExpr makeConstraintExpr (/*@only@*/ /*@notnull@*/ constraintTerm term)
85 /*@post:isnull result->expr@*/
86 /*@post:notnull result->t1@*/
87 /*@defines result->expr, result->t1, result->c1@, result->op*/;
89 constraintExpr makeConstraintExprIntlit (int p_i);
91 /*@relnull@*/ constraint constraint_makeReadSafeExprNode ( exprNode p_po, exprNode p_ind);
93 constraint constraint_makeWriteSafeExprNode (exprNode p_po, exprNode p_ind);
95 constraint constraint_makeReadSafeInt (exprNode p_t1, int p_index);
97 constraint constraint_makeEnsureMaxReadAtLeast (exprNode p_t1, exprNode p_t2, fileloc p_sequencePoint);
99 constraint constraint_makeEnsureMinReadAtMost (exprNode po, exprNode ind, fileloc sequencePoint);
101 constraint constraint_makeSideEffectPostIncrement (exprNode t1, fileloc p_sequencePoint);
102 cstring constraintType_print (constraintType c1);
104 constraint constraint_copy (constraint c);
106 constraintExpr makePostOpInc (exprNode t1);
110 cstring constraintTerm_print (constraintTerm term);
112 cstring arithType_print (arithType ar);
114 cstring constraintExpr_print (constraintExpr ex);
116 cstring constraint_print (constraint c);
118 #warning take this out
119 #include "constraintList.h"
121 #include "constraintTerm.h"