gh-91782: Define static_assert() macro on FreeBSD (#91787)

On FreeBSD, if the static_assert() macro is not defined, define it in
Python until <sys/cdefs.h> supports C11:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255290
This commit is contained in:
Victor Stinner 2022-04-21 16:40:34 +02:00 committed by GitHub
parent 1a2b282f20
commit 1b184c8408
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,6 +1,15 @@
#ifndef Py_PYMACRO_H
#define Py_PYMACRO_H
// gh-91782: On FreeBSD 12, if the _POSIX_C_SOURCE and _XOPEN_SOURCE macros are
// defined, <sys/cdefs.h> disables C11 support and <assert.h> does not define
// the static_assert() macro. Define the static_assert() macro in Python until
// <sys/cdefs.h> suports C11:
// https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255290
#if defined(__FreeBSD__) && !defined(static_assert)
# define static_assert _Static_assert
#endif
/* Minimum value between x and y */
#define Py_MIN(x, y) (((x) > (y)) ? (y) : (x))