[Python-Dev] How do we feel about using pragmas and __attribute__ in C code?

Christian Heimes christian at python.org
Fri Dec 13 18:43:20 CET 2013


Am 13.12.2013 18:04, schrieb Brett Cannon:
> http://bugs.python.org/issue12837 deals with the single compiler warning
> left on OS X: a tautalogical compare in socketmodule.c that is valid
> under POSIX. I have a solution that uses pragmas to turn off
> tautological compare warnings for the single 'if' statement that
> triggers it. But there are very few places in Python's code base which
> use pragmas and I have never seen a discussion if we are okay with their
> overall use.

+1

We should aim for zero compiler warnings. You may have to wrap the
pragma in a #ifdef __clang__ block to silence warnings:

http://buildbot.python.org/all/builders/AMD64%20Snow%20Leop%203.x/builds/830/steps/compile/logs/warnings%20%2822%29

> Tying into this and using compiler-specific things in C code, what about
> __attribute__? http://bugs.python.org/issue19298 proposes an idea that
> Daniel Stutzbach originally came up with where we could use __atribute__
> (behind a nicer macro) to help detect refleaks on PyObject* stack
> variables. Would __attribute__ usage be okay in that situation?

+1, too.

Christian



More information about the Python-Dev mailing list