diff -r 8b3f4473432e setup.rst --- a/setup.rst Sun Jun 05 12:07:18 2016 -0700 +++ b/setup.rst Wed Jun 08 21:40:41 2016 +0200 @@ -182,6 +182,7 @@ root access is beyond the scope of this guide. .. _clang: http://clang.llvm.org/ +.. _ccache: https://ccache.samba.org/ .. note:: While you need a C compiler to build CPython, you don't need any knowledge of the C language to contribute! Vast areas of CPython are @@ -247,6 +248,12 @@ ``-Wno-unused-value -Wno-empty-body -Qunused-arguments``. You can set your ``CFLAGS`` environment variable to these flags when running ``configure``. +If you are using clang_ with ccache_, turn off the noisy +``parentheses-equality`` warnings with the ``-Wno-parentheses-equality`` flag. +These warnings are caused by clang not having enough information to detect +that extraneous parentheses in expanded macros are valid because the +preprocessing is done separately by ccache. + If you are using LLVM 2.8, also use the ``-no-integrated-as`` flag in order to build the :py:mod:`ctypes` module (without the flag the rest of CPython will still build properly).