** right values are available in the right place.
*/
+/*drl*/
+static constraintList fcnConstraints = NULL;
+
+//static constraintList fcnPreConditions = NULL;
+
+
static /*@only@*/ sRefSet fcnModifies = sRefSet_undefined;
static /*@only@*/ /*@null@*/ specialClauses specClauses = specialClauses_undefined;
static bool fcnNoGlobals = FALSE;
fcnModifies = sRefSet_undefined;
}
+ if (fcnConstraints)
+ {
+ uentry_setPreconditions (ue, fcnConstraints);
+ fcnConstraints = constraintList_undefined;
+ }
+
if (uentry_isFunction (ue))
{
uentry_setSpecialClauses (ue, specClauses);
DPRINTF (("Added to specclauses: %s", specialClauses_unparse (specClauses)));
}
+constraintList getFunctionConstraints (void)
+{
+ return constraintList_copy (fcnConstraints);
+}
+
+void setFunctionConstraints (constraintList c)
+{
+ #warning m leak
+ fcnConstraints = constraintList_copy (c);
+}
+
void setFunctionModifies (sRefSet s)
{
sRefSet_free (fcnModifies);