[pypy-svn] r68535 - in pypy/trunk/pypy/translator/c: src test

arigo at codespeak.net arigo at codespeak.net
Fri Oct 16 14:45:29 CEST 2009


Author: arigo
Date: Fri Oct 16 14:45:28 2009
New Revision: 68535

Modified:
   pypy/trunk/pypy/translator/c/src/llgroup.h
   pypy/trunk/pypy/translator/c/test/test_lltyped.py
Log:
Improve test_llgroup_size_limit.
Fix: cast to unsigned short only after the division.


Modified: pypy/trunk/pypy/translator/c/src/llgroup.h
==============================================================================
--- pypy/trunk/pypy/translator/c/src/llgroup.h	(original)
+++ pypy/trunk/pypy/translator/c/src/llgroup.h	Fri Oct 16 14:45:28 2009
@@ -2,7 +2,7 @@
 #define _PYPY_LL_GROUP_H_
 
 #define GROUP_MEMBER_OFFSET(grouptype, membername)  \
-    ((unsigned short)(&(((grouptype*)NULL))->membername) / sizeof(long))
+  ((unsigned short)(((int)&((grouptype*)NULL)->membername) / sizeof(long)))
 
 #define _OP_GET_GROUP_MEMBER(groupptr, compactoffset)  \
   (((char*)groupptr) + ((long)compactoffset)*sizeof(long))

Modified: pypy/trunk/pypy/translator/c/test/test_lltyped.py
==============================================================================
--- pypy/trunk/pypy/translator/c/test/test_lltyped.py	(original)
+++ pypy/trunk/pypy/translator/c/test/test_lltyped.py	Fri Oct 16 14:45:28 2009
@@ -731,15 +731,17 @@
         grpptr = grp._as_ptr()
         def f(n):
             p = llop.get_group_member(Ptr(S1), grpptr, goffsets[n])
-            q = llop.get_group_member(Ptr(S1), grpptr, goffsets[0])
             p.x = 5
-            q.x = 666
+            for i in range(len(goffsets)):
+                if i != n:
+                    q = llop.get_group_member(Ptr(S1), grpptr, goffsets[i])
+                    q.x = 666
             return p.x
         if toobig:
             py.test.raises(CompilationError, self.getcompiled, f, [int])
         else:
             fn = self.getcompiled(f, [int])
-            res = fn(-1)
+            res = fn(len(goffsets)-1)
             assert res == 5
 
     def test_round_up_for_allocation(self):



More information about the Pypy-commit mailing list