From: Daniel Stenberg Date: Tue, 12 Jul 2022 13:57:02 +0000 (+0200) Subject: easy_lock: fix build with icc X-Git-Tag: curl-7_85_0~168 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e0c68f02552511df57f2afec2e62bc3ee684e12f;p=thirdparty%2Fcurl.git easy_lock: fix build with icc The Intel compiler tries to look like GCC *and* clang *and* it lies in its __has_builtin() function (returns true when it should return false), so override it. Reported-by: Matthew Thompson Fixes #9081 Closes #9144 --- diff --git a/lib/easy_lock.h b/lib/easy_lock.h index 808610f8e5..4c22be5f8a 100644 --- a/lib/easy_lock.h +++ b/lib/easy_lock.h @@ -61,6 +61,10 @@ typedef PVOID SRWLOCK, *PSRWLOCK; #define __has_builtin(x) 0 #endif +#ifndef __INTEL_COMPILER +/* The Intel compiler tries to look like GCC *and* clang *and* lies in its + __has_builtin() function, so override it. */ + /* if GCC on i386/x86_64 or if the built-in is present */ #if ( (defined(__GNUC__) && !defined(__clang__)) && \ (defined(__i386__) || defined(__x86_64__))) || \ @@ -68,6 +72,8 @@ typedef PVOID SRWLOCK, *PSRWLOCK; #define HAVE_BUILTIN_IA32_PAUSE #endif +#endif + static inline void curl_simple_lock_lock(curl_simple_lock *lock) { for(;;) {