[Python-Dev] Py_DECREF causes spurious gcc warning (original) (raw)
Martin v. Löwis martin at v.loewis.de
Thu Dec 18 16:27:30 EST 2003
- Previous message: [Python-Dev] Py_DECREF causes spurious gcc warning
- Next message: [Python-Dev] Py_DECREF causes spurious gcc warning
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Skip Montanaro <skip at pobox.com> writes:
I meant the Py*REF macros which expand to "if" statements and you'd bracify the clauses, e.g., PyDECREF would become:
That would still trigger the warning about
if(1) Py_DECREF(foo);
as this expands to
if(1) if(cond(foo)) {action1(foo);} else {action2(foo);}
This, in turn, is potentially unintended, as the author of that code may have meant the else to go with the if(1), whereas, in C, it goes with the if(cond(foo)). As Tim explains, the intended semantics is the desired one, too, so there is really no problem in the code. As Tim also explains, do{}while(1) would silence the warning.
Regards, Martin
- Previous message: [Python-Dev] Py_DECREF causes spurious gcc warning
- Next message: [Python-Dev] Py_DECREF causes spurious gcc warning
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]