[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