[PyQt] Dealing with GCC/LLVM warning: zero as null pointer constant [-Wzero-as-null-pointer-constant]

Phil Thompson phil at riverbankcomputing.com
Tue Aug 28 18:38:48 BST 2018


On 28 Aug 2018, at 6:18 pm, BrĂ¼ns, Stefan <Stefan.Bruens at rwth-aachen.de> wrote:
> 
> Hi,
> 
> current versions of GCC and LLVM issue a warning when 0 is used for a null 
> pointer. This is e.g. the case for generated code using sipCallMethod. The 
> prototype of the underlying api_call_method interface is:
> 
> PyObject *(*api_call_method)(int *isErr, PyObject *method, const char *fmt, 
> ....)
> 
> The C++11 way for a correct call would be
> 
> sipCallMethod(nullptr, ....)
> 
> , but this only works for C++11 compliant compilers. I have tried different 
> variants and compilers with godbolt:
> 
> https://godbolt.org/g/6wHC3n
> 
> , and the most portable one seems to be:
> ---
> #if __cplusplus < 201103L
> #define nullptr 0
> #endif
> 
> sipCallMethod(nullptr, ...);
> ---
> 
> Any thoughts on this?

What about MSVC compilers? Do they define __cplusplus and give it proper values?

Phil


More information about the PyQt mailing list