spread the extern "C" { } magic pixie dust around. Python itself builds now
using a C++ compiler. Still lots and lots of errors in the modules built by
setup.py, and a bunch of warnings from g++ in the core.
diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index 20e71a3..185caa4 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -48,6 +48,10 @@
#define NEWLINE_LF 2 /* \n newline seen */
#define NEWLINE_CRLF 4 /* \r\n newline seen */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
FILE *
PyFile_AsFile(PyObject *f)
{
@@ -2441,3 +2445,8 @@
f->f_skipnextlf = skipnextlf;
return dst - buf;
}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/Objects/object.c b/Objects/object.c
index 0ce4332..d3dda1b 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -3,6 +3,10 @@
#include "Python.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef Py_REF_DEBUG
Py_ssize_t _Py_RefTotal;
@@ -2112,3 +2116,8 @@
--_PyTrash_delete_nesting;
}
}
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 1e0db15..30ae6f0 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -83,6 +83,11 @@
*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Free list for Unicode objects */
static PyUnicodeObject *unicode_freelist;
static int unicode_freelist_size;
@@ -7418,6 +7423,11 @@
unicode_freelist_size = 0;
}
+#ifdef __cplusplus
+}
+#endif
+
+
/*
Local variables:
c-basic-offset: 4