]> andersk Git - splint.git/blobdiff - src/constraintGeneration.c
Added support for or constraints.
[splint.git] / src / constraintGeneration.c
index 2e460e432a468803690e82a56bf881bde8c26211..83348e847d23db45427f579181a4d3681daa745c 100644 (file)
@@ -328,11 +328,14 @@ exprNode doIf (exprNode e, exprNode test, exprNode body)
   
 #warning bad
   e->ensuresConstraints = constraintList_copy (test->ensuresConstraints);
-  /*
-  if (!exprNode_mayEscape (body) )
-    e->ensuresConstraints = constraintList_mergeEnsures (e->ensuresConstraints,
+  
+  if (exprNode_mayEscape (body) )
+    {
+      DPRINTF (( message("doIf: the if statement body %s returns or exits", exprNode_unparse(body) ) ));
+      e->ensuresConstraints = constraintList_mergeEnsures (e->ensuresConstraints,
                                                        test->falseEnsuresConstraints);
-  */
+    }
+  
   DPRINTF ((message ("doIf: if requiers %s ", constraintList_print(e->requiresConstraints) ) ) );
   
   return e;
@@ -493,7 +496,7 @@ exprNode doSwitch (/*@returned@*/ exprNode e)
 
   data = e->edata;
   llassert(FALSE);
-  //TPRINTF (( message ("doSwitch for: switch (%s) %s", 
+  //DPRINTF (( message ("doSwitch for: switch (%s) %s", 
   //        exprNode_unparse (exprData_getPairA (data)),
   //                exprNode_unparse (exprData_getPairB (data))) ));
 
This page took 0.081721 seconds and 4 git commands to generate.