[Python-Dev] Py_DECREF causes spurious gcc warning

Edward C. Jones edcjones at erols.com
Wed Dec 17 17:41:20 EST 2003

I use Gentoo 1.4 Linux with gcc 3.2.2. The C program given below gives 
the following compiler message:

silly.c: In function `silly':
silly.c:5: warning: suggest explicit braces to avoid ambiguous `else'

I doubt if there is any bug in Py_DECREF. But would it be possible to 
jiggle the Py_DECREF macros to suppress this message? In my real code, 
I, of course, just added braces.

#include </usr/local/include/python2.3/Python.h>

static PyObject* silly(PyObject* obj, PyObject *args)
     if (1)
     return NULL;

static PyMethodDef silly_Methods[] = {
     {"silly", silly, METH_VARARGS, ""},
     {NULL, NULL, 0, NULL}   /* sentinel */

void initsilly(void)
     (void) Py_InitModule("silly", silly_Methods);

More information about the Python-Dev mailing list