Commit 07efb09a authored by Anthony Baxter's avatar Anthony Baxter

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.
parent 85496c66
......@@ -91,6 +91,11 @@
* process to find the installed Python tree.
*/
#ifdef __cplusplus
extern "C" {
#endif
#ifndef VERSION
#if defined(__VMS)
#define VERSION "2_1"
......@@ -681,3 +686,9 @@ Py_GetProgramFullPath(void)
calculate_path();
return progpath;
}
#ifdef __cplusplus
}
#endif
......@@ -29,6 +29,10 @@
"Type \"help\", \"copyright\", \"credits\" or \"license\" " \
"for more information."
#ifdef __cplusplus
extern "C" {
#endif
/* For Py_GetArgcArgv(); set by main() */
static char **orig_argv;
static int orig_argc;
......@@ -540,3 +544,8 @@ Py_GetArgcArgv(int *argc, char ***argv)
*argc = orig_argc;
*argv = orig_argv;
}
#ifdef __cplusplus
}
#endif
......@@ -22,6 +22,10 @@
# include <unixio.h>
#endif /* defined(__VMS) */
#ifdef __cplusplus
extern "C" {
#endif
PyDoc_STRVAR(posix__doc__,
"This module provides access to operating system functionality that is\n\
standardized by the C Standard and the POSIX standard (a thinly\n\
......@@ -8253,3 +8257,8 @@ INITFUNC(void)
PyModule_AddObject(m, "statvfs_result",
(PyObject*) &StatVFSResultType);
}
#ifdef __cplusplus
}
#endif
......@@ -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 @@ Py_UniversalNewlineFread(char *buf, size_t n,
f->f_skipnextlf = skipnextlf;
return dst - buf;
}
#ifdef __cplusplus
}
#endif
......@@ -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_destroy_chain(void)
--_PyTrash_delete_nesting;
}
}
#ifdef __cplusplus
}
#endif
......@@ -83,6 +83,11 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#ifdef __cplusplus
extern "C" {
#endif
/* Free list for Unicode objects */
static PyUnicodeObject *unicode_freelist;
static int unicode_freelist_size;
......@@ -7418,6 +7423,11 @@ _PyUnicode_Fini(void)
unicode_freelist_size = 0;
}
#ifdef __cplusplus
}
#endif
/*
Local variables:
c-basic-offset: 4
......
......@@ -16,6 +16,11 @@ extern char *strerror(int);
#include <ctype.h>
#ifdef __cplusplus
extern "C" {
#endif
void
PyErr_Restore(PyObject *type, PyObject *value, PyObject *traceback)
{
......@@ -786,3 +791,8 @@ PyErr_ProgramText(const char *filename, int lineno)
}
return NULL;
}
#ifdef __cplusplus
}
#endif
......@@ -6,6 +6,10 @@
#include "Python.h"
#include "pyconfig.h"
#ifdef __cplusplus
extern "C" {
#endif
time_t
PyOS_GetLastModificationTime(char *path, FILE *fp)
{
......@@ -15,3 +19,8 @@ PyOS_GetLastModificationTime(char *path, FILE *fp)
else
return st.st_mtime;
}
#ifdef __cplusplus
}
#endif
......@@ -27,6 +27,10 @@
#include <stdio.h>
#include <string.h>
#ifdef __cplusplus
extern "C" {
#endif
int _PyOS_opterr = 1; /* generate error messages */
int _PyOS_optind = 1; /* index into argv array */
char *_PyOS_optarg = NULL; /* optional argument */
......@@ -81,3 +85,8 @@ int _PyOS_GetOpt(int argc, char **argv, char *optstring)
return option;
}
#ifdef __cplusplus
}
#endif
......@@ -17,6 +17,9 @@
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
extern time_t PyOS_GetLastModificationTime(char *, FILE *);
/* In getmtime.c */
......@@ -2947,3 +2950,7 @@ PyImport_AppendInittab(char *name, void (*initfunc)(void))
return PyImport_ExtendInittab(newtab);
}
#ifdef __cplusplus
}
#endif
......@@ -37,6 +37,10 @@ static PyThread_type_lock head_mutex = NULL; /* Protects interp->tstate_head */
#define HEAD_LOCK() PyThread_acquire_lock(head_mutex, WAIT_LOCK)
#define HEAD_UNLOCK() PyThread_release_lock(head_mutex)
#ifdef __cplusplus
extern "C" {
#endif
/* The single PyInterpreterState used by this process'
GILState implementation
*/
......@@ -552,4 +556,11 @@ PyGILState_Release(PyGILState_STATE oldstate)
else if (oldstate == PyGILState_UNLOCKED)
PyEval_SaveThread();
}
#ifdef __cplusplus
}
#endif
#endif /* WITH_THREAD */
......@@ -37,6 +37,10 @@
_Py_GetRefTotal())
#endif
#ifdef __cplusplus
extern "C" {
#endif
extern char *Py_GetPath(void);
extern grammar _PyParser_Grammar; /* From graminit.c */
......@@ -1692,3 +1696,8 @@ PyParser_SimpleParseString(const char *str, int start)
{
return PyParser_SimpleParseStringFlags(str, start, 0);
}
#ifdef __cplusplus
}
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment