From 95d6e0b2830c8e6bfd861042f6df6343891d5843 Mon Sep 17 00:00:00 2001 From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com> Date: Mon, 25 Aug 2025 22:59:52 +0200 Subject: [PATCH] GH-131033: Enable the optimizing macros UNLIKELY and LIKELY for Clang (GH-131019) This includes clang-cl on Windows, which does not define the GCC version that was previously being checked. --- Objects/obmalloc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c index deb7fd957e57..2b95ebbf8e5a 100644 --- a/Objects/obmalloc.c +++ b/Objects/obmalloc.c @@ -1523,9 +1523,9 @@ PyObject_Free(void *ptr) } -/* If we're using GCC, use __builtin_expect() to reduce overhead of +/* Use __builtin_expect() where available to reduce overhead of the valgrind checks */ -#if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__) +#if (defined(__clang__) || (defined(__GNUC__) && (__GNUC__ > 2))) && defined(__OPTIMIZE__) # define UNLIKELY(value) __builtin_expect((value), 0) # define LIKELY(value) __builtin_expect((value), 1) #else -- 2.47.3