diff options
author | Victor Stinner <vstinner@python.org> | 2023-07-25 17:28:16 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-25 17:28:16 (GMT) |
commit | 6a43cce32b66e0f66992119dd82959069b6f324a (patch) | |
tree | 5dd7b804b5e8c874b8a7b64a7ac6f464e578131a | |
parent | fabcbe9c12688eb9a902a5c89cb720ed373625c5 (diff) | |
download | cpython-6a43cce32b66e0f66992119dd82959069b6f324a.zip cpython-6a43cce32b66e0f66992119dd82959069b6f324a.tar.gz cpython-6a43cce32b66e0f66992119dd82959069b6f324a.tar.bz2 |
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.
-rw-r--r-- | Include/pymacro.h | 9 | ||||
-rw-r--r-- | Misc/NEWS.d/next/C API/2023-07-25-17-23-08.gh-issue-107249.xqk2ke.rst | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/Include/pymacro.h b/Include/pymacro.h index 342d2a7..9d264fe 100644 --- a/Include/pymacro.h +++ b/Include/pymacro.h @@ -118,6 +118,15 @@ */ #if defined(__GNUC__) || defined(__clang__) # 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 # define Py_UNUSED(name) _unused_ ## name #endif diff --git a/Misc/NEWS.d/next/C API/2023-07-25-17-23-08.gh-issue-107249.xqk2ke.rst b/Misc/NEWS.d/next/C API/2023-07-25-17-23-08.gh-issue-107249.xqk2ke.rst new file mode 100644 index 0000000..a713902 --- /dev/null +++ b/Misc/NEWS.d/next/C API/2023-07-25-17-23-08.gh-issue-107249.xqk2ke.rst @@ -0,0 +1,2 @@ +Implement the :c:macro:`Py_UNUSED` macro for Windows MSVC compiler. Patch by +Victor Stinner. |