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

Reply via email to