mirror of https://github.com/python/cpython
closes bpo-32460: ensure all non-static globals have initializers (#5061)
This commit is contained in:
parent
6c6d3a4608
commit
0a37a30037
|
@ -116,10 +116,10 @@ bytes(cdata)
|
||||||
#endif
|
#endif
|
||||||
#include "ctypes.h"
|
#include "ctypes.h"
|
||||||
|
|
||||||
PyObject *PyExc_ArgError;
|
PyObject *PyExc_ArgError = NULL;
|
||||||
|
|
||||||
/* This dict maps ctypes types to POINTER types */
|
/* This dict maps ctypes types to POINTER types */
|
||||||
PyObject *_ctypes_ptrtype_cache;
|
PyObject *_ctypes_ptrtype_cache = NULL;
|
||||||
|
|
||||||
static PyTypeObject Simple_Type;
|
static PyTypeObject Simple_Type;
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ typedef struct {
|
||||||
} TestReg;
|
} TestReg;
|
||||||
|
|
||||||
|
|
||||||
EXPORT(TestReg) last_tfrsuv_arg;
|
EXPORT(TestReg) last_tfrsuv_arg = {0};
|
||||||
|
|
||||||
|
|
||||||
EXPORT(void)
|
EXPORT(void)
|
||||||
|
@ -410,8 +410,8 @@ EXPORT(void) _py_func(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
EXPORT(long long) last_tf_arg_s;
|
EXPORT(long long) last_tf_arg_s = 0;
|
||||||
EXPORT(unsigned long long) last_tf_arg_u;
|
EXPORT(unsigned long long) last_tf_arg_u = 0;
|
||||||
|
|
||||||
struct BITS {
|
struct BITS {
|
||||||
int A: 1, B:2, C:3, D:4, E: 5, F: 6, G: 7, H: 8, I: 9;
|
int A: 1, B:2, C:3, D:4, E: 5, F: 6, G: 7, H: 8, I: 9;
|
||||||
|
|
|
@ -26,33 +26,33 @@
|
||||||
|
|
||||||
/* Various interned strings */
|
/* Various interned strings */
|
||||||
|
|
||||||
PyObject *_PyIO_str_close;
|
PyObject *_PyIO_str_close = NULL;
|
||||||
PyObject *_PyIO_str_closed;
|
PyObject *_PyIO_str_closed = NULL;
|
||||||
PyObject *_PyIO_str_decode;
|
PyObject *_PyIO_str_decode = NULL;
|
||||||
PyObject *_PyIO_str_encode;
|
PyObject *_PyIO_str_encode = NULL;
|
||||||
PyObject *_PyIO_str_fileno;
|
PyObject *_PyIO_str_fileno = NULL;
|
||||||
PyObject *_PyIO_str_flush;
|
PyObject *_PyIO_str_flush = NULL;
|
||||||
PyObject *_PyIO_str_getstate;
|
PyObject *_PyIO_str_getstate = NULL;
|
||||||
PyObject *_PyIO_str_isatty;
|
PyObject *_PyIO_str_isatty = NULL;
|
||||||
PyObject *_PyIO_str_newlines;
|
PyObject *_PyIO_str_newlines = NULL;
|
||||||
PyObject *_PyIO_str_nl;
|
PyObject *_PyIO_str_nl = NULL;
|
||||||
PyObject *_PyIO_str_read;
|
PyObject *_PyIO_str_read = NULL;
|
||||||
PyObject *_PyIO_str_read1;
|
PyObject *_PyIO_str_read1 = NULL;
|
||||||
PyObject *_PyIO_str_readable;
|
PyObject *_PyIO_str_readable = NULL;
|
||||||
PyObject *_PyIO_str_readall;
|
PyObject *_PyIO_str_readall = NULL;
|
||||||
PyObject *_PyIO_str_readinto;
|
PyObject *_PyIO_str_readinto = NULL;
|
||||||
PyObject *_PyIO_str_readline;
|
PyObject *_PyIO_str_readline = NULL;
|
||||||
PyObject *_PyIO_str_reset;
|
PyObject *_PyIO_str_reset = NULL;
|
||||||
PyObject *_PyIO_str_seek;
|
PyObject *_PyIO_str_seek = NULL;
|
||||||
PyObject *_PyIO_str_seekable;
|
PyObject *_PyIO_str_seekable = NULL;
|
||||||
PyObject *_PyIO_str_setstate;
|
PyObject *_PyIO_str_setstate = NULL;
|
||||||
PyObject *_PyIO_str_tell;
|
PyObject *_PyIO_str_tell = NULL;
|
||||||
PyObject *_PyIO_str_truncate;
|
PyObject *_PyIO_str_truncate = NULL;
|
||||||
PyObject *_PyIO_str_writable;
|
PyObject *_PyIO_str_writable = NULL;
|
||||||
PyObject *_PyIO_str_write;
|
PyObject *_PyIO_str_write = NULL;
|
||||||
|
|
||||||
PyObject *_PyIO_empty_str;
|
PyObject *_PyIO_empty_str = NULL;
|
||||||
PyObject *_PyIO_empty_bytes;
|
PyObject *_PyIO_empty_bytes = NULL;
|
||||||
|
|
||||||
PyDoc_STRVAR(module_doc,
|
PyDoc_STRVAR(module_doc,
|
||||||
"The io module provides the Python interfaces to stream handling. The\n"
|
"The io module provides the Python interfaces to stream handling. The\n"
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
/** the adapters registry **/
|
/** the adapters registry **/
|
||||||
|
|
||||||
PyObject *psyco_adapters;
|
static PyObject *psyco_adapters = NULL;
|
||||||
|
|
||||||
/* pysqlite_microprotocols_init - initialize the adapters dictionary */
|
/* pysqlite_microprotocols_init - initialize the adapters dictionary */
|
||||||
|
|
||||||
|
|
|
@ -28,10 +28,6 @@
|
||||||
|
|
||||||
#include <Python.h>
|
#include <Python.h>
|
||||||
|
|
||||||
/** adapters registry **/
|
|
||||||
|
|
||||||
extern PyObject *psyco_adapters;
|
|
||||||
|
|
||||||
/** the names of the three mandatory methods **/
|
/** the names of the three mandatory methods **/
|
||||||
|
|
||||||
#define MICROPROTOCOLS_GETQUOTED_NAME "getquoted"
|
#define MICROPROTOCOLS_GETQUOTED_NAME "getquoted"
|
||||||
|
|
|
@ -35,13 +35,20 @@
|
||||||
|
|
||||||
/* static objects at module-level */
|
/* static objects at module-level */
|
||||||
|
|
||||||
PyObject* pysqlite_Error, *pysqlite_Warning, *pysqlite_InterfaceError, *pysqlite_DatabaseError,
|
PyObject *pysqlite_Error = NULL;
|
||||||
*pysqlite_InternalError, *pysqlite_OperationalError, *pysqlite_ProgrammingError,
|
PyObject *pysqlite_Warning = NULL;
|
||||||
*pysqlite_IntegrityError, *pysqlite_DataError, *pysqlite_NotSupportedError;
|
PyObject *pysqlite_InterfaceError = NULL;
|
||||||
|
PyObject *pysqlite_DatabaseError = NULL;
|
||||||
|
PyObject *pysqlite_InternalError = NULL;
|
||||||
|
PyObject *pysqlite_OperationalError = NULL;
|
||||||
|
PyObject *pysqlite_ProgrammingError = NULL;
|
||||||
|
PyObject *pysqlite_IntegrityError = NULL;
|
||||||
|
PyObject *pysqlite_DataError = NULL;
|
||||||
|
PyObject *pysqlite_NotSupportedError = NULL;
|
||||||
|
|
||||||
PyObject* converters;
|
PyObject* converters = NULL;
|
||||||
int _enable_callback_tracebacks;
|
int _enable_callback_tracebacks = 0;
|
||||||
int pysqlite_BaseTypeAdapted;
|
int pysqlite_BaseTypeAdapted = 0;
|
||||||
|
|
||||||
static PyObject* module_connect(PyObject* self, PyObject* args, PyObject*
|
static PyObject* module_connect(PyObject* self, PyObject* args, PyObject*
|
||||||
kwargs)
|
kwargs)
|
||||||
|
@ -461,10 +468,6 @@ PyMODINIT_FUNC PyInit__sqlite3(void)
|
||||||
/* initialize the default converters */
|
/* initialize the default converters */
|
||||||
converters_init(dict);
|
converters_init(dict);
|
||||||
|
|
||||||
_enable_callback_tracebacks = 0;
|
|
||||||
|
|
||||||
pysqlite_BaseTypeAdapted = 0;
|
|
||||||
|
|
||||||
error:
|
error:
|
||||||
if (PyErr_Occurred())
|
if (PyErr_Occurred())
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
#endif /* MS_WINDOWS */
|
#endif /* MS_WINDOWS */
|
||||||
|
|
||||||
|
|
||||||
PyThreadState* _PyOS_ReadlineTState;
|
PyThreadState* _PyOS_ReadlineTState = NULL;
|
||||||
|
|
||||||
#include "pythread.h"
|
#include "pythread.h"
|
||||||
static PyThread_type_lock _PyOS_ReadlineLock = NULL;
|
static PyThread_type_lock _PyOS_ReadlineLock = NULL;
|
||||||
|
@ -284,7 +284,7 @@ PyOS_StdioReadline(FILE *sys_stdin, FILE *sys_stdout, const char *prompt)
|
||||||
|
|
||||||
Note: Python expects in return a buffer allocated with PyMem_Malloc. */
|
Note: Python expects in return a buffer allocated with PyMem_Malloc. */
|
||||||
|
|
||||||
char *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *);
|
char *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *) = NULL;
|
||||||
|
|
||||||
|
|
||||||
/* Interface used by tokenizer.c and bltinmodule.c */
|
/* Interface used by tokenizer.c and bltinmodule.c */
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
_Py_HashSecret_t _Py_HashSecret;
|
_Py_HashSecret_t _Py_HashSecret = {0};
|
||||||
|
|
||||||
#if Py_HASH_ALGORITHM == Py_HASH_EXTERNAL
|
#if Py_HASH_ALGORITHM == Py_HASH_EXTERNAL
|
||||||
extern PyHash_FuncDef PyHash_Func;
|
extern PyHash_FuncDef PyHash_Func;
|
||||||
|
|
|
@ -108,17 +108,17 @@ _Py_IsFinalizing(void)
|
||||||
|
|
||||||
/* Global configuration variable declarations are in pydebug.h */
|
/* Global configuration variable declarations are in pydebug.h */
|
||||||
/* XXX (ncoghlan): move those declarations to pylifecycle.h? */
|
/* XXX (ncoghlan): move those declarations to pylifecycle.h? */
|
||||||
int Py_DebugFlag; /* Needed by parser.c */
|
int Py_DebugFlag = 0; /* Needed by parser.c */
|
||||||
int Py_VerboseFlag; /* Needed by import.c */
|
int Py_VerboseFlag = 0; /* Needed by import.c */
|
||||||
int Py_QuietFlag; /* Needed by sysmodule.c */
|
int Py_QuietFlag = 0; /* Needed by sysmodule.c */
|
||||||
int Py_InteractiveFlag; /* Needed by Py_FdIsInteractive() below */
|
int Py_InteractiveFlag = 0; /* Needed by Py_FdIsInteractive() below */
|
||||||
int Py_InspectFlag; /* Needed to determine whether to exit at SystemExit */
|
int Py_InspectFlag = 0; /* Needed to determine whether to exit at SystemExit */
|
||||||
int Py_OptimizeFlag = 0; /* Needed by compile.c */
|
int Py_OptimizeFlag = 0; /* Needed by compile.c */
|
||||||
int Py_NoSiteFlag; /* Suppress 'import site' */
|
int Py_NoSiteFlag = 0; /* Suppress 'import site' */
|
||||||
int Py_BytesWarningFlag; /* Warn on str(bytes) and str(buffer) */
|
int Py_BytesWarningFlag = 0; /* Warn on str(bytes) and str(buffer) */
|
||||||
int Py_FrozenFlag; /* Needed by getpath.c */
|
int Py_FrozenFlag = 0; /* Needed by getpath.c */
|
||||||
int Py_IgnoreEnvironmentFlag; /* e.g. PYTHONPATH, PYTHONHOME */
|
int Py_IgnoreEnvironmentFlag = 0; /* e.g. PYTHONPATH, PYTHONHOME */
|
||||||
int Py_DontWriteBytecodeFlag; /* Suppress writing bytecode files (*.pyc) */
|
int Py_DontWriteBytecodeFlag = 0; /* Suppress writing bytecode files (*.pyc) */
|
||||||
int Py_NoUserSiteDirectory = 0; /* for -s and site.py */
|
int Py_NoUserSiteDirectory = 0; /* for -s and site.py */
|
||||||
int Py_UnbufferedStdioFlag = 0; /* Unbuffered binary std{in,out,err} */
|
int Py_UnbufferedStdioFlag = 0; /* Unbuffered binary std{in,out,err} */
|
||||||
int Py_HashRandomizationFlag = 0; /* for -R and PYTHONHASHSEED */
|
int Py_HashRandomizationFlag = 0; /* for -R and PYTHONHASHSEED */
|
||||||
|
|
Loading…
Reference in New Issue