]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-105059: Fix MSCV compiler warning on PyObject union (#107239)
authorVictor Stinner <vstinner@python.org>
Tue, 25 Jul 2023 14:45:38 +0000 (16:45 +0200)
committerGitHub <noreply@github.com>
Tue, 25 Jul 2023 14:45:38 +0000 (16:45 +0200)
Use pragma to ignore the MSCV compiler warning on the PyObject
nameless union.

Include/object.h

index 2488d6cd0d40e655b0015e7b57c7300351abe590..e26cedf8ca3c97bcb587bea30d8970a0078e43ea 100644 (file)
@@ -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;
 };