From 6261585d63a31835b65d445d99dc14cca3fe9cf5 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 25 Jul 2023 14:27:48 +0200 Subject: [PATCH] gh-105059: Use GCC/clang extension for PyObject union (#107232) Anonymous union is new in C11. To prevent compiler warning when using -pedantic compiler option, use Clang and GCC extension on C99 and older. --- Include/object.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Include/object.h b/Include/object.h index 7182eba3adfe15..2488d6cd0d40e6 100644 --- a/Include/object.h +++ b/Include/object.h @@ -165,6 +165,11 @@ 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 union { Py_ssize_t ob_refcnt; #if SIZEOF_VOID_P > 4