From f0614ca9801d0768094570b784d2b26936bcca34 Mon Sep 17 00:00:00 2001 From: Pablo Galindo Salgado Date: Mon, 9 May 2022 18:38:38 +0100 Subject: [PATCH] gh-91731: Add macro compatibility for static_assert for old libcs (GH-92559) --- Include/pymacro.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Include/pymacro.h b/Include/pymacro.h index 71d6714afd1..5037bbd0138 100644 --- a/Include/pymacro.h +++ b/Include/pymacro.h @@ -10,6 +10,14 @@ # define static_assert _Static_assert #endif +// static_assert is defined in GLIB from version 2.16. Before it requires +// compiler support (gcc >= 4.6) and is called _Static_assert. +#if (defined(__GLIBC__) \ + && (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 16)) \ + && !defined(static_assert)) +# define static_assert _Static_assert +#endif + /* Minimum value between x and y */ #define Py_MIN(x, y) (((x) > (y)) ? (y) : (x))