Skip to content

Commit cf544f1

Browse files
committed
Add stubs for missing functions from marshal.h
Related #456
1 parent add9c73 commit cf544f1

File tree

3 files changed

+18
-0
lines changed

3 files changed

+18
-0
lines changed

graalpython/com.oracle.graal.python.cext/CAPIFunctions.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,14 @@ PyMapping_Length;Py_ssize_t;PyObject*
356356
PyMapping_SetItemString;int;PyObject*|const char*|PyObject*
357357
PyMapping_Size;Py_ssize_t;PyObject*
358358
PyMapping_Values;PyObject*;PyObject*
359+
PyMarshal_ReadLastObjectFromFile;PyObject*;FILE*
360+
PyMarshal_ReadLongFromFile;long;FILE*
361+
PyMarshal_ReadObjectFromFile;PyObject*;FILE*
362+
PyMarshal_ReadObjectFromString;PyObject*;const char*|Py_ssize_t
363+
PyMarshal_ReadShortFromFile;int;FILE*
364+
PyMarshal_WriteLongToFile;void;long|FILE*|int
365+
PyMarshal_WriteObjectToFile;void;PyObject*|FILE*|int
366+
PyMarshal_WriteObjectToString;PyObject*;PyObject*|int
359367
PyMem_Calloc;void*;size_t|size_t
360368
PyMem_Free;void;void*
361369
PyMem_GetAllocator;void;PyMemAllocatorDomain|PyMemAllocatorEx*

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/cext/capi/CApiFunction.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@
107107
import static com.oracle.graal.python.builtins.objects.cext.capi.transitions.ArgDescriptor.PY_UNICODE_PTR;
108108
import static com.oracle.graal.python.builtins.objects.cext.capi.transitions.ArgDescriptor.Pointer;
109109
import static com.oracle.graal.python.builtins.objects.cext.capi.transitions.ArgDescriptor.PrimitiveResult32;
110+
import static com.oracle.graal.python.builtins.objects.cext.capi.transitions.ArgDescriptor.PrimitiveResult64;
110111
import static com.oracle.graal.python.builtins.objects.cext.capi.transitions.ArgDescriptor.PyCodeAddressRange;
111112
import static com.oracle.graal.python.builtins.objects.cext.capi.transitions.ArgDescriptor.PyCodeObject;
112113
import static com.oracle.graal.python.builtins.objects.cext.capi.transitions.ArgDescriptor.PyFrameObject;
@@ -799,6 +800,14 @@ public final class CApiFunction {
799800
@CApiBuiltin(name = "PyMapping_HasKey", ret = Int, args = {PyObject, PyObject}, call = NotImplemented)
800801
@CApiBuiltin(name = "PyMapping_HasKeyString", ret = Int, args = {PyObject, ConstCharPtrAsTruffleString}, call = NotImplemented)
801802
@CApiBuiltin(name = "PyMapping_SetItemString", ret = Int, args = {PyObject, ConstCharPtrAsTruffleString, PyObject}, call = NotImplemented)
803+
@CApiBuiltin(name = "PyMarshal_ReadLastObjectFromFile", ret = PyObject, args = {FILE_PTR}, call = NotImplemented)
804+
@CApiBuiltin(name = "PyMarshal_ReadLongFromFile", ret = PrimitiveResult64, args = {FILE_PTR}, call = NotImplemented)
805+
@CApiBuiltin(name = "PyMarshal_ReadObjectFromFile", ret = PyObject, args = {FILE_PTR}, call = NotImplemented)
806+
@CApiBuiltin(name = "PyMarshal_ReadObjectFromString", ret = PyObject, args = {ConstCharPtr, Py_ssize_t}, call = NotImplemented)
807+
@CApiBuiltin(name = "PyMarshal_ReadShortFromFile", ret = PrimitiveResult32, args = {FILE_PTR}, call = NotImplemented)
808+
@CApiBuiltin(name = "PyMarshal_WriteLongToFile", ret = Void, args = {PrimitiveResult64, FILE_PTR, PrimitiveResult32}, call = NotImplemented)
809+
@CApiBuiltin(name = "PyMarshal_WriteObjectToFile", ret = Void, args = {PyObject, FILE_PTR, PrimitiveResult32}, call = NotImplemented)
810+
@CApiBuiltin(name = "PyMarshal_WriteObjectToString", ret = PyObject, args = {PyObject, PrimitiveResult32}, call = NotImplemented)
802811
@CApiBuiltin(name = "PyMem_GetAllocator", ret = Void, args = {PYMEMALLOCATORDOMAIN, PYMEMALLOCATOREX_PTR}, call = NotImplemented)
803812
@CApiBuiltin(name = "PyMem_SetAllocator", ret = Void, args = {PYMEMALLOCATORDOMAIN, PYMEMALLOCATOREX_PTR}, call = NotImplemented)
804813
@CApiBuiltin(name = "PyMem_SetupDebugHooks", ret = Void, args = {}, call = NotImplemented)

scripts/csignature.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
#include <frameobject.h>
6464
#include <datetime.h>
6565
#include <structmember.h>
66+
#include <marshal.h>
6667
"""
6768

6869
include_path = sysconfig.get_config_var("INCLUDEPY")

0 commit comments

Comments
 (0)