[Python-checkins] gh-91782: Define static_assert() macro on FreeBSD (#91787)
vstinner
webhook-mailer at python.org
Thu Apr 21 10:40:44 EDT 2022
https://github.com/python/cpython/commit/1b184c84082530f35c593cb7728752e258371c30
commit: 1b184c84082530f35c593cb7728752e258371c30
branch: main
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2022-04-21T16:40:34+02:00
summary:
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
files:
M Include/pymacro.h
diff --git a/Include/pymacro.h b/Include/pymacro.h
index 2728496976de7..71d6714afd112 100644
--- a/Include/pymacro.h
+++ b/Include/pymacro.h
@@ -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))
More information about the Python-checkins
mailing list