diff -durp cudd-2.4.2.ORIG/cudd/cuddGroup.c cudd-2.4.2/cudd/cuddGroup.c
--- cudd-2.4.2.ORIG/cudd/cuddGroup.c 2009-02-21 11:25:01.000000000 -0700
+++ cudd-2.4.2/cudd/cuddGroup.c 2009-05-12 10:20:14.000000000 -0600
@@ -214,7 +214,9 @@ Cudd_MakeTreeNode(
** Cudd_bddNewVarAtLevel or Cudd_addNewVarAtLevel to create new
** variables have to create the variables before they group them.
*/
- level = (low < (unsigned int) dd->size) ? dd->perm[low] : low;
+ level = (low < (unsigned int) dd->size)
+ ? (unsigned int) dd->perm[low]
+ : low;
if (level + size - 1> (int) MTR_MAXHIGH)
return(NULL);
diff -durp cudd-2.4.2.ORIG/cudd/cuddZddGroup.c cudd-2.4.2/cudd/cuddZddGroup.c
--- cudd-2.4.2.ORIG/cudd/cuddZddGroup.c 2009-02-19 19:17:45.000000000 -0700
+++ cudd-2.4.2/cudd/cuddZddGroup.c 2009-05-12 10:20:14.000000000 -0600
@@ -171,7 +171,9 @@ Cudd_MakeZddTreeNode(
** Cudd_bddNewVarAtLevel or Cudd_addNewVarAtLevel to create new
** variables have to create the variables before they group them.
*/
- level = (low < (unsigned int) dd->sizeZ) ? dd->permZ[low] : low;
+ level = (low < (unsigned int) dd->sizeZ)
+ ? (unsigned int) dd->permZ[low]
+ : low;
if (level + size - 1> (int) MTR_MAXHIGH)
return(NULL);
diff -durp cudd-2.4.2.ORIG/st/st.c cudd-2.4.2/st/st.c
--- cudd-2.4.2.ORIG/st/st.c 2004-02-11 15:33:16.000000000 -0700
+++ cudd-2.4.2/st/st.c 2009-05-12 10:20:14.000000000 -0600
@@ -54,7 +54,7 @@ static char rcsid[] UTIL_UNUSED = " $Id:
#define st_shift 2
#endif
-#define ST_PTRHASH(x,size) ((unsigned int)((unsigned long)(x)>>st_shift)%size)
+#define ST_PTRHASH(x,size) ((int)((unsigned long)(x)>>st_shift)%size)
#define EQUAL(func, x, y) \
((((func) == st_numcmp) || ((func) == st_ptrcmp)) ?\