]> andersk Git - splint.git/blobdiff - src/constraintList.c
Changes to fix malloc size problem.
[splint.git] / src / constraintList.c
index 985e2c13ebe56870d3d6b1aed6fd7321c14744cd..c834ec65f6d3e1a284a87a7b949093e309050bde 100644 (file)
@@ -92,11 +92,14 @@ constraintList_add (/*@returned@*/ constraintList s, /*@only@*/ constraint el)
 
   /*drl7x */
 
-  if (constraintList_resolve (el, s) )
+  if (constraintList_resolve (el, s))
     {
+      DPRINTF (("Resolved constraint: %s", constraint_unparse (el)));
       constraint_free (el);
       return s;
     }
+
+  DPRINTF (("Adding constraint: %s", constraint_unparse (el)));
   
   if (s->nspace <= 0)
     constraintList_grow (s);
@@ -126,15 +129,15 @@ static void constraintList_freeShallow (/*@only@*/ constraintList c)
 
 /*@only@*/ constraintList constraintList_addList (/*@only@*/ /*@returned@*/ constraintList s, /*@observer@*/ /*@temp@*/ constraintList newList)
 {
-  llassert(constraintList_isDefined(s) );
-  llassert(constraintList_isDefined(newList) );
+  llassert(constraintList_isDefined (s));
+  llassert(constraintList_isDefined (newList));
 
   if (newList == constraintList_undefined)
     return s;
   
   constraintList_elements (newList, elem)
     {
-    s = constraintList_add (s, constraint_copy(elem) );
+      s = constraintList_add (s, constraint_copy(elem));
     }
   end_constraintList_elements;
 
@@ -632,6 +635,38 @@ void constraintList_dump (/*@observer@*/ constraintList c,  FILE *f)
   end_constraintList_elements; ;
 }
 
+//! don't use this!
+void constraintList_castConstraints (constraintList c, ctype tfrom, ctype tto)
+{
+  if (TRUE) /* flag to allow casting */ 
+    {
+      int fsize = ctype_getSize (tfrom);
+      int tsize = ctype_getSize (tto);
+
+      DPRINTF (("Sizes: [%s] [%s] %d / %d", ctype_unparse (tfrom),
+               ctype_unparse (tto), fsize, tsize));
+
+      if (fsize == tsize) 
+       {
+         return; /* Sizes match, no change to constraints */
+       }
+      else 
+       {
+         float scale = fsize / tsize;
+         
+         DPRINTF (("Scaling constraints by: %f", scale));
+
+         constraintList_elements (c, el)
+           {
+             DPRINTF (("Scale: %s", constraint_unparse (el)));
+             // constraint_scaleSize (el, scale);
+             DPRINTF (("   ==> %s", constraint_unparse (el)));
+           }
+         end_constraintList_elements; 
+       }
+    }
+}
+
 
 constraintList constraintList_sort (/*@returned@*/ constraintList ret)
 {
This page took 0.039784 seconds and 4 git commands to generate.