[Commit] nickle ChangeLog,1.17,1.18 value.h,1.97,1.98

Keith Packard commit at keithp.com
Thu Apr 1 11:47:41 PST 2004


Committed by: keithp

Update of /local/src/CVS/nickle
In directory home.keithp.com:/tmp/cvs-serv23160

Modified Files:
	ChangeLog value.h 
Log Message:
2004-04-01  Keith Packard  <keithp at keithp.com>

	* value.h:
	Add casts to avoid warnings where sizeof (int) != sizeof (void *)


Index: ChangeLog
===================================================================
RCS file: /local/src/CVS/nickle/ChangeLog,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- a/ChangeLog	1 Apr 2004 15:48:23 -0000	1.17
+++ b/ChangeLog	1 Apr 2004 19:47:39 -0000	1.18
@@ -1,5 +1,10 @@
 2004-04-01  Keith Packard  <keithp at keithp.com>
 
+	* value.h:
+	Add casts to avoid warnings where sizeof (int) != sizeof (void *)
+
+2004-04-01  Keith Packard  <keithp at keithp.com>
+
 	Debian bug 241417
 
 	* command.5c:

Index: value.h
===================================================================
RCS file: /local/src/CVS/nickle/value.h,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -d -r1.97 -r1.98
--- a/value.h	27 Feb 2004 03:50:16 -0000	1.97
+++ b/value.h	1 Apr 2004 19:47:39 -0000	1.98
@@ -71,6 +71,12 @@
 #if HAVE_STDINT_H
 
 # include <stdint.h>
+
+#define PtrToInt(p)	((int) (intptr_t) (p))
+#define PtrToUInt(p)	((unsigned) (uintptr_t) (p))
+#define IntToPtr(i)	((void *) (intptr_t) (i))
+#define UIntToPtr(u)	((void *) (uintptr_t) (u))
+
 # if HAVE_UINT64_T
 
 /*
@@ -94,6 +100,11 @@
 
 #else
 
+#define PtrToInt(p)	((int) (p))
+#define PtrToUInt(p)	((unsigned) (p))
+#define IntToPtr(i)	((void *) (i))
+#define UIntToPtr(u)	((void *) (u))
+
 # if SIZEOF_UNSIGNED_LONG_LONG == 8 || SIZEOF_UNSIGNED_LONG == 8
 #  define DIGITBITS 32
 # else
@@ -289,7 +300,7 @@
 extern ValueRep	   FuncRep, ThreadRep;
 extern ValueRep    SemaphoreRep, ContinuationRep, UnitRep, BoolRep;
 
-#define NewInt(i)	((Value) (((i) << 1) | 1))
+#define NewInt(i)	((Value) IntToPtr ((((i) << 1) | 1)))
 #define IntSign(i)	((i) < 0 ? Negative : Positive)
 
 #define NICKLE_INT_BITS	    ((sizeof (int) * 8) - 1)
@@ -301,10 +312,10 @@
 #define One NewInt(1)
 #define Zero NewInt(0)
 
-#define ValueIsPtr(v)	((((int) (v)) & 1) == 0)
-#define ValueIsInt(v)	((((int) (v)) & 1) != 0)
-#define ValueInt(v)	(((int) (v)) >> 1)
-#define ValueUInt(v)	(((unsigned int) (v)) >> 1)
+#define ValueIsPtr(v)	((PtrToInt(v) & 1) == 0)
+#define ValueIsInt(v)	(!ValueIsPtr(v))
+#define ValueInt(v)	(PtrToInt (v) >> 1)
+#define ValueUInt(v)	(PtrToUInt (v) >> 1)
 
 #define ValueRep(v) (ValueIsInt(v) ? &IntRep : (v)->value.type)
 #define ValueIsInteger(v) (ValueRep(v) == &IntegerRep)
@@ -929,7 +940,7 @@
 static inline Value
 NewRef (BoxPtr box, int element)
 {
-    int	    c = ((unsigned) (&BoxElements(box)[element])) % REF_CACHE_SIZE;
+    int	    c = (PtrToUInt (&BoxElements(box)[element])) % REF_CACHE_SIZE;
     Value   *re = (Value *) (DataCacheValues(refCache)) + c;
     Value   ret = *re;
 




More information about the Commit mailing list