if (exprNode_isMultiStatement ( e) )
{
- return exprNode_multiStatement(e);
+ exprNode_multiStatement(e);
}
else
{
llassert(FALSE);
}
-
+ printf ("%s", (message ("%s", constraintList_printDetailed (e->requiresConstraints) ) ) );
+ printf ("%s", (message ("%s", constraintList_printDetailed (e->ensuresConstraints) ) ) );
return FALSE;
}
loc = exprNode_getNextSequencePoint(e); /* reduces to an expression */
notError = exprNode_exprTraverse (snode, FALSE, FALSE, loc);
e->requiresConstraints = exprNode_traversRequiresConstraints(snode);
- printf ("%s\n", constraintList_print(e->requiresConstraints) );
+ // printf ("%s\n", constraintList_print(e->requiresConstraints) );
e->ensuresConstraints = exprNode_traversEnsuresConstraints(snode);
- printf ("Ensures that:\n %s\n", constraintList_print(e->ensuresConstraints) );
+ // printf ("Ensures that:\n %s\n", constraintList_print(e->ensuresConstraints) );
llassert(notError);
return notError;
exprNode_stmt (stmt2);
mergeResolve (e, stmt1, stmt2 );
- TPRINTF ( (message ("smtlist constraints are: pre: %s \n and \t post %s\n",
+ DPRINTF ( (message ("smtlist constraints are: pre: %s \n and \t post %s\n",
constraintList_print(e->requiresConstraints),
constraintList_print(e->ensuresConstraints) ) ) );
return TRUE;
e->requiresConstraints = constraintList_add(e->requiresConstraints, cons);
cons = constraint_makeEnsureMaxReadAtLeast (t1, t2, sequencePoint);
e->ensuresConstraints = constraintList_add(e->ensuresConstraints, cons);
- cons = constraint_makeEnsureMinReadAtMost (t1, t2, sequencePoint);
- e->ensuresConstraints = constraintList_add(e->ensuresConstraints, cons);
+ // cons = constraint_makeEnsureMinReadAtMost (t1, t2, sequencePoint);
+ // e->ensuresConstraints = constraintList_add(e->ensuresConstraints, cons);
exprNode_exprTraverse (exprData_getPairA (data), FALSE, TRUE, sequencePoint);
exprNode_exprTraverse (exprData_getPairB (data), FALSE, TRUE, sequencePoint);
case XPR_PARENS:
exprNode_exprTraverse (exprData_getUopNode (e->edata), definatelv, definaterv, sequencePoint);
// e->constraints = constraintList_exprNodemerge (exprData_getUopNode (e->edata), exprNode_undefined);
- break;
+ break;
case XPR_ASSIGN:
exprNode_exprTraverse (exprData_getOpA (data), TRUE, definaterv, sequencePoint );
lltok_unparse (exprData_getOpTok (data));
lltok_unparse (exprData_getUopTok (data));
if (lltok_isInc_Op (exprData_getUopTok (data) ) )
{
- TPRINTF(("doing ++"));
+ DPRINTF(("doing ++"));
t1 = exprData_getUopNode (data);
cons = constraint_makeMaxSetSideEffectPostIncrement (t1, sequencePoint );
e->ensuresConstraints = constraintList_add (e->ensuresConstraints, cons);
- cons = constraint_makeMaxReadSideEffectPostIncrement (t1, sequencePoint );
- e->ensuresConstraints = constraintList_add (e->ensuresConstraints, cons);
+ // cons = constraint_makeMaxReadSideEffectPostIncrement (t1, sequencePoint );
+ //e->ensuresConstraints = constraintList_add (e->ensuresConstraints, cons);
}
break;
default:
handledExprNode = FALSE;
}
+ e->requiresConstraints = constraintList_preserveOrig ( e->requiresConstraints);
+ e->ensuresConstraints = constraintList_preserveOrig ( e->ensuresConstraints);
+
return handledExprNode;
}