]> andersk Git - splint.git/blobdiff - src/clabstract.c
Added support for default buffer constraint annotations
[splint.git] / src / clabstract.c
index 304d0edc97c209f6251a17f953928b755506cf24..3798ba6d945727617d53527f26506d45fc4607cb 100644 (file)
@@ -512,41 +512,61 @@ void  setImplictfcnConstraints (void)
 
   if (constraintList_isDefined(implicitFcnConstraints) )
     constraintList_free(implicitFcnConstraints);
-   
+  
   implicitFcnConstraints  = constraintList_makeNew();
   
   uentryList_elements (params, el)
     {
       DPRINTF((message("setImplictfcnConstraints doing: %s", uentry_unparse(el) ) ));
       
-      s = uentry_getSref(el);
-      if (sRef_isReference (s) )
+      if ( uentry_isVariable (el) )
        {
-         DPRINTF((message ("%s is a pointer", sRef_unparse(s) ) ));
-       }
-      else
+         s = uentry_getSref(el);
+         if (sRef_isReference (s) )
+           {
+             
+             DPRINTF((message ("%s is a pointer", sRef_unparse(s) ) ));
+             /*drl 4/26/01
+               chagned this from MaxSet(s) == 0 to MaxSet(s) >= 0 */
+             c = constraint_makeSRefWriteSafeInt (s, 0);
+             
+             implicitFcnConstraints = constraintList_add(implicitFcnConstraints , c);
+             
+             /*drl 10/23/2002 added support for out*/
+
+             if (!uentry_isOut(el) )
+               {
+                 c = constraint_makeSRefReadSafeInt (s, 0);
+                 
+                 implicitFcnConstraints = constraintList_add(implicitFcnConstraints , c);
+               }
+           }
+         else
+           {
+             DPRINTF((message ("%s is NOT a pointer", sRef_unparse(s) ) ));
+           }
+       } /*end uentry_isVariable*/
+
+      else if (uentry_isElipsisMarker (el) )      
        {
-         DPRINTF((message ("%s is NOT a pointer", sRef_unparse(s) ) ));
+         /*just ignore these*/
+         ;
        }
-      /*drl 4/26/01
-       chagned this from MaxSet(s) == 0 to MaxSet(s) >= 0 */
-      c = constraint_makeSRefWriteSafeInt (s, 0);
       
-      implicitFcnConstraints = constraintList_add(implicitFcnConstraints , c);
-
-      /*drl 10/23/2002 added support for out*/
-      if (!uentry_isOut(el) )
+      else
        {
-         c = constraint_makeSRefReadSafeInt (s, 0);
-      
-         implicitFcnConstraints = constraintList_add(implicitFcnConstraints , c);
+         /*just ignore this
+           I'm not sure if this is possible though
+         */
+         /*@warning take this out befor@*/
+         llassert(FALSE);
        }
-       
-      
     }
+  
   end_uentryList_elements;
   DPRINTF((message("implicitFcnConstraints has been set to %s\n",
                   constraintList_print(implicitFcnConstraints) ) ));
+  
 }
 
 
This page took 0.204665 seconds and 4 git commands to generate.