From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com> Date: Mon, 25 Aug 2025 20:59:52 +0000 (+0200) Subject: GH-131033: Enable the optimizing macros UNLIKELY and LIKELY for Clang (GH-131019) X-Git-Tag: v3.15.0a1~592 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=95d6e0b2830c8e6bfd861042f6df6343891d5843;p=thirdparty%2FPython%2Fcpython.git 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. --- 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