Author: Amaury Forgeot d'Arc <[email protected]>
Branch: remove-PYPY_NOT_MAIN_FILE
Changeset: r57732:5cc488dd7195
Date: 2012-10-02 15:47 +0200
http://bitbucket.org/pypy/pypy/changeset/5cc488dd7195/
Log: pyobj.h: split header and implementation.
diff --git a/pypy/translator/c/genc.py b/pypy/translator/c/genc.py
--- a/pypy/translator/c/genc.py
+++ b/pypy/translator/c/genc.py
@@ -912,6 +912,7 @@
srcdir / 'exception.c',
srcdir / 'rtyper.c',
srcdir / 'support.c',
+ srcdir / 'pyobj.c',
srcdir / 'profiling.c',
srcdir / 'debug_print.c',
srcdir / 'debug_traceback.c',
diff --git a/pypy/translator/c/src/pyobj.c b/pypy/translator/c/src/pyobj.c
new file mode 100644
--- /dev/null
+++ b/pypy/translator/c/src/pyobj.c
@@ -0,0 +1,45 @@
+#include <src/pyobj.h>
+
+/************************************************************/
+/*** C header subsection: untyped operations ***/
+/*** as OP_XXX() macros calling the CPython API ***/
+#ifdef PYPY_CPYTHON_EXTENSION
+
+#if (PY_VERSION_HEX < 0x02040000)
+
+unsigned long RPyLong_AsUnsignedLong(PyObject *v)
+{
+ if (PyInt_Check(v)) {
+ long val = PyInt_AsLong(v);
+ if (val < 0) {
+ PyErr_SetNone(PyExc_OverflowError);
+ return (unsigned long)-1;
+ }
+ return val;
+ } else {
+ return PyLong_AsUnsignedLong(v);
+ }
+}
+
+#else
+#define RPyLong_AsUnsignedLong PyLong_AsUnsignedLong
+#endif
+
+
+unsigned long long RPyLong_AsUnsignedLongLong(PyObject *v)
+{
+ if (PyInt_Check(v))
+ return PyInt_AsLong(v);
+ else
+ return PyLong_AsUnsignedLongLong(v);
+}
+
+long long RPyLong_AsLongLong(PyObject *v)
+{
+ if (PyInt_Check(v))
+ return PyInt_AsLong(v);
+ else
+ return PyLong_AsLongLong(v);
+}
+
+#endif /* PYPY_CPYTHON_EXTENSION */
diff --git a/pypy/translator/c/src/pyobj.h b/pypy/translator/c/src/pyobj.h
--- a/pypy/translator/c/src/pyobj.h
+++ b/pypy/translator/c/src/pyobj.h
@@ -1,7 +1,6 @@
-
/************************************************************/
- /*** C header subsection: untyped operations ***/
- /*** as OP_XXX() macros calling the CPython API ***/
+/*** C header subsection: untyped operations ***/
+/*** as OP_XXX() macros calling the CPython API ***/
#ifdef PYPY_CPYTHON_EXTENSION
#define op_bool(r,what) { \
@@ -221,45 +220,4 @@
unsigned long long RPyLong_AsUnsignedLongLong(PyObject *v);
long long RPyLong_AsLongLong(PyObject *v);
-#ifdef PYPY_MAIN_IMPLEMENTATION_FILE
-
-#if (PY_VERSION_HEX < 0x02040000)
-
-unsigned long RPyLong_AsUnsignedLong(PyObject *v)
-{
- if (PyInt_Check(v)) {
- long val = PyInt_AsLong(v);
- if (val < 0) {
- PyErr_SetNone(PyExc_OverflowError);
- return (unsigned long)-1;
- }
- return val;
- } else {
- return PyLong_AsUnsignedLong(v);
- }
-}
-
-#else
-#define RPyLong_AsUnsignedLong PyLong_AsUnsignedLong
-#endif
-
-
-unsigned long long RPyLong_AsUnsignedLongLong(PyObject *v)
-{
- if (PyInt_Check(v))
- return PyInt_AsLong(v);
- else
- return PyLong_AsUnsignedLongLong(v);
-}
-
-long long RPyLong_AsLongLong(PyObject *v)
-{
- if (PyInt_Check(v))
- return PyInt_AsLong(v);
- else
- return PyLong_AsLongLong(v);
-}
-
-#endif
-
#endif /* PYPY_CPYTHON_EXTENSION */
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit