[pypy-svn] r15813 - in pypy/dist/pypy/rpython/memory: . test
cfbolz at codespeak.net
cfbolz at codespeak.net
Tue Aug 9 14:32:30 CEST 2005
Author: cfbolz
Date: Tue Aug 9 14:32:29 2005
New Revision: 15813
Modified:
pypy/dist/pypy/rpython/memory/convertlltype.py
pypy/dist/pypy/rpython/memory/test/test_convertlltype.py
Log:
oops, all the test_llinterpsim tests (always run all tests :-(
) failed because I didn't adapt the size calculation.
Modified: pypy/dist/pypy/rpython/memory/convertlltype.py
==============================================================================
--- pypy/dist/pypy/rpython/memory/convertlltype.py (original)
+++ pypy/dist/pypy/rpython/memory/convertlltype.py Tue Aug 9 14:32:29 2005
@@ -160,6 +160,9 @@
candidates.append(item)
elif isinstance(cand, lltype._struct):
seen[cand] = True
+ parent = cand._parentstructure()
+ if parent is not None:
+ candidates.append(parent)
TYPE = cand._TYPE
if TYPE._arrayfld is not None:
total_size += get_total_size(
Modified: pypy/dist/pypy/rpython/memory/test/test_convertlltype.py
==============================================================================
--- pypy/dist/pypy/rpython/memory/test/test_convertlltype.py (original)
+++ pypy/dist/pypy/rpython/memory/test/test_convertlltype.py Tue Aug 9 14:32:29 2005
@@ -127,3 +127,10 @@
s1 = cvter.convert(lls1)
s2 = cast_pointer(lltype.Ptr(S2), s1)
assert s2.v2 == 0
+
+def test_convertsubstructure_of_array():
+ cvter = LLTypeConverter(lladdress.raw_malloc(100))
+ S1 = lltype.Struct("s1", ("v1", lltype.Signed))
+ A = lltype.GcArray(S1)
+ lla = lltype.malloc(A, 3)
+ s1 = cvter.convert(lla[0])
More information about the Pypy-commit
mailing list