mirror of
https://github.com/python/cpython.git
synced 2025-08-01 23:53:15 +00:00
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.
This commit is contained in:
parent
28c5f1fa16
commit
ac6bd46d5c
12 changed files with 112 additions and 0 deletions
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue