mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-23 02:06:48 +08:00
Centralize workaround for Python 2.6's Py_DECREF.
Wrap/redefine Py_DECREF ourselves, avoiding the need for uses to care about extra braces due to the fact that Python only started wrapping Py_DECREF in 'do {} while (0)' after 2.6. gdb/ 2013-05-21 Pedro Alves <palves@redhat.com> * python/py-utils.c (py_decref): Remove extra braces. (gdb_pymodule_addobject): Remove extra braces. * python-internal.h (gdb_Py_DECREF): New static inline function. (Py_DECREF): Redefine as calling gdb_Py_DECREF.
This commit is contained in:
@ -169,6 +169,18 @@ typedef unsigned long gdb_py_ulongest;
|
||||
|
||||
#endif /* HAVE_LONG_LONG */
|
||||
|
||||
/* Python 2.6 did not wrap Py_DECREF in 'do {...} while (0)', leading
|
||||
to 'suggest explicit braces to avoid ambiguous ‘else’' gcc errors.
|
||||
Wrap it ourselves, so that callers don't need to care. */
|
||||
|
||||
static inline void
|
||||
gdb_Py_DECREF (void *op)
|
||||
{
|
||||
Py_DECREF (op);
|
||||
}
|
||||
|
||||
#undef Py_DECREF
|
||||
#define Py_DECREF(op) gdb_Py_DECREF (op)
|
||||
|
||||
/* In order to be able to parse symtab_and_line_to_sal_object function
|
||||
a real symtab_and_line structure is needed. */
|
||||
|
Reference in New Issue
Block a user