mirror of
https://github.com/python/cpython.git
synced 2026-05-18 02:15:28 -04: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:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user