binaryexpr,
unaryExpr,
term
-}
-constraintExprKind;
+} constraintExprKind;
struct s_constraintExpr {
constraintExprKind kind;
+ bool ct; /*changed type */
+ ctype origType;
constraintExprData data;
};
/* 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);
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);
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