[Python-Dev] Py_DECREF causes spurious gcc warning (original) (raw)
Martin v. Löwis martin at v.loewis.de
Sat Dec 20 05:31:18 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 ]
"Zack Weinberg" <zack at codesourcery.com> writes:
It does, however, lead to a different problem:
if (condition) PyDECREF (foo); else // oops, syntax error here
How so? This expands to
if(condition) if(cond2)action1; else action2; else ...
This is perfectly well-formed C, and it groups as my indentation suggests.
There is no real problem with this macro. It is just gcc complaining falsely.
In general I consider it appropriate to wrap all macros that don't return a value in do { ... } while (0), because that way you don't have to worry about which of them truly need it.
Hmm. Yes, this could be done - but it is unfortunate that this needs to be done only to silence gcc.
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 ]