mirror of
https://github.com/python/cpython.git
synced 2025-09-27 18:59:43 +00:00
[3.12] gh-105059: Fix MSCV compiler warning on PyObject union (GH-107239) (#107248)
gh-105059: Fix MSCV compiler warning on PyObject union (GH-107239)
Use pragma to ignore the MSCV compiler warning on the PyObject
nameless union.
(cherry picked from commit 1c8fe9bdb6
)
Co-authored-by: Victor Stinner <vstinner@python.org>
This commit is contained in:
parent
e788c0aeeb
commit
9c31d94050
1 changed files with 11 additions and 0 deletions
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue