]> andersk Git - splint.git/blobdiff - src/exprChecks.c
Added files
[splint.git] / src / exprChecks.c
index 07765e239176a6f1cd379c25ada8a1cf4be3cb16..44eb80b8969f62f17fb2ee6ddf5e47aa5ab58eee 100644 (file)
@@ -897,9 +897,9 @@ void exprNode_checkFunctionBody (exprNode body)
 void exprNode_checkFunction (/*@unused@*/ uentry ue, /*@only@*/ exprNode body)
 {
   constraintList c, t;
+ constraintList c2, fix;
 
-
-  //  return;
+ //  return;
   
   exprNode_generateConstraints (body);
   
@@ -916,9 +916,16 @@ void exprNode_checkFunction (/*@unused@*/ uentry ue, /*@only@*/ exprNode body)
        
        t = reflectChanges (body->requiresConstraints, constraintList_copy (c) );
        body->requiresConstraints = constraintList_copy (t);
+
+       c2  =  constraintList_copy (c);
+       fix =  constraintList_makeFixedArrayConstraints (body->uses);
+       c2  =  reflectChanges (c2, constraintList_copy(fix) );
+
+       t = reflectChanges (body->requiresConstraints, constraintList_copy (c2) );
+       body->requiresConstraints = constraintList_copy (t);
        
        DPRINTF ( (message ("The body has the required cosntraints: %s", constraintList_printDetailed (t) ) ) );
-   t = constraintList_mergeEnsures (c, body->ensuresConstraints);
+       t = constraintList_mergeEnsures (c, body->ensuresConstraints);
 
    body->ensuresConstraints = constraintList_copy (t);
    
This page took 0.032603 seconds and 4 git commands to generate.