From: Willy Tarreau Date: Thu, 10 Sep 2020 06:33:01 +0000 (+0200) Subject: BUILD: compiler: reserve the gcc version checks to the gcc compiler X-Git-Tag: v2.3-dev4~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d9537f6082b4ddacbfb0604b291c83c5256d223d;p=thirdparty%2Fhaproxy.git BUILD: compiler: reserve the gcc version checks to the gcc compiler Some checks on __GNUC__ imply that if it's undefined it will match a low value but that's not always what we want, like for example in the VAR_ARRAY definition which is not needed on tcc. Let's always be explicit on these tests. --- diff --git a/include/haproxy/compiler.h b/include/haproxy/compiler.h index dbfcb62286..fcf0d9306c 100644 --- a/include/haproxy/compiler.h +++ b/include/haproxy/compiler.h @@ -27,7 +27,7 @@ * Gcc before 3.0 needs [0] to declare a variable-size array */ #ifndef VAR_ARRAY -#if __GNUC__ < 3 +#if defined(__GNUC__) && (__GNUC__ < 3) #define VAR_ARRAY 0 #else #define VAR_ARRAY @@ -39,7 +39,7 @@ * respect our choices. */ #if !defined(forceinline) -#if __GNUC__ < 3 +#if !defined(__GNUC__) || (__GNUC__ < 3) #define forceinline inline #else #define forceinline inline __attribute__((always_inline)) @@ -89,7 +89,7 @@ * generally better for the cache and to reduce the number of jumps. */ #if !defined(likely) -#if __GNUC__ < 3 +#if !defined(__GNUC__) || (__GNUC__ < 3) #define __builtin_expect(x,y) (x) #define likely(x) (x) #define unlikely(x) (x)