return (t->value.sref);
}
-/*@only@*/ constraintTerm constraintTerm_makeExprNode (/*@dependent@*/ exprNode e)
+/*@only@*/ constraintTerm constraintTerm_makeExprNode (/*@dependent@*/ exprNode e)
{
- constraintTerm ret = new_constraintTermExpr();
- ret->loc = fileloc_copy(exprNode_getfileloc(e));
+ constraintTerm ret = new_constraintTermExpr ();
+ ret->loc = fileloc_copy (exprNode_loc (e));
ret->value.expr = e;
ret->kind = CTT_EXPR;
- ret = constraintTerm_simplify(ret);
+ ret = constraintTerm_simplify (ret);
return ret;
}
-/*@only@*/ constraintTerm constraintTerm_makesRef (/*@temp@*/ /*@observer@*/ sRef s)
+/*@only@*/ constraintTerm constraintTerm_makesRef (/*@temp@*/ /*@observer@*/ sRef s)
{
constraintTerm ret = new_constraintTermExpr();
ret->loc = fileloc_undefined;
}
}
+void constraintTerm_setValue (constraintTerm term, long value)
+{
+ if (term->kind == CTT_INTLITERAL)
+ {
+ term->value.intlit = value;
+ }
+ else
+ {
+ BADBRANCH;
+ }
+}
+
long constraintTerm_getValue (constraintTerm term)
{
llassert (constraintTerm_canGetValue (term));
llassert (term1 !=NULL && term2 !=NULL);
DPRINTF ((message
- ("Comparing srefs for %s and %s ", constraintTerm_print(term1), constraintTerm_print(term2)
+ ("Comparing srefs for %s and %s ", constraintTerm_getName(term1), constraintTerm_getName(term2)
)
)
);
}
DPRINTF((message
- ("Comparing srefs for %s and %s ", constraintTerm_print(term1), constraintTerm_print(term2)
+ ("Comparing srefs for %s and %s ", constraintTerm_getName(term1), constraintTerm_getName(term2)
)
)
);
if (sRef_similarRelaxed(s1, s2) || sRef_sameName (s1, s2) )
{
- DPRINTF ((message (" %s and %s are same", constraintTerm_print(term1), constraintTerm_print(term2) ) ));
+ DPRINTF ((message (" %s and %s are same", constraintTerm_getName(term1), constraintTerm_getName(term2) ) ));
return TRUE;
}
else
{
- DPRINTF ((message (" %s and %s are not same", constraintTerm_print(term1), constraintTerm_print(term2) ) ));
+ DPRINTF ((message (" %s and %s are not same", constraintTerm_getName(term1), constraintTerm_getName(term2) ) ));
return FALSE;
}
}