Author: Antonio Cuni <[email protected]>
Branch: hpy
Changeset: r98096:3c3b367435c3
Date: 2019-11-17 12:31 +0000
http://bitbucket.org/pypy/pypy/changeset/3c3b367435c3/
Log: (antocuni, arigo, ronan): fix translation
diff --git a/pypy/module/hpy_universal/llapi.py
b/pypy/module/hpy_universal/llapi.py
--- a/pypy/module/hpy_universal/llapi.py
+++ b/pypy/module/hpy_universal/llapi.py
@@ -2,9 +2,28 @@
from rpython.rtyper.lltypesystem import lltype, rffi
from rpython.translator.tool.cbuild import ExternalCompilationInfo
+# XXX temporary location
+INCLUDE_DIR = os.path.join(os.path.dirname(__file__),
+ "test", "_vendored", "include")
+
+eci = ExternalCompilationInfo(includes=["universal/hpy.h"],
+ include_dirs=[INCLUDE_DIR],
+ post_include_bits=["""
+RPY_EXTERN void *_HPy_GetGlobalCtx(void);
+"""],
+ separate_module_sources=["""
+
+struct _HPyContext_s hpy_global_ctx;
+void *_HPy_GetGlobalCtx(void)
+{
+ return &hpy_global_ctx;
+}
+
+"""])
+
HPy = lltype.Signed
-HPyContextS = lltype.Struct('dummy_HPyContext_s',
+HPyContextS = rffi.CStruct('_HPyContext_s',
('ctx_version', rffi.INT_real),
('ctx_Module_Create', rffi.VOIDP),
('ctx_None_Get', rffi.VOIDP),
@@ -17,6 +36,7 @@
('ctx_FromPyObject', rffi.VOIDP),
('ctx_AsPyObject', rffi.VOIDP),
('ctx_CallRealFunctionFromTrampoline', rffi.VOIDP),
+ hints={'eci': eci},
)
HPyContext = lltype.Ptr(HPyContextS)
@@ -35,6 +55,7 @@
('ml_meth', _HPyMethodPairFuncPtr),
('ml_flags', rffi.INT_real),
('ml_doc', rffi.CCHARP),
+ hints={'eci': eci, 'typedef': True},
)
HPyModuleDef = rffi.CStruct('HPyModuleDef',
@@ -43,6 +64,7 @@
('m_doc', rffi.CCHARP),
('m_size', lltype.Signed),
('m_methods', rffi.CArrayPtr(HPyMethodDef)),
+ hints={'eci': eci, 'typedef': True},
)
METH_VARARGS = 0x0001
@@ -53,27 +75,6 @@
# ----------------------------------------------------------------
-# XXX temporary location
-INCLUDE_DIR = os.path.join(os.path.dirname(__file__),
- "test", "_vendored", "include")
-
-eci = ExternalCompilationInfo(includes=["universal/hpy.h"],
- include_dirs=[INCLUDE_DIR],
- post_include_bits=["""
-
-RPY_EXTERN void _HPy_FillFunction(int index, void *function);
-RPY_EXTERN void *_HPy_GetGlobalCtx(void);
-"""],
- separate_module_sources=["""
-
-struct _HPyContext_s hpy_global_ctx;
-
-void *_HPy_GetGlobalCtx(void)
-{
- return &hpy_global_ctx;
-}
-
-"""])
_HPy_GetGlobalCtx = rffi.llexternal('_HPy_GetGlobalCtx', [], HPyContext,
compilation_info=eci, _nowrapper=True)
diff --git a/pypy/module/hpy_universal/state.py
b/pypy/module/hpy_universal/state.py
--- a/pypy/module/hpy_universal/state.py
+++ b/pypy/module/hpy_universal/state.py
@@ -32,7 +32,7 @@
self.ctx = llapi._HPy_GetGlobalCtx()
for name in CONTEXT_NAMES:
- if name != 'ctx_version':
+ if name != 'c_ctx_version':
missing_function = make_missing_function(name)
funcptr = llhelper(lltype.Ptr(DUMMY_FUNC), missing_function)
setattr(self.ctx, name, rffi.cast(rffi.VOIDP, funcptr))
@@ -42,10 +42,10 @@
space = self.space
funcptr = interp_hpy.HPyModule_Create.get_llhelper(space)
- self.ctx.ctx_Module_Create = rffi.cast(rffi.VOIDP, funcptr)
+ self.ctx.c_ctx_Module_Create = rffi.cast(rffi.VOIDP, funcptr)
#
funcptr = interp_hpy.HPyNone_Get.get_llhelper(space)
- self.ctx.ctx_None_Get = rffi.cast(rffi.VOIDP, funcptr)
+ self.ctx.c_ctx_None_Get = rffi.cast(rffi.VOIDP, funcptr)
#
funcptr = interp_hpy.HPy_Dup.get_llhelper(space)
- self.ctx.ctx_Dup = rffi.cast(rffi.VOIDP, funcptr)
+ self.ctx.c_ctx_Dup = rffi.cast(rffi.VOIDP, funcptr)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit