static /*@only@*/ constraintExpr constraintExpr_makeBinaryOpConstraintExprIntLiteral (/*@only@*/constraintExpr expr, int literal);
/*@only@*/ static constraintExpr
-doSRefFixConstraintParamTerm (/*@only@*/ constraintExpr e, exprNodeList arglist) /*@modifies e@*/;
+doSRefFixConstraintParamTerm (/*@only@*/ constraintExpr e, /*@temp@*/ /*@observer@*/ exprNodeList arglist) /*@modifies e@*/;
-static constraintExpr
-doFixResultTerm (constraintExpr e, exprNode fcnCall) /*@modifies e@*/;
+static /*@only@*/ constraintExpr
+doFixResultTerm (/*@only@*/ constraintExpr e, /*@exposed@*/ exprNode fcnCall)
+ /*@modifies e@*/;
/*@special@*/ static constraintExpr constraintExpr_makeBinaryOp (void) /*@allocates result->data @*/ /*@sets result->kind @*/;
return ret;
}
-/*@only@*/ static constraintExprData copyExprData (constraintExprData data, constraintExprKind kind)
+/*@only@*/ static constraintExprData copyExprData (/*@observer@*/ constraintExprData data, constraintExprKind kind)
{
constraintExprData ret;
llassert(constraintExprData_isDefined(data));
}
-/*@only@*/ static constraintExpr oldconstraintExpr_makeTermExprNode (exprNode e)
+/*@only@*/ static constraintExpr oldconstraintExpr_makeTermExprNode (/*@exposed@*/ exprNode e)
{
constraintExpr ret;
constraintTerm t;
return ret;
}
-constraintExpr constraintExpr_makeExprNode (exprNode e)
+constraintExpr constraintExpr_makeExprNode (/*@exposed@*/ exprNode e)
{
sRef s;
constraintExpr ret, ce1, ce2;
}
-/*@only@*/ static constraintExpr constraintExpr_makeTermExprNode (exprNode e)
+/*@only@*/ static constraintExpr constraintExpr_makeTermExprNode (/*@exposed@*/ exprNode e)
{
return oldconstraintExpr_makeTermExprNode(e); //constraintExpr_makeExprNode (e);
}
-constraintExpr constraintExpr_makeTermsRef (/*@only@*/ sRef s)
+constraintExpr constraintExpr_makeTermsRef ( sRef s)
{
constraintExpr ret;
constraintTerm t;
}
/*@only@*/
-static constraintExpr constraintExpr_makeUnaryOpExprNode (exprNode expr)
+static constraintExpr constraintExpr_makeUnaryOpExprNode (/*@exposed@*/ exprNode expr)
{
constraintExpr ret;
constraintExpr sub;
/*@only@*/
-static constraintExpr constraintExpr_makeSRefUnaryOp (/*@only@*/ sRef s, constraintExprUnaryOpKind op)
+static constraintExpr constraintExpr_makeSRefUnaryOp (/*@exposed@*/ sRef s, constraintExprUnaryOpKind op)
{
constraintExpr ret;
constraintExpr t;
}
/*@only@*/
-constraintExpr constraintExpr_makeSRefMaxRead(/*@only@*/ sRef s)
+constraintExpr constraintExpr_makeSRefMaxRead(/*@exposed@*/ sRef s)
{
return (constraintExpr_makeSRefUnaryOp (s, MAXREAD) );
}
/*@only@*/
-constraintExpr constraintExpr_makeSRefMaxset (/*@only@*/ sRef s)
+constraintExpr constraintExpr_makeSRefMaxset (/*@exposed@*/ sRef s)
{
return (constraintExpr_makeSRefUnaryOp (s, MAXSET) );
}
}
/*@only@*/
-constraintExpr constraintExpr_makeMaxSetExpr (exprNode expr)
+constraintExpr constraintExpr_makeMaxSetExpr (/*@exposed@*/ exprNode expr)
{
constraintExpr ret;
ret = constraintExpr_makeExprNode (expr);
}
/*@only@*/
-/*@unused@*/ constraintExpr constraintExpr_makeMinSetExpr (exprNode expr)
+/*@unused@*/ constraintExpr constraintExpr_makeMinSetExpr (/*@exposed@*/ exprNode expr)
{
constraintExpr ret;
ret = constraintExpr_makeUnaryOpExprNode(expr);
}
/*@only@*/
-/*@unused@*/ constraintExpr constraintExpr_makeMinReadExpr (exprNode expr)
+/*@unused@*/ constraintExpr constraintExpr_makeMinReadExpr (/*@exposed@*/ exprNode expr)
{
constraintExpr ret;
ret = constraintExpr_makeUnaryOpExprNode(expr);
/*@only@*/
-constraintExpr constraintExpr_makeValueExpr (exprNode expr)
+constraintExpr constraintExpr_makeValueExpr (/*@exposed@*/ exprNode expr)
{
constraintExpr ret;
ret = constraintExpr_makeExprNode (expr);
}
/*@only@*/
-/*@unused@*/ constraintExpr constraintExpr_makeBinaryOpExprNode (exprNode expr1, exprNode expr2)
+/*@unused@*/ constraintExpr constraintExpr_makeBinaryOpExprNode (/*@exposed@*/ exprNode expr1, /*@exposed@*/ exprNode expr2)
{
constraintExpr ret;
constraintExpr sub1, sub2;
}
-/*@only@*/ static constraintExpr constraintExpr_subtractExpr (/*@only@*/ constraintExpr expr, /*@only@*/ constraintExpr addent)
+static /*@only@*/ constraintExpr constraintExpr_subtractExpr (/*@only@*/ constraintExpr expr, /*@only@*/ constraintExpr addent)
{
constraintExpr new;
// if (constraintExpr_canGetValue (constraintExprData_binaryExprGetExpr2 (exp->data) ) )
{
- constraintExpr temp, temp2, new;
+ constraintExpr temp, temp2;
DPRINTF ( (message ("Doing fancy simplification") ) );
temp = constraintExpr_copy (temp);
- new = constraintExpr_subtractExpr (c, temp);
+ c = constraintExpr_subtractExpr (c, temp);
- DPRINTF ( (message ("Done fancy simplification:%s", constraintExpr_unparse (new) ) ) );
- c = new;
+ DPRINTF ( (message ("Done fancy simplification:%s", constraintExpr_unparse (c) ) ) );
}
}
}
/*@only@*/
-cstring constraintExpr_unparse (/*@observer@*/ constraintExpr ex) /*@*/
+cstring constraintExpr_unparse (/*@temp@*/ /*@observer@*/ constraintExpr ex) /*@*/
{
cstring st;
constraintExprKind kind;
return expr;
}
-constraintExpr constraintExpr_doFixResult (/*@returned@*/ constraintExpr expr, exprNode fcnCall)
+/*@only@*/ constraintExpr constraintExpr_doFixResult (/*@only@*/ constraintExpr expr, exprNode fcnCall)
{
constraintExprKind kind;
constraintExpr expr1, expr2;
}
/*drl moved from constriantTerm.c 5/20/001*/
-static constraintExpr
-doFixResultTerm (constraintExpr e, exprNode fcnCall)
+static /*@only@*/ constraintExpr
+doFixResultTerm (/*@only@*/ constraintExpr e, /*@exposed@*/ exprNode fcnCall)
{
constraintTerm t;
sRef s;
if (sRef_isResult (s))
{
ret = constraintExpr_makeExprNode(fcnCall);
+ constraintExpr_free(e);
+ e = NULL;
+ }
+ else
+ {
+ e = NULL;
}
break;
default:
/*drl moved from constriantTerm.c 5/20/001*/
/*@only@*/ static constraintExpr
-doSRefFixConstraintParamTerm (/*@only@*/ constraintExpr e, exprNodeList arglist)
+doSRefFixConstraintParamTerm (/*@only@*/ constraintExpr e, /*@observer@*/ /*@temp@*/ exprNodeList arglist)
{
constraintTerm t;