[pypy-svn] r13464 - in pypy/dist/pypy: rpython translator/c/test
arigo at codespeak.net
arigo at codespeak.net
Thu Jun 16 02:07:27 CEST 2005
Author: arigo
Date: Thu Jun 16 02:07:25 2005
New Revision: 13464
Modified:
pypy/dist/pypy/rpython/rclass.py
pypy/dist/pypy/translator/c/test/test_database.py
Log:
Bug fixes.
Modified: pypy/dist/pypy/rpython/rclass.py
==============================================================================
--- pypy/dist/pypy/rpython/rclass.py (original)
+++ pypy/dist/pypy/rpython/rclass.py Thu Jun 16 02:07:25 2005
@@ -188,8 +188,7 @@
"""Return a ptr to the vtable of this type."""
if self.vtable is None:
self.vtable = malloc(self.vtable_type, immortal=True)
- if self.classdef is not None:
- self.setup_vtable(self.vtable, self)
+ self.setup_vtable(self.vtable, self)
#
vtable = self.vtable
if cast_to_typeptr:
@@ -201,7 +200,8 @@
given subclass."""
if self.classdef is None:
# initialize the 'parenttypeptr' and 'name' fields
- vtable.parenttypeptr = rsubcls.rbase.getvtable()
+ if rsubcls.classdef is not None:
+ vtable.parenttypeptr = rsubcls.rbase.getvtable()
rinstance = getinstancerepr(self.rtyper, rsubcls.classdef)
rinstance.setup()
vtable.rtti = getRuntimeTypeInfo(rinstance.object_type)
Modified: pypy/dist/pypy/translator/c/test/test_database.py
==============================================================================
--- pypy/dist/pypy/translator/c/test/test_database.py (original)
+++ pypy/dist/pypy/translator/c/test/test_database.py Thu Jun 16 02:07:25 2005
@@ -236,26 +236,26 @@
db.complete()
dump_on_stdout(db)
-def test_nested_gcstruct():
- S1 = GcStruct('inlined', ('x', Signed), ('y', Ptr(PyObject)))
- S = GcStruct('testing', ('head', S1),
- ('ptr2', Ptr(S1)),
- ('z', Signed))
- def ll_f(x):
- ptr2 = malloc(S1)
- ptr2.x = x+1
- s = malloc(S)
- s.head.x = x
- s.ptr2 = ptr2
- return s.head.x * s.ptr2.x
- t = Translator(ll_f)
- t.annotate([int])
- t.specialize()
+##def test_nested_gcstruct():
+## S1 = GcStruct('inlined', ('x', Signed), ('y', Ptr(PyObject)))
+## S = GcStruct('testing', ('head', S1),
+## ('ptr2', Ptr(S1)),
+## ('z', Signed))
+## def ll_f(x):
+## ptr2 = malloc(S1)
+## ptr2.x = x+1
+## s = malloc(S)
+## s.head.x = x
+## s.ptr2 = ptr2
+## return s.head.x * s.ptr2.x
+## t = Translator(ll_f)
+## t.annotate([int])
+## t.specialize()
- db = LowLevelDatabase(t)
- db.get(getfunctionptr(t, ll_f))
- db.complete()
- dump_on_stdout(db)
+## db = LowLevelDatabase(t)
+## db.get(getfunctionptr(t, ll_f))
+## db.complete()
+## dump_on_stdout(db)
def test_array():
A = GcArray(('obj', Ptr(PyObject)))
More information about the Pypy-commit
mailing list