[Python-Dev] what environment variable should contain compiler warning suppression flags?

M.-A. Lemburg mal at egenix.com
Sun Jun 27 01:37:02 CEST 2010


Brett Cannon wrote:
> On Wed, Jun 23, 2010 at 14:53, Brett Cannon <brett at python.org> wrote:
>> I finally realized why clang has not been silencing its warnings about
>> unused return values: I have -Wno-unused-value set in CFLAGS which
>> comes before OPT (which defines -Wall) as set in PY_CFLAGS in
>> Makefile.pre.in.
>>
>> I could obviously set OPT in my environment, but that would override
>> the default OPT settings Python uses. I could put it in EXTRA_CFLAGS,
>> but the README says that's for stuff that tweak binary compatibility.
>>
>> So basically what I am asking is what environment variable should I
>> use? If CFLAGS is correct then does anyone have any issues if I change
>> the order of things for PY_CFLAGS in the Makefile so that CFLAGS comes
>> after OPT?
>>
> 
> Since no one objected I swapped the order in r82259. In case anyone
> else uses clang to compile Python, this means that -Wno-unused-value
> will now work to silence the warning about unused return values that
> is caused by some macros. Probably using -Wno-empty-body is also good
> to avoid all the warnings triggered by the UCS4 macros in cjkcodecs.

I think you need to come up with a different solution and revert
the change...

OPT has historically been the only variable to use for
adjusting the Python C compiler settings.

As the name implies this was usually used to adjust the
optimizer settings, including raising the optimization level
from the default or disabling it.

With your change CFLAGS will always override OPT and thus
any optimization definitions made in OPT will no longer
have an effect.

Note that CFLAGS defines -O2 on many platforms.

In your particular case, you should try setting OPT to
"... -Wno-unused-value ..." (ie. replace -Wall with your
setting).

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Jun 27 2010)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
2010-07-19: EuroPython 2010, Birmingham, UK                21 days to go

::: Try our new mxODBC.Connect Python Database Interface for free ! ::::


   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               http://www.egenix.com/company/contact/


More information about the Python-Dev mailing list