Issue #22463: Backport compiler warning fixes and workarounds
* Set but unused variable in Parser/pgen.c in non-debug builds. Patch by Christian Heimes. * Unused static function in Modules/readline.c. Patch by Georg Brandl. * main_window unused in Modules/tkappinit.c. Patch by Gregory P. Smith. * Dead assignment in Modules/_ctypes/cfield.c. Extracted from patch by Brett Cannon. * Expression result unused in PyObject_INIT macro expansions. Based on patches by Christian Heimes. * Load expat_config.h and therefore pyconfig.h before C stdlib headers are loaded. This silences pre-processor warnings including '_POSIX_C_SOURCE redefined'. Extracted from patch by Christian Heimes.
This commit is contained in:
parent
4e6e565368
commit
646b528467
|
@ -48,7 +48,7 @@ PyCField_FromDesc(PyObject *desc, Py_ssize_t index,
|
||||||
{
|
{
|
||||||
CFieldObject *self;
|
CFieldObject *self;
|
||||||
PyObject *proto;
|
PyObject *proto;
|
||||||
Py_ssize_t size, align, length;
|
Py_ssize_t size, align;
|
||||||
SETFUNC setfunc = NULL;
|
SETFUNC setfunc = NULL;
|
||||||
GETFUNC getfunc = NULL;
|
GETFUNC getfunc = NULL;
|
||||||
StgDictObject *dict;
|
StgDictObject *dict;
|
||||||
|
@ -102,7 +102,6 @@ PyCField_FromDesc(PyObject *desc, Py_ssize_t index,
|
||||||
}
|
}
|
||||||
|
|
||||||
size = dict->size;
|
size = dict->size;
|
||||||
length = dict->length;
|
|
||||||
proto = desc;
|
proto = desc;
|
||||||
|
|
||||||
/* Field descriptors for 'c_char * n' are be scpecial cased to
|
/* Field descriptors for 'c_char * n' are be scpecial cased to
|
||||||
|
|
|
@ -613,7 +613,7 @@ time_alloc(PyTypeObject *type, Py_ssize_t aware)
|
||||||
sizeof(_PyDateTime_BaseTime));
|
sizeof(_PyDateTime_BaseTime));
|
||||||
if (self == NULL)
|
if (self == NULL)
|
||||||
return (PyObject *)PyErr_NoMemory();
|
return (PyObject *)PyErr_NoMemory();
|
||||||
PyObject_INIT(self, type);
|
(void)PyObject_INIT(self, type);
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -628,7 +628,7 @@ datetime_alloc(PyTypeObject *type, Py_ssize_t aware)
|
||||||
sizeof(_PyDateTime_BaseDateTime));
|
sizeof(_PyDateTime_BaseDateTime));
|
||||||
if (self == NULL)
|
if (self == NULL)
|
||||||
return (PyObject *)PyErr_NoMemory();
|
return (PyObject *)PyErr_NoMemory();
|
||||||
PyObject_INIT(self, type);
|
(void)PyObject_INIT(self, type);
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,6 @@
|
||||||
See the file COPYING for copying permission.
|
See the file COPYING for copying permission.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <string.h> /* memset(), memcpy() */
|
|
||||||
#include <assert.h>
|
|
||||||
#include <limits.h> /* UINT_MAX */
|
|
||||||
#include <time.h> /* time() */
|
|
||||||
|
|
||||||
#define XML_BUILDING_EXPAT 1
|
#define XML_BUILDING_EXPAT 1
|
||||||
|
|
||||||
#ifdef COMPILED_FROM_DSP
|
#ifdef COMPILED_FROM_DSP
|
||||||
|
@ -22,6 +16,12 @@
|
||||||
#include <expat_config.h>
|
#include <expat_config.h>
|
||||||
#endif /* ndef COMPILED_FROM_DSP */
|
#endif /* ndef COMPILED_FROM_DSP */
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <string.h> /* memset(), memcpy() */
|
||||||
|
#include <assert.h>
|
||||||
|
#include <limits.h> /* UINT_MAX */
|
||||||
|
#include <time.h> /* time() */
|
||||||
|
|
||||||
#include "ascii.h"
|
#include "ascii.h"
|
||||||
#include "expat.h"
|
#include "expat.h"
|
||||||
|
|
||||||
|
|
|
@ -66,10 +66,11 @@ static const char libedit_version_tag[] = "EditLine wrapper";
|
||||||
static int libedit_history_start = 0;
|
static int libedit_history_start = 0;
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK
|
||||||
static void
|
static void
|
||||||
on_completion_display_matches_hook(char **matches,
|
on_completion_display_matches_hook(char **matches,
|
||||||
int num_matches, int max_length);
|
int num_matches, int max_length);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Memory allocated for rl_completer_word_break_characters
|
/* Memory allocated for rl_completer_word_break_characters
|
||||||
(see issue #17289 for the motivation). */
|
(see issue #17289 for the motivation). */
|
||||||
|
@ -774,6 +775,7 @@ on_pre_input_hook()
|
||||||
|
|
||||||
/* C function to call the Python completion_display_matches */
|
/* C function to call the Python completion_display_matches */
|
||||||
|
|
||||||
|
#ifdef HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK
|
||||||
static void
|
static void
|
||||||
on_completion_display_matches_hook(char **matches,
|
on_completion_display_matches_hook(char **matches,
|
||||||
int num_matches, int max_length)
|
int num_matches, int max_length)
|
||||||
|
@ -874,6 +876,7 @@ on_completion(const char *text, int state)
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* A more flexible constructor that saves the "begidx" and "endidx"
|
/* A more flexible constructor that saves the "begidx" and "endidx"
|
||||||
|
|
|
@ -26,7 +26,9 @@ static int tk_load_failed;
|
||||||
int
|
int
|
||||||
Tcl_AppInit(Tcl_Interp *interp)
|
Tcl_AppInit(Tcl_Interp *interp)
|
||||||
{
|
{
|
||||||
|
#ifdef WITH_MOREBUTTONS
|
||||||
Tk_Window main_window;
|
Tk_Window main_window;
|
||||||
|
#endif
|
||||||
const char *_tkinter_skip_tk_init;
|
const char *_tkinter_skip_tk_init;
|
||||||
#ifdef TKINTER_PROTECT_LOADTK
|
#ifdef TKINTER_PROTECT_LOADTK
|
||||||
const char *_tkinter_tk_failed;
|
const char *_tkinter_tk_failed;
|
||||||
|
@ -111,7 +113,11 @@ Tcl_AppInit(Tcl_Interp *interp)
|
||||||
return TCL_ERROR;
|
return TCL_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef WITH_MOREBUTTONS
|
||||||
main_window = Tk_MainWindow(interp);
|
main_window = Tk_MainWindow(interp);
|
||||||
|
#else
|
||||||
|
Tk_MainWindow(interp);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef TK_AQUA
|
#ifdef TK_AQUA
|
||||||
TkMacOSXInitAppleEvents(interp);
|
TkMacOSXInitAppleEvents(interp);
|
||||||
|
|
|
@ -2256,7 +2256,7 @@ PyMethod_New(PyObject *func, PyObject *self, PyObject *klass)
|
||||||
im = free_list;
|
im = free_list;
|
||||||
if (im != NULL) {
|
if (im != NULL) {
|
||||||
free_list = (PyMethodObject *)(im->im_self);
|
free_list = (PyMethodObject *)(im->im_self);
|
||||||
PyObject_INIT(im, &PyMethod_Type);
|
(void)PyObject_INIT(im, &PyMethod_Type);
|
||||||
numfree--;
|
numfree--;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -239,7 +239,7 @@ PyComplex_FromCComplex(Py_complex cval)
|
||||||
op = (PyComplexObject *) PyObject_MALLOC(sizeof(PyComplexObject));
|
op = (PyComplexObject *) PyObject_MALLOC(sizeof(PyComplexObject));
|
||||||
if (op == NULL)
|
if (op == NULL)
|
||||||
return PyErr_NoMemory();
|
return PyErr_NoMemory();
|
||||||
PyObject_INIT(op, &PyComplex_Type);
|
(void)PyObject_INIT(op, &PyComplex_Type);
|
||||||
op->cval = cval;
|
op->cval = cval;
|
||||||
return (PyObject *) op;
|
return (PyObject *) op;
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,7 +149,7 @@ PyFloat_FromDouble(double fval)
|
||||||
/* Inline PyObject_New */
|
/* Inline PyObject_New */
|
||||||
op = free_list;
|
op = free_list;
|
||||||
free_list = (PyFloatObject *)Py_TYPE(op);
|
free_list = (PyFloatObject *)Py_TYPE(op);
|
||||||
PyObject_INIT(op, &PyFloat_Type);
|
(void)PyObject_INIT(op, &PyFloat_Type);
|
||||||
op->ob_fval = fval;
|
op->ob_fval = fval;
|
||||||
return (PyObject *) op;
|
return (PyObject *) op;
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,7 +107,7 @@ PyInt_FromLong(long ival)
|
||||||
/* Inline PyObject_New */
|
/* Inline PyObject_New */
|
||||||
v = free_list;
|
v = free_list;
|
||||||
free_list = (PyIntObject *)Py_TYPE(v);
|
free_list = (PyIntObject *)Py_TYPE(v);
|
||||||
PyObject_INIT(v, &PyInt_Type);
|
(void)PyObject_INIT(v, &PyInt_Type);
|
||||||
v->ob_ival = ival;
|
v->ob_ival = ival;
|
||||||
return (PyObject *) v;
|
return (PyObject *) v;
|
||||||
}
|
}
|
||||||
|
@ -1466,7 +1466,7 @@ _PyInt_Init(void)
|
||||||
/* PyObject_New is inlined */
|
/* PyObject_New is inlined */
|
||||||
v = free_list;
|
v = free_list;
|
||||||
free_list = (PyIntObject *)Py_TYPE(v);
|
free_list = (PyIntObject *)Py_TYPE(v);
|
||||||
PyObject_INIT(v, &PyInt_Type);
|
(void)PyObject_INIT(v, &PyInt_Type);
|
||||||
v->ob_ival = ival;
|
v->ob_ival = ival;
|
||||||
small_ints[ival + NSMALLNEGINTS] = v;
|
small_ints[ival + NSMALLNEGINTS] = v;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ PyCFunction_NewEx(PyMethodDef *ml, PyObject *self, PyObject *module)
|
||||||
op = free_list;
|
op = free_list;
|
||||||
if (op != NULL) {
|
if (op != NULL) {
|
||||||
free_list = (PyCFunctionObject *)(op->m_self);
|
free_list = (PyCFunctionObject *)(op->m_self);
|
||||||
PyObject_INIT(op, &PyCFunction_Type);
|
(void)PyObject_INIT(op, &PyCFunction_Type);
|
||||||
numfree--;
|
numfree--;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -88,7 +88,7 @@ PyString_FromStringAndSize(const char *str, Py_ssize_t size)
|
||||||
op = (PyStringObject *)PyObject_MALLOC(PyStringObject_SIZE + size);
|
op = (PyStringObject *)PyObject_MALLOC(PyStringObject_SIZE + size);
|
||||||
if (op == NULL)
|
if (op == NULL)
|
||||||
return PyErr_NoMemory();
|
return PyErr_NoMemory();
|
||||||
PyObject_INIT_VAR(op, &PyString_Type, size);
|
(void)PyObject_INIT_VAR(op, &PyString_Type, size);
|
||||||
op->ob_shash = -1;
|
op->ob_shash = -1;
|
||||||
op->ob_sstate = SSTATE_NOT_INTERNED;
|
op->ob_sstate = SSTATE_NOT_INTERNED;
|
||||||
if (str != NULL)
|
if (str != NULL)
|
||||||
|
@ -143,7 +143,7 @@ PyString_FromString(const char *str)
|
||||||
op = (PyStringObject *)PyObject_MALLOC(PyStringObject_SIZE + size);
|
op = (PyStringObject *)PyObject_MALLOC(PyStringObject_SIZE + size);
|
||||||
if (op == NULL)
|
if (op == NULL)
|
||||||
return PyErr_NoMemory();
|
return PyErr_NoMemory();
|
||||||
PyObject_INIT_VAR(op, &PyString_Type, size);
|
(void)PyObject_INIT_VAR(op, &PyString_Type, size);
|
||||||
op->ob_shash = -1;
|
op->ob_shash = -1;
|
||||||
op->ob_sstate = SSTATE_NOT_INTERNED;
|
op->ob_sstate = SSTATE_NOT_INTERNED;
|
||||||
Py_MEMCPY(op->ob_sval, str, size+1);
|
Py_MEMCPY(op->ob_sval, str, size+1);
|
||||||
|
@ -1061,7 +1061,7 @@ string_concat(register PyStringObject *a, register PyObject *bb)
|
||||||
op = (PyStringObject *)PyObject_MALLOC(PyStringObject_SIZE + size);
|
op = (PyStringObject *)PyObject_MALLOC(PyStringObject_SIZE + size);
|
||||||
if (op == NULL)
|
if (op == NULL)
|
||||||
return PyErr_NoMemory();
|
return PyErr_NoMemory();
|
||||||
PyObject_INIT_VAR(op, &PyString_Type, size);
|
(void)PyObject_INIT_VAR(op, &PyString_Type, size);
|
||||||
op->ob_shash = -1;
|
op->ob_shash = -1;
|
||||||
op->ob_sstate = SSTATE_NOT_INTERNED;
|
op->ob_sstate = SSTATE_NOT_INTERNED;
|
||||||
Py_MEMCPY(op->ob_sval, a->ob_sval, Py_SIZE(a));
|
Py_MEMCPY(op->ob_sval, a->ob_sval, Py_SIZE(a));
|
||||||
|
@ -1103,7 +1103,7 @@ string_repeat(register PyStringObject *a, register Py_ssize_t n)
|
||||||
op = (PyStringObject *)PyObject_MALLOC(PyStringObject_SIZE + nbytes);
|
op = (PyStringObject *)PyObject_MALLOC(PyStringObject_SIZE + nbytes);
|
||||||
if (op == NULL)
|
if (op == NULL)
|
||||||
return PyErr_NoMemory();
|
return PyErr_NoMemory();
|
||||||
PyObject_INIT_VAR(op, &PyString_Type, size);
|
(void)PyObject_INIT_VAR(op, &PyString_Type, size);
|
||||||
op->ob_shash = -1;
|
op->ob_shash = -1;
|
||||||
op->ob_sstate = SSTATE_NOT_INTERNED;
|
op->ob_sstate = SSTATE_NOT_INTERNED;
|
||||||
op->ob_sval[size] = '\0';
|
op->ob_sval[size] = '\0';
|
||||||
|
|
|
@ -791,7 +791,7 @@ PyType_GenericAlloc(PyTypeObject *type, Py_ssize_t nitems)
|
||||||
Py_INCREF(type);
|
Py_INCREF(type);
|
||||||
|
|
||||||
if (type->tp_itemsize == 0)
|
if (type->tp_itemsize == 0)
|
||||||
PyObject_INIT(obj, type);
|
(void)PyObject_INIT(obj, type);
|
||||||
else
|
else
|
||||||
(void) PyObject_INIT_VAR((PyVarObject *)obj, type, nitems);
|
(void) PyObject_INIT_VAR((PyVarObject *)obj, type, nitems);
|
||||||
|
|
||||||
|
|
|
@ -347,7 +347,7 @@ PyUnicodeObject *_PyUnicode_New(Py_ssize_t length)
|
||||||
size_t new_size = sizeof(Py_UNICODE) * ((size_t)length + 1);
|
size_t new_size = sizeof(Py_UNICODE) * ((size_t)length + 1);
|
||||||
unicode->str = (Py_UNICODE*) PyObject_MALLOC(new_size);
|
unicode->str = (Py_UNICODE*) PyObject_MALLOC(new_size);
|
||||||
}
|
}
|
||||||
PyObject_INIT(unicode, &PyUnicode_Type);
|
(void)PyObject_INIT(unicode, &PyUnicode_Type);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
size_t new_size;
|
size_t new_size;
|
||||||
|
|
|
@ -283,6 +283,7 @@ compile_atom(labellist *ll, nfa *nf, node *n, int *pa, int *pb)
|
||||||
|
|
||||||
REQ(n, ATOM);
|
REQ(n, ATOM);
|
||||||
i = n->n_nchildren;
|
i = n->n_nchildren;
|
||||||
|
(void)i; /* Don't warn about set but unused */
|
||||||
REQN(i, 1);
|
REQN(i, 1);
|
||||||
n = n->n_child;
|
n = n->n_child;
|
||||||
if (n->n_type == LPAR) {
|
if (n->n_type == LPAR) {
|
||||||
|
|
Loading…
Reference in New Issue