s is an sRef of a formal paramenter in a function call constraint
we trys to return a constraint expression derived from the actual parementer of a function call.
*/
-constraintExpr sRef_fixConstraintParam ( sRef s, exprNodeList args)
+/*@only@*/ constraintExpr sRef_fixConstraintParam (/*@observer@*/ sRef s, /*@observer@*/ exprNodeList args)
{
constraintExpr ce;
{
case SK_RESULT:
{
+ s = sRef_saveCopy(s);
ce = constraintExpr_makeTermsRef (s);
return ce;
}
temp = (sRef_makeField (sRef_fixBaseParam (s->info->field->rec, args),
s->info->field->field));
- ce = constraintExpr_makeTermsRef (temp);
+ ce = constraintExpr_makeTermsRef (sRef_saveCopy(temp));
return ce;
}
case SK_PTR: