summaryrefslogtreecommitdiffstats
path: root/Include/internal
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2024-09-06 13:52:07 (GMT)
committerGitHub <noreply@github.com>2024-09-06 13:52:07 (GMT)
commitef4b69d2becf49daaea21eb04effee81328a0393 (patch)
tree42d86e921b5008c6ae5d10cc09065e067dc8356b /Include/internal
parente95984826eb3cdb3a3baedb2ccea35e11e9f8161 (diff)
downloadcpython-ef4b69d2becf49daaea21eb04effee81328a0393.zip
cpython-ef4b69d2becf49daaea21eb04effee81328a0393.tar.gz
cpython-ef4b69d2becf49daaea21eb04effee81328a0393.tar.bz2
gh-123747: Avoid static_assert() in internal header files (#123779)
Diffstat (limited to 'Include/internal')
-rw-r--r--Include/internal/pycore_code.h5
-rw-r--r--Include/internal/pycore_long.h8
2 files changed, 9 insertions, 4 deletions
diff --git a/Include/internal/pycore_code.h b/Include/internal/pycore_code.h
index 112e880..57e0a14 100644
--- a/Include/internal/pycore_code.h
+++ b/Include/internal/pycore_code.h
@@ -543,8 +543,9 @@ write_location_entry_start(uint8_t *ptr, int code, int length)
#define ADAPTIVE_COOLDOWN_BACKOFF 0
// Can't assert this in pycore_backoff.h because of header order dependencies
-static_assert(SIDE_EXIT_INITIAL_VALUE > ADAPTIVE_COOLDOWN_VALUE,
- "Cold exit value should be larger than adaptive cooldown value");
+#if SIDE_EXIT_INITIAL_VALUE <= ADAPTIVE_COOLDOWN_VALUE
+# error "Cold exit value should be larger than adaptive cooldown value"
+#endif
static inline _Py_BackoffCounter
adaptive_counter_bits(uint16_t value, uint16_t backoff) {
diff --git a/Include/internal/pycore_long.h b/Include/internal/pycore_long.h
index 2c7ca67..a516a3e 100644
--- a/Include/internal/pycore_long.h
+++ b/Include/internal/pycore_long.h
@@ -178,8 +178,12 @@ PyAPI_FUNC(int) _PyLong_Size_t_Converter(PyObject *, void *);
* we define them to the numbers in both places and then assert that
* they're the same.
*/
-static_assert(SIGN_MASK == _PyLong_SIGN_MASK, "SIGN_MASK does not match _PyLong_SIGN_MASK");
-static_assert(NON_SIZE_BITS == _PyLong_NON_SIZE_BITS, "NON_SIZE_BITS does not match _PyLong_NON_SIZE_BITS");
+#if SIGN_MASK != _PyLong_SIGN_MASK
+# error "SIGN_MASK does not match _PyLong_SIGN_MASK"
+#endif
+#if NON_SIZE_BITS != _PyLong_NON_SIZE_BITS
+# error "NON_SIZE_BITS does not match _PyLong_NON_SIZE_BITS"
+#endif
/* All *compact" values are guaranteed to fit into
* a Py_ssize_t with at least one bit to spare.