Author: Ronan Lamy <[email protected]>
Branch: rffi-parser
Changeset: r89131:b9189e339e2d
Date: 2016-12-18 02:25 +0000
http://bitbucket.org/pypy/pypy/changeset/b9189e339e2d/
Log: fix
diff --git a/pypy/module/cpyext/cparser.py b/pypy/module/cpyext/cparser.py
--- a/pypy/module/cpyext/cparser.py
+++ b/pypy/module/cpyext/cparser.py
@@ -686,8 +686,8 @@
assert name not in self.definitions
tp = self.convert_type(obj)
if isinstance(tp, DelayedStruct):
- tp = self.realize_struct(tp, name)
- self.structs[obj] = tp
+ self.realize_struct(tp, name)
+ tp = self.structs[obj] = tp.TYPE
self.definitions[name] = lltype.Typedef(tp, name)
def add_macro(self, name, value):
@@ -705,13 +705,10 @@
return struct
def realize_struct(self, struct, type_name):
- from pypy.module.cpyext.api import CConfig, TYPES
configname = type_name.replace(' ', '__')
setattr(self._Config, configname,
rffi_platform.Struct(type_name, struct.fields))
- forward = lltype.ForwardReference()
- self._TYPES[configname] = forward
- return forward
+ self._TYPES[configname] = struct.TYPE
def configure_types(self):
for name, TYPE in rffi_platform.configure(self._Config).iteritems():
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit