mirror of https://github.com/python/cpython
gh-107249: Implement Py_UNUSED() for MSVC (#107250)
Fix warnings C4100 in Py_UNUSED() when Python is built with "cl /W4". Example with this function included by Python.h: static inline unsigned int PyUnicode_IS_READY(PyObject* Py_UNUSED(op)) { return 1; } Without this change, building a C program with "cl /W4" which just includes Python.h emits the warning: Include\cpython/unicodeobject.h(199): warning C4100: '_unused_op': unreferenced formal parameter This change fix this warning.
This commit is contained in:
parent
fabcbe9c12
commit
6a43cce32b
|
@ -118,6 +118,15 @@
|
||||||
*/
|
*/
|
||||||
#if defined(__GNUC__) || defined(__clang__)
|
#if defined(__GNUC__) || defined(__clang__)
|
||||||
# define Py_UNUSED(name) _unused_ ## name __attribute__((unused))
|
# define Py_UNUSED(name) _unused_ ## name __attribute__((unused))
|
||||||
|
#elif defined(_MSC_VER)
|
||||||
|
// Disable warning C4100: unreferenced formal parameter,
|
||||||
|
// declare the parameter,
|
||||||
|
// restore old compiler warnings.
|
||||||
|
# define Py_UNUSED(name) \
|
||||||
|
__pragma(warning(push)) \
|
||||||
|
__pragma(warning(suppress: 4100)) \
|
||||||
|
_unused_ ## name \
|
||||||
|
__pragma(warning(pop))
|
||||||
#else
|
#else
|
||||||
# define Py_UNUSED(name) _unused_ ## name
|
# define Py_UNUSED(name) _unused_ ## name
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Implement the :c:macro:`Py_UNUSED` macro for Windows MSVC compiler. Patch by
|
||||||
|
Victor Stinner.
|
Loading…
Reference in New Issue