From: Victor Stinner Date: Tue, 25 Jul 2023 14:45:38 +0000 (+0200) Subject: gh-105059: Fix MSCV compiler warning on PyObject union (#107239) X-Git-Tag: v3.13.0a1~1213 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1c8fe9bdb624d356643ee569151a9e4f2963179a;p=thirdparty%2FPython%2Fcpython.git gh-105059: Fix MSCV compiler warning on PyObject union (#107239) Use pragma to ignore the MSCV compiler warning on the PyObject nameless union. --- diff --git a/Include/object.h b/Include/object.h index 2488d6cd0d40..e26cedf8ca3c 100644 --- a/Include/object.h +++ b/Include/object.h @@ -165,10 +165,17 @@ check by comparing the reference count field to the immortality reference count. */ struct _object { _PyObject_HEAD_EXTRA + #if (defined(__GNUC__) || defined(__clang__)) \ && !(defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L) // On C99 and older, anonymous union is a GCC and clang extension __extension__ +#endif +#ifdef _MSC_VER + // Ignore MSC warning C4201: "nonstandard extension used: + // nameless struct/union" + __pragma(warning(push)) + __pragma(warning(disable: 4201)) #endif union { Py_ssize_t ob_refcnt; @@ -176,6 +183,10 @@ struct _object { PY_UINT32_T ob_refcnt_split[2]; #endif }; +#ifdef _MSC_VER + __pragma(warning(pop)) +#endif + PyTypeObject *ob_type; };